Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a31c242b

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

  • ID a31c242ba2cd8539d437aa50d7b8e4f04d6594e0
  • Vorgänger 4989537e
  • Nachfolger c888c8a7

RecordLink: post save hook für alle Hauptbelege

Unterschiede anzeigen:

SL/DB/DeliveryOrder.pm
use SL::DB::Helper::FlattenToForm;
use SL::DB::Helper::LinkedRecords;
use SL::DB::Helper::TransNumberGenerator;
use SL::DB::Helper::RecordLink qw(RECORD_ID RECORD_TYPE_REF);
use SL::DB::Part;
use SL::DB::Unit;
......
__PACKAGE__->attr_sorted('items');
__PACKAGE__->before_save('_before_save_set_donumber');
__PACKAGE__->after_save('_after_save_link_records');
# hooks
......
return 1;
}
sub _after_save_link_records {
my ($self) = @_;
my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order);
my @allowed_item_sources = qw(SL::DB::ReclamationItem SL::DB::OrderItem);
SL::DB::Helper::RecordLink::link_records(
$self,
\@allowed_record_sources,
\@allowed_item_sources,
close_source_quotations => 1,
);
}
# methods
sub items { goto &orderitems; }
SL/DB/Invoice.pm
use SL::DB::Helper::PDF_A;
use SL::DB::Helper::PriceTaxCalculator;
use SL::DB::Helper::PriceUpdater;
use SL::DB::Helper::RecordLink qw(RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
use SL::DB::Helper::SalesPurchaseInvoice;
use SL::DB::Helper::TransNumberGenerator;
use SL::DB::Helper::ZUGFeRD;
......
__PACKAGE__->attr_sorted('items');
__PACKAGE__->before_save('_before_save_set_invnumber');
__PACKAGE__->after_save('_after_save_link_records');
# hooks
......
return 1;
}
sub _after_save_link_records {
my ($self) = @_;
my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order SL::DB::DeliveryOrder);
my @allowed_item_sources = qw(SL::DB::ReclamationItem SL::DB::OrderItem SL::DB::DeliveryOrderItem);
SL::DB::Helper::RecordLink::link_records(
$self,
\@allowed_record_sources,
\@allowed_item_sources,
close_source_quotations => 1,
);
}
# methods
sub items { goto &invoiceitems; }
SL/DB/Order.pm
use SL::DB::Helper::PriceUpdater;
use SL::DB::Helper::TransNumberGenerator;
use SL::DB::Helper::Payment qw(forex);
use SL::DB::Helper::RecordLink qw(RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
use SL::Locale::String qw(t8);
use SL::RecordLinks;
use Rose::DB::Object::Helpers qw(as_tree strip);
......
__PACKAGE__->before_save('_before_save_create_new_project');
__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');
# hooks
......
return 1;
}
sub _after_save_link_records {
my ($self) = @_;
my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order);
my @allowed_item_sources = qw(SL::DB::ReclamationItem SL::DB::OrderItem);
SL::DB::Helper::RecordLink::link_records(
$self,
\@allowed_record_sources,
\@allowed_item_sources,
close_source_quotations => 1,
);
}
# methods
sub items { goto &orderitems; }
SL/DB/PurchaseInvoice.pm
use SL::DB::Helper::AttrSorted;
use SL::DB::Helper::LinkedRecords;
use SL::DB::Helper::Payment qw(:ALL);
use SL::DB::Helper::RecordLink qw(RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
use SL::DB::Helper::SalesPurchaseInvoice;
use SL::Locale::String qw(t8);
use Rose::DB::Object::Helpers qw(has_loaded_related forget_related as_tree strip);
......
__PACKAGE__->attr_html('notes');
__PACKAGE__->attr_sorted('items');
__PACKAGE__->after_save('_after_save_link_records');
# hooks
sub _after_save_link_records {
my ($self) = @_;
my @allowed_record_sources = qw(SL::DB::Reclamation SL::DB::Order);
my @allowed_item_sources = qw(SL::DB::ReclamationItem SL::DB::OrderItem);
SL::DB::Helper::RecordLink::link_records(
$self,
\@allowed_record_sources,
\@allowed_item_sources,
close_source_quotations => 1,
);
}
# methods
sub items { goto &invoiceitems; }
sub add_items { goto &add_invoiceitems; }
sub record_number { goto &invnumber; };

Auch abrufbar als: Unified diff