]> wagnertech.de Git - mfinanz.git/blob - SL/DB/InvoiceItem.pm
Merge branch 'master' of http://wagnertech.de/git/mfinanz
[mfinanz.git] / SL / DB / InvoiceItem.pm
1 package SL::DB::InvoiceItem;
2
3 use strict;
4
5 use SL::DB::MetaSetup::InvoiceItem;
6 use SL::DB::Manager::InvoiceItem;
7 use SL::DB::Helper::ActsAsList;
8 use SL::DB::Helper::AttrHTML;
9 use SL::DB::Helper::LinkedRecords;
10 use SL::DB::Helper::RecordItem;
11 use SL::DB::Helper::CustomVariables (
12   sub_module  => 'invoice',
13   cvars_alias => 1,
14   overloads   => {
15     parts_id => {
16      class => 'SL::DB::Part',
17      module => 'IC',
18     },
19   },
20 );
21 use Rose::DB::Object::Helpers qw(as_tree strip);
22
23 __PACKAGE__->configure_acts_as_list(group_by => [qw(trans_id)]);
24
25 __PACKAGE__->meta->add_relationships(
26   invoice          => {
27     type           => 'one to one',
28     class          => 'SL::DB::Invoice',
29     column_map     => { trans_id => 'id' },
30   },
31
32   purchase_invoice => {
33     type           => 'one to one',
34     class          => 'SL::DB::PurchaseInvoice',
35     column_map     => { trans_id => 'id' },
36   },
37 );
38
39 __PACKAGE__->meta->initialize;
40
41 __PACKAGE__->attr_html('longdescription');
42
43 sub record {
44   my ($self) = @_;
45
46   return $self->invoice          if $self->invoice;
47   return $self->purchase_invoice if $self->purchase_invoice;
48   return;
49 };
50
51 1;