sort locations in dropdown, RT#10766
[freeside.git] / httemplate / elements / tr-select-cust_location.html
index f06ea0f..d44b1c4 100644 (file)
@@ -150,7 +150,7 @@ Example:
 %     my @locations = $cust_main ? $cust_main->cust_location : ();
 %     push @locations, $cust_location
 %       if !$cust_main && $cust_location && $cust_location->locationnum>0;
-%     foreach my $loc ( @locations ) {
+%     foreach my $loc ( sort $location_sort @locations ) {
         <OPTION VALUE="<% $loc->locationnum %>"
                 <% $locationnum == $loc->locationnum ? 'SELECTED' : '' %>
         ><% $loc->line |h %>
@@ -223,6 +223,13 @@ if ( $locationnum && $locationnum != -1 ) {
   }
 }
 
+my $location_sort = sub {
+     $a->country  cmp $b->country
+  or $a->city     cmp $b->city
+  or $a->address1 cmp $b->address1
+  or $a->address2 cmp $b->address2
+};
+
 my $disabled = ( $locationnum == -1 || ($editable && $locationnum) )
                  ? ''
                  : 'DISABLED';