use SL::DBUtils;
use SL::FU;
use SL::Notes;
+use SL::TransNumber;
use strict;
map { $form->{$_} = $ref->{$_} } keys %$ref;
+ # remove any trailing whitespace
+ $form->{curr} =~ s/\s*$//;
+
$sth->finish;
if ( $form->{salesman_id} ) {
my $query =
$form->{klass} = 0 unless ($form->{klass});
# connect to database
- my $dbh = $form->dbconnect_noauto($myconfig);
+ my $dbh = $form->get_standard_dbh;
map( {
$form->{"cp_${_}"} = $form->{"selected_cp_${_}"}
}
} else {
- if (!$form->{customernumber} && $form->{business}) {
- $form->{customernumber} =
- $form->update_business($myconfig, $form->{business}, $dbh);
- }
- if (!$form->{customernumber}) {
- $form->{customernumber} =
- $form->update_defaults($myconfig, "customernumber", $dbh);
- }
-
- $query = qq|SELECT c.id FROM customer c WHERE c.customernumber = ?|;
- ($f_id) = selectrow_query($form, $dbh, $query, $form->{customernumber});
- if ($f_id ne "") {
- $main::lxdebug->leave_sub();
- return 3;
- }
+ my $customernumber = SL::TransNumber->new(type => 'customer',
+ dbh => $dbh,
+ number => $form->{customernumber},
+ business_id => $form->{business},
+ save => 1);
+ $form->{customernumber} = $customernumber->create_unique unless $customernumber->is_unique;
$query = qq|SELECT nextval('id')|;
($form->{id}) = selectrow_query($form, $dbh, $query);
qq|taxzone_id = ?, | .
qq|user_password = ?, | .
qq|c_vendor_id = ?, | .
- qq|klass = ? | .
+ qq|klass = ?, | .
+ qq|curr = ? | .
qq|WHERE id = ?|;
my @values = (
$form->{customernumber},
$form->{user_password},
$form->{c_vendor_id},
conv_i($form->{klass}),
+ substr($form->{currency}, 0, 3),
$form->{id}
);
do_query( $form, $dbh, $query, @values );
'always_valid' => 1);
my $rc = $dbh->commit();
- $dbh->disconnect();
$main::lxdebug->leave_sub();
return $rc;
$form->{taxzone_id} *= 1;
# connect to database
- my $dbh = $form->dbconnect_noauto($myconfig);
+ my $dbh = $form->get_standard_dbh;
map( {
$form->{"cp_${_}"} = $form->{"selected_cp_${_}"}
$query = qq|INSERT INTO vendor (id, name) VALUES (?, '')|;
do_query($form, $dbh, $query, $form->{id});
- if ( !$form->{vendornumber} ) {
- $form->{vendornumber} = $form->update_defaults( $myconfig, "vendornumber", $dbh );
- }
+ my $vendornumber = SL::TransNumber->new(type => 'vendor',
+ dbh => $dbh,
+ number => $form->{vendornumber},
+ save => 1);
+ $form->{vendornumber} = $vendornumber->create_unique unless $vendornumber->is_unique;
}
$query =
qq| language_id = ?, | .
qq| username = ?, | .
qq| user_password = ?, | .
- qq| v_customer_id = ? | .
+ qq| v_customer_id = ?, | .
+ qq| curr = ? | .
qq|WHERE id = ?|;
my @values = (
$form->{vendornumber},
$form->{username},
$form->{user_password},
$form->{v_customer_id},
+ substr($form->{currency}, 0, 3),
$form->{id}
);
do_query($form, $dbh, $query, @values);
'always_valid' => 1);
my $rc = $dbh->commit();
- $dbh->disconnect();
$main::lxdebug->leave_sub();
return $rc;
$form->{sort} = $sortorder;
my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
- if ($sortorder ne 'id' && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber)) {
+ if ($sortorder !~ /(business|id)/ && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber )) {
$sortorder = "lower($sortorder) ${sortdir}";
} else {
$sortorder .= " ${sortdir}";
my %myconfig = %main::myconfig;
my $dbh = $form->get_standard_dbh(\%myconfig);
- do_query($form, $dbh, qq|UPDATE contacts SET cp_cv_id = NULL WHERE cp_id = ?|, $shipto_id);
+ do_query($form, $dbh, qq|UPDATE shipto SET trans_id = NULL WHERE shipto_id = ?|, $shipto_id);
+
+ $dbh->commit();
+
+ $main::lxdebug->leave_sub();
+}
+
+sub delete_contact {
+ $main::lxdebug->enter_sub();
+
+ my $self = shift;
+ my $cp_id = shift;
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $dbh = $form->get_standard_dbh(\%myconfig);
+
+ do_query($form, $dbh, qq|UPDATE contacts SET cp_cv_id = NULL WHERE cp_id = ?|, $cp_id);
$dbh->commit();
delete $form->{OUT};
- $form->parse_template($myconfig, $main::userspath);
+ $form->parse_template($myconfig);
$main::lxdebug->leave_sub();
}