Merge branch 'master' of ssh://git.freeside.biz/home/git/freeside
authorChristopher Burger <burgerc@freeside.biz>
Tue, 3 Oct 2017 15:16:27 +0000 (11:16 -0400)
committerChristopher Burger <burgerc@freeside.biz>
Tue, 3 Oct 2017 15:16:27 +0000 (11:16 -0400)
FS/FS/cust_main/Search.pm
conf/invoice_latex
conf/quotation_latex
httemplate/search/cust_main.html

index 21d5986..2ec87cd 100644 (file)
@@ -1049,8 +1049,9 @@ sub search {
                  FS::UI::Web::cust_sql_fields($params->{'cust_fields'}),
                );
 
-  my(@extra_headers) = ();
-  my(@extra_fields)  = ();
+  my @extra_headers     = ();
+  my @extra_fields      = ();
+  my @extra_sort_fields = ();
 
   ## search contacts
   if ($params->{'contacts'}) {
@@ -1134,6 +1135,7 @@ sub search {
                                          my $p = $a[!.--$headercount. q!];
                                          $p;
                                         };!;
+      unshift @extra_sort_fields, '';
     }
 
   }
@@ -1149,21 +1151,23 @@ sub search {
 
     unshift @extra_headers, 'Referrals';
     unshift @extra_fields, 'num_referrals';
+    unshift @extra_sort_fields, 'num_referrals';
 
   }
 
   my $select = join(', ', @select);
 
   my $sql_query = {
-    'table'         => 'cust_main',
-    'select'        => $select,
-    'addl_from'     => $addl_from,
-    'hashref'       => {},
-    'extra_sql'     => $extra_sql,
-    'order_by'      => $orderby,
-    'count_query'   => $count_query,
-    'extra_headers' => \@extra_headers,
-    'extra_fields'  => \@extra_fields,
+    'table'             => 'cust_main',
+    'select'            => $select,
+    'addl_from'         => $addl_from,
+    'hashref'           => {},
+    'extra_sql'         => $extra_sql,
+    'order_by'          => $orderby,
+    'count_query'       => $count_query,
+    'extra_headers'     => \@extra_headers,
+    'extra_fields'      => \@extra_fields,
+    'extra_sort_fields' => \@extra_sort_fields,
   };
   $sql_query;
 
index 5c6090e..a710cdd 100644 (file)
 \r
 \LTchunksize=40\r
 \r
+\r
+\begin{document}\r
+\r
+\r
 \renewcommand{\headrulewidth}{0pt}\r
 \renewcommand{\footrulewidth}{1pt}\r
 \r
   \\\r
 }\r
 \r
-\begin{document}\r
 %      Headers and footers defined for the first page\r
 \addressinset \rule{0.5cm}{0cm} \r
 \makebox{\r
index 25228dc..13fc429 100644 (file)
 \r
 \LTchunksize=40\r
 \r
+\r
+\begin{document}\r
+\r
+\r
 \renewcommand{\headrulewidth}{0pt}\r
 \renewcommand{\footrulewidth}{1pt}\r
 \r
 }\r
 \r
 \r
-\begin{document}\r
 %      Headers and footers defined for the first page\r
 \addressinset \rule{0.5cm}{0cm} \r
 \makebox{\r
index 7197bbd..3016250 100755 (executable)
                     \&FS::UI::Web::cust_fields,
                     @extra_fields,
                   ],
+                  'sort_fields' => [
+                    FS::UI::Web::cust_sort_fields(),
+                    @extra_sort_fields,
+                  ],
                   'color'       => [ FS::UI::Web::cust_colors(),
                                      map '', @extra_fields
                                    ],
@@ -68,16 +72,20 @@ for my $param (qw( classnum refnum pkg_classnum )) {
   $search_hash{$param} = [ $cgi->param($param) ];
 }
 
+my $params = $cgi->Vars;
+
 #contacts
 $search_hash{'contacts'} = {
-  map { $_ => $cgi->param($_), } grep { /^(contacts_*)/ && $cgi->param($_) } keys $cgi->Vars
+  map { $_ => $cgi->param($_), }
+    grep { /^(contacts_*)/ && $cgi->param($_) }
+      keys %$params
 };
 
 #tags
-my $params = $cgi->Vars;
 $search_hash{'tagnum'} = [
   map { /^tagnum(\d+)/ && $1 }
-    grep { /^tagnum(\d+)/ && $cgi->param($_) } keys %$params
+    grep { /^tagnum(\d+)/ && $cgi->param($_) }
+      keys %$params
 ];
 
 ###
@@ -115,9 +123,10 @@ $search_hash{'current_balance'} =
 ###
 
 my $sql_query = FS::cust_main::Search->search(\%search_hash);
-my $count_query   = delete($sql_query->{'count_query'});
-my @extra_headers = @{ delete($sql_query->{'extra_headers'}) };
-my @extra_fields  = @{ delete($sql_query->{'extra_fields'})  };
+my $count_query = delete($sql_query->{'count_query'});
+my @extra_headers     = @{ delete($sql_query->{'extra_headers'}) };
+my @extra_fields      = @{ delete($sql_query->{'extra_fields'})  };
+my @extra_sort_fields = @{ delete($sql_query->{'extra_sort_fields'})  };
 
 my $link = [ "${p}view/cust_main.cgi?", 'custnum' ];