X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FTaxZone.pm;h=6545d08545d91a7d83241401af3913d054603f90;hb=5349a1ed016ae603b39d73747eccc6792707db1c;hp=7e0f2e725608496bff50cd9a699a9d27deb699c5;hpb=6cf3f7762efd40bee49a2b8f11bb4ab6915d9071;p=kivitendo-erp.git diff --git a/SL/DB/TaxZone.pm b/SL/DB/TaxZone.pm index 7e0f2e725..6545d0854 100644 --- a/SL/DB/TaxZone.pm +++ b/SL/DB/TaxZone.pm @@ -6,8 +6,35 @@ package SL::DB::TaxZone; use strict; use SL::DB::MetaSetup::TaxZone; +use SL::DB::Manager::TaxZone; +use SL::DB::Helper::ActsAsList; + +__PACKAGE__->meta->initialize; # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. -__PACKAGE__->meta->make_manager_class; +#__PACKAGE__->meta->make_manager_class; + +sub validate { + my ($self) = @_; + + my @errors; + push @errors, $::locale->text('The description is missing.') if !$self->description; + + return @errors; +} + +sub orphaned { + my ($self) = @_; + die 'not an accessor' if @_ > 1; + + my @classes = qw(Customer Vendor Invoice Order DeliveryOrder PurchaseInvoice); + foreach my $class ( @classes ) { + my $module = 'SL::DB::' . $class; + eval "require $module"; + my $manager = 'SL::DB::Manager::' . $class; + return 0 if $manager->get_all_count( query => [ taxzone_id => $self->id ] ); + }; + return 1; +} 1;