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