Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 27441deb

Von Sven Schöling vor etwa 2 Jahren hinzugefügt

  • ID 27441deb7335641b6992484630ec724ed7979fbf
  • Vorgänger 6373da0c
  • Nachfolger 47dc096c

RecordLink: converted_from_* Felder in allen convert_to und new_from korrekt setzen.

Das hier benutzt jetzt das neue Reclamation Format. Statt

converted_from_oe_id

wird jetzt

converted_from_record_id
converted_from_record_type_ref = SL::DB::Order

benutzt.

Unterschiede anzeigen:

SL/DB/DeliveryOrder.pm
my $items = delete($params{items}) || $source->items_sorted;
my @items = ( $delivery_order->is_type(SUPPLIER_DELIVERY_ORDER_TYPE) && ref($source) ne 'SL::DB::Reclamation' ) ?
()
: map { SL::DB::DeliveryOrderItem->new_from($_) } @{ $items };
: map { SL::DB::DeliveryOrderItem->new_from($_, %params) } @{ $items };
@items = grep { $params{item_filter}->($_) } @items if $params{item_filter};
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
......
$delivery_order->items(\@items);
unless ($params{no_linked_records}) {
$delivery_order->{ RECORD_ID() } = $source->id;
$delivery_order->{ RECORD_TYPE_REF() } = ref $source;
}
return $delivery_order;
}
......
if (!$self->db->with_transaction(sub {
require SL::DB::Invoice;
$invoice = SL::DB::Invoice->new_from($self, %params)->post || die;
$self->link_to_record($invoice);
# TODO extend link_to_record for items, otherwise long-term no d.r.y.
foreach my $item (@{ $invoice->items }) {
foreach (qw(delivery_order_items)) { # expand if needed (orderitems)
if ($item->{"converted_from_${_}_id"}) {
die unless $item->{id};
RecordLinks->create_links('mode' => 'ids',
'from_table' => $_,
'from_ids' => $item->{"converted_from_${_}_id"},
'to_table' => 'invoice',
'to_id' => $item->{id},
) || die;
delete $item->{"converted_from_${_}_id"};
}
}
}
$self->update_attributes(closed => 1);
1;
})) {

Auch abrufbar als: Unified diff