X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FPurchaseInvoice.pm;h=b3d3500eeba060df0e000784f7b51b6a68d1d5d9;hb=1d34002dbf0a3ee90237f4373229a45ed890cd7f;hp=5123d681ec2ba93ad0783a4eb21ce396e2915cbe;hpb=89c9ff022d3f13e27ba6bda085df15707fcfb0eb;p=kivitendo-erp.git diff --git a/SL/DB/PurchaseInvoice.pm b/SL/DB/PurchaseInvoice.pm index 5123d681e..b3d3500ee 100644 --- a/SL/DB/PurchaseInvoice.pm +++ b/SL/DB/PurchaseInvoice.pm @@ -2,21 +2,65 @@ package SL::DB::PurchaseInvoice; use strict; +use Carp; + use SL::DB::MetaSetup::PurchaseInvoice; use SL::DB::Manager::PurchaseInvoice; use SL::DB::Helper::LinkedRecords; +use SL::Locale::String qw(t8); + # The calculator hasn't been adjusted for purchase invoices yet. # use SL::DB::Helper::PriceTaxCalculator; -__PACKAGE__->meta->add_relationship(invoiceitems => { type => 'one to many', - class => 'SL::DB::InvoiceItem', - column_map => { id => 'trans_id' }, - manager_args => { with_objects => [ 'part' ] } - }, - ); +__PACKAGE__->meta->add_relationship( + invoiceitems => { + type => 'one to many', + class => 'SL::DB::InvoiceItem', + column_map => { id => 'trans_id' }, + manager_args => { with_objects => [ 'part' ] } + }, + sepa_export_items => { + type => 'one to many', + class => 'SL::DB::SepaExportItem', + column_map => { id => 'ap_id' }, + manager_args => { with_objects => [ 'sepa_export' ] } + }, + custom_shipto => { + type => 'one to one', + class => 'SL::DB::Shipto', + column_map => { id => 'trans_id' }, + query_args => [ module => 'AP' ], + }, +); __PACKAGE__->meta->initialize; sub items { goto &invoiceitems; } +sub add_items { goto &add_invoiceitems; } + +sub items_sorted { + my ($self) = @_; + + return [ sort {$a->id <=> $b->id } @{ $self->items } ]; +} + +sub is_sales { + # For compatibility with Order, DeliveryOrder + croak 'not an accessor' if @_ > 1; + return 0; +} + +sub date { + goto &transdate; +} + +sub abbreviation { + my $self = shift; + + return t8('AP Transaction (abbreviation)') if !$self->invoice && !$self->storno; + return t8('AP Transaction (abbreviation)') . '(' . t8('Storno (one letter abbreviation)') . ')' if !$self->invoice && $self->storno; + return t8('Invoice (one letter abbreviation)'). '(' . t8('Storno (one letter abbreviation)') . ')' if $self->storno; + return t8('Invoice (one letter abbreviation)'); +} 1;