From 229373d8ab3b19351e14f345eb42344b8ed72d35 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 18 Mar 2016 18:40:22 -0700 Subject: [PATCH] sort customer locations in package list, RT#41119, RT#39822 --- FS/FS/cust_main.pm | 18 +++++++++++++----- FS/FS/prospect_main.pm | 9 +++++++-- httemplate/elements/tr-select-cust_location.html | 2 ++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index be02f9c9b..5f77ab5f6 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1951,8 +1951,13 @@ Returns all locations (see L) for this customer. sub cust_location { my $self = shift; - qsearch('cust_location', { 'custnum' => $self->custnum, - 'prospectnum' => '' } ); + qsearch({ + 'table' => 'cust_location', + 'hashref' => { 'custnum' => $self->custnum, + 'prospectnum' => '', + }, + 'order_by' => 'ORDER BY country, LOWER(state), LOWER(city), LOWER(county), LOWER(address1), LOWER(address2)', + }); } =item cust_contact @@ -3364,9 +3369,12 @@ Returns all the credits (see L) for this customer. sub cust_credit { my $self = shift; - map { $_ } #return $self->num_cust_credit unless wantarray; - sort { $a->_date <=> $b->_date } - qsearch( 'cust_credit', { 'custnum' => $self->custnum } ) + + #return $self->num_cust_credit unless wantarray; + + map { $_ } #behavior of sort undefined in scalar context + sort { $a->_date <=> $b->_date } + qsearch( 'cust_credit', { 'custnum' => $self->custnum } ) } =item cust_credit_pkgnum diff --git a/FS/FS/prospect_main.pm b/FS/FS/prospect_main.pm index 79efa86d0..f600b23e9 100644 --- a/FS/FS/prospect_main.pm +++ b/FS/FS/prospect_main.pm @@ -288,8 +288,13 @@ Returns the locations (see L) associated with this prospect. sub cust_location { my $self = shift; - qsearch( 'cust_location', { 'prospectnum' => $self->prospectnum, - 'custnum' => '' } ); + qsearch({ + 'table' => 'cust_location', + 'hashref' => { 'prospectnum' => $self->prospectnum, + 'custnum' => '', + }, + 'order_by' => 'ORDER BY country, LOWER(state), LOWER(city), LOWER(county), LOWER(address1), LOWER(address2)', + }); } =item qual diff --git a/httemplate/elements/tr-select-cust_location.html b/httemplate/elements/tr-select-cust_location.html index 3078f2cbe..47a917dbd 100644 --- a/httemplate/elements/tr-select-cust_location.html +++ b/httemplate/elements/tr-select-cust_location.html @@ -271,7 +271,9 @@ my $location_sort = sub { #enabled w/label_prefix _location # $a->locationname cmp $b->locationname # or $a->country cmp $b->country + or lc($a->state) cmp lc($b->state) or lc($a->city) cmp lc($b->city) + or lc($a->county) cmp lc($b->county) or lc($a->address1) cmp lc($b->address1) or lc($a->address2) cmp lc($b->address2) }; -- 2.11.0