X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/9b3455eaa0e7ae850c48c17bcf53735e5d5416da..52dfa7c31cd6e2aa7b4f9600c25114f9d9e197cd:/SL/CT.pm diff --git a/SL/CT.pm b/SL/CT.pm index b61a07a63..a82620d22 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -682,11 +682,17 @@ sub search { 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 ?";