Revision dbf2d709
Von Sven Schöling vor etwa 2 Jahren hinzugefügt
| SL/Controller/DeliveryOrder.pm | ||
|---|---|---|
|
my $errors = [];
|
||
|
my $db = $self->order->db;
|
||
|
|
||
|
# link records
|
||
|
if ($::form->{converted_from_oe_id}) {
|
||
|
my @converted_from_oe_ids = split ' ', $::form->{converted_from_oe_id};
|
||
|
set_record_link_conversions(
|
||
|
$self->order,
|
||
|
'SL::DB::Order' => \@converted_from_oe_ids,
|
||
|
'SL::DB::OrderItem' => $::form->{converted_from_orderitems_ids},
|
||
|
);
|
||
|
}
|
||
|
if ($::form->{converted_from_reclamation_id}) {
|
||
|
my @converted_from_reclamation_ids = split ' ', $::form->{converted_from_reclamation_id};
|
||
|
set_record_link_conversions(
|
||
|
$self->order,
|
||
|
'SL::DB::Reclamation' => \@converted_from_reclamation_ids,
|
||
|
'SL::DB::ReclamationItem' => $::form->{converted_from_reclamation_items_ids},
|
||
|
);
|
||
|
}
|
||
|
|
||
|
$db->with_transaction(sub {
|
||
|
my $validity_token;
|
||
|
if (!$self->order->id) {
|
||
| ... | ... | |
|
SL::DB::DeliveryOrderItem->new(id => $_)->delete for @{$self->item_ids_to_delete || []};
|
||
|
$self->order->save(cascade => 1);
|
||
|
|
||
|
# link records
|
||
|
if ($::form->{converted_from_oe_id}) {
|
||
|
my @converted_from_oe_ids = split ' ', $::form->{converted_from_oe_id};
|
||
|
set_record_link_conversions(
|
||
|
$self->order,
|
||
|
'SL::DB::Order' => \@converted_from_oe_ids,
|
||
|
'SL::DB::OrderItem' => $::form->{converted_from_orderitems_ids},
|
||
|
);
|
||
|
}
|
||
|
if ($::form->{converted_from_reclamation_id}) {
|
||
|
my @converted_from_reclamation_ids = split ' ', $::form->{converted_from_reclamation_id};
|
||
|
set_record_link_conversions(
|
||
|
$self->order,
|
||
|
'SL::DB::Reclamation' => \@converted_from_reclamation_ids,
|
||
|
'SL::DB::ReclamationItem' => $::form->{converted_from_reclamation_items_ids},
|
||
|
);
|
||
|
}
|
||
|
|
||
|
$self->save_history('SAVED');
|
||
|
|
||
|
$validity_token->delete if $validity_token;
|
||
Auch abrufbar als: Unified diff
RecordLink: in controller vor dem Speichern und ausserhalb der TX behandeln