X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FLetter.pm;h=0753d67590d42b1f2f42b95b4db56c3b4a41efb2;hb=8a47996aaf3e91db6b21ee147c2cc269ee1d3e6d;hp=02b54cde88d65b37f117594955edd3950c5d7734;hpb=e83604f2c7d6d499d9db8d066cc7f637e6f609de;p=kivitendo-erp.git diff --git a/SL/DB/Letter.pm b/SL/DB/Letter.pm index 02b54cde8..0753d6759 100644 --- a/SL/DB/Letter.pm +++ b/SL/DB/Letter.pm @@ -3,18 +3,10 @@ package SL::DB::Letter; use strict; use SL::DB::Helper::AttrHTML; +use SL::DB::Helper::LinkedRecords; use SL::DB::MetaSetup::Letter; use SL::DB::Manager::Letter; -__PACKAGE__->meta->add_relationships( - customer => { - type => 'many to one', - class => 'SL::DB::Customer', - column_map => { vc_id => 'id' }, - }, - -); - __PACKAGE__->meta->initialize; __PACKAGE__->attr_html('body'); @@ -36,4 +28,28 @@ sub new_from_draft { $self; } +sub is_sales { + die 'not an accessor' if @_ > 1; + $_[0]{customer_id} * 1; +} + +sub has_customer_vendor { + my ($self) = @_; + die 'not an accessor' if @_ > 1; + + return $self->is_sales + ? ($self->customer_id && $self->customer) + : ($self->vendor_id && $self->vendor); +} + +sub customer_vendor { + die 'not an accessor' if @_ > 1; + $_[0]->is_sales ? $_[0]->customer : $_[0]->vendor; +} + +sub customer_vendor_id { + die 'not an accessor' if @_ > 1; + $_[0]->customer_id || $_[0]->vendor_id; +} + 1;