<TR>
<<%$th%> ALIGN="right"><% $opt{'label'} || 'Service location' %></<%$th%>>
<TD COLSPAN=7>
- <SELECT NAME="locationnum" onChange="locationnum_changed(this);">
+ <SELECT NAME = "locationnum"
+ ID = "locationnum"
+ onChange = "locationnum_changed(this);"
+ >
<OPTION VALUE=""><% $opt{'empty_label'} || '(default service address)' |h %>
% 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 ) {
+% next if $loc->disabled;
<OPTION VALUE="<% $loc->locationnum %>"
<% $locationnum == $loc->locationnum ? 'SELECTED' : '' %>
><% $loc->line |h %>
}
}
+my $location_sort = sub {
+ $a->country cmp $b->country
+ or lc($a->city) cmp lc($b->city)
+ or lc($a->address1) cmp lc($b->address1)
+ or lc($a->address2) cmp lc($b->address2)
+};
+
my $disabled = ( $locationnum == -1 || ($editable && $locationnum) )
? ''
: 'DISABLED';