use strict;
use SL::DB::MetaSetup::InvoiceItem;
+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,
},
);
-# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
__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::Invoice',
+ column_map => { trans_id => 'id' },
+ },
+
+ purchase_invoice => {
+ type => 'one to one',
+ class => 'SL::DB::PurchaseInvoice',
+ column_map => { trans_id => 'id' },
+ },
+);
+
__PACKAGE__->meta->initialize;
+sub record {
+ my ($self) = @_;
+
+ return $self->invoice if $self->invoice;
+ return $self->purchase_invoice if $self->purchase_invoice;
+ return;
+};
+
1;