Revision 97da4c5d
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt
| SL/DB/Order.pm | ||
|---|---|---|
|
__PACKAGE__->before_save('_before_save_remove_empty_custom_shipto');
|
||
|
__PACKAGE__->before_save('_before_save_set_custom_shipto_module');
|
||
|
__PACKAGE__->after_save('_after_save_link_records');
|
||
|
__PACKAGE__->after_save('_after_save_close_reachable_intakes'); # uses linked records (order matters)
|
||
|
|
||
|
# hooks
|
||
|
|
||
| ... | ... | |
|
);
|
||
|
}
|
||
|
|
||
|
sub _after_save_close_reachable_intakes {
|
||
|
my ($self) = @_;
|
||
|
|
||
|
# Close reachable sales order intakes in the from-workflow if this is a sales order
|
||
|
if (SALES_ORDER_TYPE() eq $self->type) {
|
||
|
my $lr = $self->linked_records(direction => 'from', recursive => 1);
|
||
|
$lr = [grep { 'SL::DB::Order' eq ref $_ && !$_->closed && $_->is_type(SALES_ORDER_INTAKE_TYPE()) } @$lr];
|
||
|
if (@$lr) {
|
||
|
SL::DB::Manager::Order->update_all(set => {closed => 1},
|
||
|
where => [id => [map {$_->id} @$lr]]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# methods
|
||
|
|
||
Auch abrufbar als: Unified diff
S:D:Order: Auftrags-Eingäng schließen, wenn AB erstellt
Wenn eine AB gespeichert wird und im vorhergehenden Workflow ein
AE vorhanden ist, so wird der AE geschlossen.
Umsetzung als after-save-Hook.
Anpassung nach RecordController/Rebase