X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FBusiness.pm;h=91cdd672ab90e877166a56d94ed1920f7f283c3c;hb=3782a90c336bc6c506f572e607c8526cb5e79ea3;hp=badd0b5b4279bd3677707447cd74aef3240e9aed;hpb=f9676efea9ccfa01df2a57dca9c45cc8fde0d09e;p=kivitendo-erp.git diff --git a/SL/DB/Business.pm b/SL/DB/Business.pm index badd0b5b4..91cdd672a 100644 --- a/SL/DB/Business.pm +++ b/SL/DB/Business.pm @@ -1,13 +1,42 @@ -# This file has been auto-generated only because it didn't exist. -# Feel free to modify it at will; it will not be overwritten automatically. - package SL::DB::Business; use strict; use SL::DB::MetaSetup::Business; +use SL::DB::Manager::Business; + +__PACKAGE__->meta->add_relationship( + customers => { + type => 'one to many', + class => 'SL::DB::Customer', + column_map => { id => 'business_id' }, + query_args => [ \' id IN ( SELECT id FROM customer ) ' ], + }, + vendors => { + type => 'one to many', + class => 'SL::DB::Vendor', + column_map => { id => 'business_id' }, + query_args => [ \' id IN ( SELECT id FROM vendor ) ' ], + }, +); + +__PACKAGE__->meta->initialize; + +sub validate { + my ($self) = @_; + + my @errors; + push @errors, $::locale->text('The description is missing.') if !$self->description; + push @errors, $::locale->text('The discount must not be negative.') if $self->discount < 0; + push @errors, $::locale->text('The discount must be less than 100%.') if $self->discount >= 1; + + return @errors; +} + +sub displayable_name { + my $self = shift; -# Creates get_all, get_all_count, get_all_iterator, delete_all and update_all. -__PACKAGE__->meta->make_manager_class; + return join ' ', grep $_, $self->id, $self->description; +} 1;