X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FInvoiceItem.pm;h=80c406b772b11afe5bacd6f95b0e2eab7ccd101a;hb=9dfd320ff258071e3ad78dd6cf2d76e215efd4f7;hp=1407c33343ba6726c5fe5f689c4f91f9b443a3c8;hpb=e055700faea1906bea6c03184ba4516b57cac887;p=kivitendo-erp.git diff --git a/SL/DB/InvoiceItem.pm b/SL/DB/InvoiceItem.pm index 1407c3334..80c406b77 100644 --- a/SL/DB/InvoiceItem.pm +++ b/SL/DB/InvoiceItem.pm @@ -3,28 +3,46 @@ package SL::DB::InvoiceItem; use strict; use SL::DB::MetaSetup::InvoiceItem; - -__PACKAGE__->meta->add_relationship( - part => { - type => 'one to one', - class => 'SL::DB::Part', - column_map => { parts_id => 'id' }, +use SL::DB::Helper::ActsAsList; +use SL::DB::Helper::LinkedRecords; +use SL::DB::Helper::RecordItem; +use SL::DB::Helper::CustomVariables ( + sub_module => 'invoice', + cvars_alias => 1, + overloads => { + parts_id => { + class => 'SL::DB::Part', + module => 'IC', + }, }, - price_factor_obj => { +); + +__PACKAGE__->meta->make_manager_class; + +__PACKAGE__->configure_acts_as_list(group_by => [qw(trans_id)]); + +__PACKAGE__->meta->add_relationships( + invoice => { type => 'one to one', - class => 'SL::DB::PriceFactor', - column_map => { price_factor_id => 'id' }, + class => 'SL::DB::Invoice', + column_map => { trans_id => 'id' }, }, - unit_obj => { - type => 'one to one', - class => 'SL::DB::Unit', - column_map => { unit => 'name' }, + + purchase_invoice => { + type => 'one to one', + class => 'SL::DB::PurchaseInvoice', + column_map => { trans_id => 'id' }, }, ); -# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. -__PACKAGE__->meta->make_manager_class; - __PACKAGE__->meta->initialize; +sub record { + my ($self) = @_; + + return $self->invoice if $self->invoice; + return $self->purchase_invoice if $self->purchase_invoice; + return; +}; + 1;