Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 97da4c5d

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

  • ID 97da4c5d6a84eea2f78f5f2d32509774ad3389a2
  • Vorgänger fc2d7168
  • Nachfolger 30f8afeb

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