X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FCT.pm;h=31ba176ee2ec6ea3b77cb725ad31a7d0799b745d;hb=a2aca2e1d8136681d2a95fefd240d509581c8bc8;hp=459a4573d2362cf2f6c24b32c0dc29e9d408ebb3;hpb=1b95831af24aa5f3bc731c5e89778f3a4ed04082;p=kivitendo-erp.git diff --git a/SL/CT.pm b/SL/CT.pm index 459a4573d..31ba176ee 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -680,13 +680,19 @@ sub search { my @values; my %allowed_sort_columns = - map({ $_, 1 } qw(id customernumber name address contact phone fax email + 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 ?";