use strict;
use SL::DB::MetaSetup::Customer;
+use SL::DB::Manager::Customer;
+use SL::DB::Helper::TransNumberGenerator;
use SL::DB::VC;
class => 'SL::DB::Shipto',
column_map => { id => 'trans_id' },
manager_args => { sort_by => 'lower(shipto.shiptoname)' },
- query_args => [ 'module' => 'CT' ],
+ 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)' },
},
business => {
type => 'one to one',
class => 'SL::DB::Business',
column_map => { business_id => 'id' },
},
+ custom_variables => {
+ type => 'one to many',
+ class => 'SL::DB::CustomVariable',
+ column_map => { id => 'trans_id' },
+ query_args => [ config_id => [ \"(SELECT custom_variable_configs.id FROM custom_variable_configs WHERE custom_variable_configs.module = 'CT')" ] ],
+ },
);
__PACKAGE__->meta->make_manager_class;
__PACKAGE__->meta->initialize;
+__PACKAGE__->before_save('_before_save_set_customernumber');
+
+sub _before_save_set_customernumber {
+ my ($self) = @_;
+
+ $self->create_trans_number if $self->customernumber eq '';
+ return 1;
+}
+
sub short_address {
my ($self) = @_;