Projekt

Allgemein

Profil

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

use strict;

use SL::DB::MetaSetup::Customer;
930e5ecb Moritz Bunkus
use SL::DB::Manager::Customer;
use SL::DB::Helper::TransNumberGenerator;
82515b2d Sven Schöling
use SL::DB::VC;

__PACKAGE__->meta->add_relationship(
shipto => {
type => 'one to many',
class => 'SL::DB::Shipto',
column_map => { id => 'trans_id' },
manager_args => { sort_by => 'lower(shipto.shiptoname)' },
9e152755 Moritz Bunkus
query_args => [ module => 'CT' ],
},
contacts => {
type => 'one to many',
class => 'SL::DB::Contact',
column_map => { id => 'cp_cv_id' },
manager_args => { sort_by => 'lower(contacts.cp_name)' },
82515b2d Sven Schöling
},
business => {
type => 'one to one',
class => 'SL::DB::Business',
column_map => { business_id => 'id' },
},
);

__PACKAGE__->meta->make_manager_class;
__PACKAGE__->meta->initialize;

930e5ecb Moritz Bunkus
__PACKAGE__->before_save('_before_save_set_customernumber');

sub _before_save_set_customernumber {
my ($self) = @_;

$self->create_trans_number if $self->customernumber eq '';
f87763cd Moritz Bunkus
return 1;
930e5ecb Moritz Bunkus
}

2a052485 Sven Schöling
sub short_address {
my ($self) = @_;

return join ', ', grep { $_ } $self->street, $self->zipcode, $self->city;
}

82515b2d Sven Schöling
1;