Revision 51c872e7
Von Sven Schöling vor mehr als 1 Jahr hinzugefügt
SL/BackgroundJob/ConvertTimeRecordings.pm | ||
---|---|---|
$do->save;
|
||
$_->update_attributes(booked => 1) for @{$time_recordings_by_order_id->{$related_order_id}};
|
||
|
||
$related_order->link_to_record($do);
|
||
|
||
# TODO extend link_to_record for items, otherwise long-term no d.r.y.
|
||
foreach my $item (@{ $do->items }) {
|
||
foreach (qw(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' => 'delivery_order_items',
|
||
'to_id' => $item->{id},
|
||
) || die;
|
||
delete $item->{"converted_from_${_}_id"};
|
||
}
|
||
}
|
||
}
|
||
|
||
# update delivered and item's ship for related order
|
||
my $helper = SL::Helper::ShippedQty->new->calculate($related_order)->write_to_objects;
|
||
$related_order->delivered($related_order->{delivered});
|
SL/BackgroundJob/CreatePeriodicInvoices.pm | ||
---|---|---|
|
||
$invoice->post(ar_id => $config->ar_chart_id) || die;
|
||
|
||
$order->link_to_record($invoice);
|
||
|
||
foreach my $item (@{ $invoice->items }) {
|
||
foreach (qw(orderitems)) { # expand if needed (delivery_order_items)
|
||
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"};
|
||
}
|
||
}
|
||
}
|
||
|
||
foreach my $item (grep { ($_->recurring_billing_mode eq 'once') && !$_->recurring_billing_invoice_id } @{ $order->orderitems }) {
|
||
$item->update_attributes(recurring_billing_invoice_id => $invoice->id);
|
||
}
|
Auch abrufbar als: Unified diff
RecordLink: in BackgroundJobs nicht mehr manuell setzen