Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9b3a6024

Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt

  • ID 9b3a6024c45dbaf34a50b01b1aafc0dd242e13a4
  • Vorgänger 631ff72f
  • Nachfolger c32c45bf

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

Unterschiede anzeigen:

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