for my $i (1 .. $form->{rowcount}) {
next if (!$form->{"id_$i"});
+ CVar->get_non_editable_ic_cvars(form => $form,
+ dbh => $dbh,
+ row => $i,
+ sub_module => 'delivery_order_items',
+ may_converted_from => ['orderitems', 'delivery_order_items']);
+
my $position = $i;
- my $cvars;
if (!$form->{"delivery_order_items_id_$i"}) {
# there is no persistent id, therefore create one with all necessary constraints
my $q_item_id = qq|SELECT nextval('delivery_order_items_id')|;
do_query($form, $dbh, $query, conv_i($form->{"delivery_order_items_id_$i"}),
conv_i($form->{"id"}), conv_i($position), conv_i($form->{"id_$i"}));
$h_item_id->finish();
-
- # get values for CVars from master data for new items
- $cvars = CVar->get_custom_variables(dbh => $dbh,
- module => 'IC',
- trans_id => $form->{"id_$i"},
- );
- } else {
- # get values for CVars from custom_variables for existing items
- $cvars = CVar->get_custom_variables(dbh => $dbh,
- module => 'IC',
- sub_module => 'delivery_order_items',
- trans_id => $form->{"delivery_order_items_id_$i"},
- );
}
- # map only non-editable CVars to form (editable ones are already there)
- map { $form->{"ic_cvar_$_->{name}_$i"} = $_->{value} unless $_->{flag_editable} } @{ $cvars };
$form->{"qty_$i"} = $form->parse_amount($myconfig, $form->{"qty_$i"});
name_prefix => 'ic_',
name_postfix => "_$i",
dbh => $dbh);
+
# link order items with doi, for future extension look at foreach IS.pm
- if ($form->{"converted_from_orderitems_id_$i"}) {
+ if (!$form->{saveasnew} && $form->{"converted_from_orderitems_id_$i"}) {
RecordLinks->create_links('dbh' => $dbh,
'mode' => 'ids',
'from_table' => 'orderitems',
'to_table' => 'delivery_order_items',
'to_id' => $form->{"delivery_order_items_id_$i"},
);
- delete $form->{"converted_from_orderitems_id_$i"};
}
+ delete $form->{"converted_from_orderitems_id_$i"};
}
# 1. search for orphaned dois; processed_dois may be empty (no transfer) TODO: be supersafe and alter same statement for doi and oi
}
}
- my $cvars;
- if (! $form->{"delivery_order_items_id_$i"}) {
- # get values for CVars from master data for new items
- $cvars = CVar->get_custom_variables(dbh => $dbh,
- module => 'IC',
- trans_id => $form->{"id_$i"},
- );
- } else {
- # get values for CVars from custom_variables for existing items
- $cvars = CVar->get_custom_variables(dbh => $dbh,
- module => 'IC',
- sub_module => 'delivery_order_items',
- trans_id => $form->{"delivery_order_items_id_$i"},
- );
- }
- # map only non-editable CVars to form (editable ones are already there)
- map { $form->{"ic_cvar_$_->{name}_$i"} = $_->{value} unless $_->{flag_editable} } @{ $cvars };
+ CVar->get_non_editable_ic_cvars(form => $form,
+ dbh => $dbh,
+ row => $i,
+ sub_module => 'delivery_order_items',
+ may_converted_from => ['orderitems', 'delivery_order_items']);
push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} },
CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_)
return $delivered ? 1 : 0;
}
-
1;