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;