cust_header(@_) if( @_ or !@cust_fields );
#inefficientish, but tiny lists and only run once per page
- map { $_ eq 'custnum' ? 'custnum' : '' } @cust_fields;
+ my @sort_fields;
+ foreach (@cust_fields) {
+ if ($_ eq "custnum") { push @sort_fields, 'custnum'; }
+ elsif ($_ eq "contact" || $_ eq "name") { push @sort_fields, '(last, first)'; }
+ elsif ($_ eq "company") { push @sort_fields, 'company'; }
+ else { push @sort_fields, ''; }
+ }
+ return @sort_fields;
}
=item join_cust_main [ TABLE[.CUSTNUM] ] [ LOCATION_TABLE[.LOCATIONNUM] ]
Returns an SQL join phrase for the FROM clause so that the fields listed
-in L<cust_sql_fields> will be available. Currently joins to cust_main
+in L</cust_sql_fields> will be available. Currently joins to cust_main
itself, as well as cust_location (under the aliases 'bill_location' and
-'ship_location') if address fields are needed. L<cust_header()> should have
+'ship_location') if address fields are needed. L</cust_header> should have
been called already.
All of these will be left joins; if you want to exclude rows with no linked