X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FShipto.pm;h=b8868ab1e15a8af03d1850fd41b551bdbf5ef613;hb=0b34e29fb04ad9ac9912f67b767f9f401700ca97;hp=98b7ca139a34ce921f05e3a4a8e9429245418ce3;hpb=82515b2d93dc5632f24d6e0b6f8f05f3fd19fbb0;p=kivitendo-erp.git diff --git a/SL/DB/Shipto.pm b/SL/DB/Shipto.pm index 98b7ca139..b8868ab1e 100644 --- a/SL/DB/Shipto.pm +++ b/SL/DB/Shipto.pm @@ -1,14 +1,15 @@ package SL::DB::Shipto; use strict; -use Readonly; use SL::DB::MetaSetup::Shipto; +use SL::DB::Manager::Shipto; +use Rose::DB::Object::Helpers qw(clone_and_reset clone); -Readonly our @SHIPTO_VARIABLES => qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact - shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2); +our @SHIPTO_VARIABLES = qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact + shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2); -__PACKAGE__->meta->make_manager_class; +__PACKAGE__->meta->initialize; sub displayable_id { my $self = shift; @@ -20,4 +21,23 @@ sub displayable_id { return $text; } +sub used { + my ($self) = @_; + + return unless $self->shipto_id; + + require SL::DB::Order; + require SL::DB::Invoice; + require SL::DB::DeliveryOrder; + + return SL::DB::Manager::Order->get_all_count(query => [ shipto_id => $self->shipto_id ]) + || SL::DB::Manager::Invoice->get_all_count(query => [ shipto_id => $self->shipto_id ]) + || SL::DB::Manager::DeliveryOrder->get_all_count(query => [ shipto_id => $self->shipto_id ]); +} + +sub detach { + $_[0]->trans_id(undef); + $_[0]; +} + 1;