# get shipto address
$query =
- qq|SELECT shipto_id, shiptoname, shiptodepartment_1 | .
- qq|FROM shipto WHERE (trans_id = ?) AND (module = 'CT')|;
+ qq|SELECT shipto_id, shiptoname, shiptodepartment_1, shiptostreet, shiptocity
+ FROM shipto
+ WHERE (trans_id = ?) AND (module = 'CT')|;
$form->{SHIPTO} = selectall_hashref_query($form, $dbh, $query, $form->{id});
# get contacts
qq|bank_code = ?, | .
qq|bank = ?, | .
qq|obsolete = ?, | .
+ qq|direct_debit = ?, | .
qq|ustid = ?, | .
qq|username = ?, | .
qq|salesman_id = ?, | .
$form->{bank_code},
$form->{bank},
$form->{obsolete} ? 't' : 'f',
+ $form->{direct_debit} ? 't' : 'f',
$form->{ustid},
$form->{username},
conv_i($form->{salesman_id}),
qq| bank_code = ?, | .
qq| bank = ?, | .
qq| obsolete = ?, | .
+ qq| direct_debit = ?, | .
qq| ustid = ?, | .
qq| payment_id = ?, | .
qq| taxzone_id = ?, | .
$form->{bank_code},
$form->{bank},
$form->{obsolete} ? 't' : 'f',
+ $form->{direct_debit} ? 't' : 'f',
$form->{ustid},
conv_i($form->{payment_id}),
conv_i($form->{taxzone_id}, 0),
my %allowed_sort_columns =
map({ $_, 1 } qw(id customernumber vendornumber name address contact phone fax email
taxnumber sic_code business invnumber ordnumber quonumber));
- $sortorder =
- $form->{sort} && $allowed_sort_columns{$form->{sort}} ?
- $form->{sort} : "name";
+ $sortorder = $form->{sort} && $allowed_sort_columns{$form->{sort}} ? $form->{sort} : "name";
$form->{sort} = $sortorder;
- $sortorder = "country,city,street" if ($sortorder eq "address");
+ my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
+
+ if ($sortorder eq "address") {
+ $sortorder = "lower(country) ${sortdir}, lower(city) ${sortdir}, lower(street) ${sortdir}";
+ } elsif ($sortorder ne 'id') {
+ $sortorder = "lower($sortorder) ${sortdir}";
+ } else {
+ $sortorder .= " ${sortdir}";
+ }
if ($form->{"${cv}number"}) {
$where .= " AND ct.${cv}number ILIKE ?";