Projekt

Allgemein

Profil

Herunterladen (1,04 KB) Statistiken
| Zweig: | Markierung: | Revision:
82515b2d Sven Schöling
package SL::DB::Business;

use strict;

use SL::DB::MetaSetup::Business;
508801bb Moritz Bunkus
use SL::DB::Manager::Business;

ceef2f6e Geoffrey Richardson
__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 ) ' ],
},
);

2d7e4203 Sven Schöling
__PACKAGE__->meta->initialize;

508801bb Moritz Bunkus
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;
82515b2d Sven Schöling
508801bb Moritz Bunkus
return @errors;
}
82515b2d Sven Schöling
818a31fa Sven Schöling
sub displayable_name {
my $self = shift;

return join ' ', grep $_, $self->id, $self->description;
}

82515b2d Sven Schöling
1;