summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-10-01 15:17:39 -0700
committerIvan Kohler <ivan@freeside.biz>2017-10-01 15:17:39 -0700
commit4559e7e64ea925a799d240d0d44faaaf487e68fc (patch)
tree49d36b664553d31c18716fe694740a97dffc87bf
parentc8ee52d03f77850cba5555577109044c04a0f543 (diff)
sort by referral count, RT#75757
-rw-r--r--FS/FS/cust_main/Search.pm26
-rwxr-xr-xhttemplate/search/cust_main.html11
2 files changed, 23 insertions, 14 deletions
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm
index 84108a01b..147a73ab3 100644
--- a/FS/FS/cust_main/Search.pm
+++ b/FS/FS/cust_main/Search.pm
@@ -1127,8 +1127,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 = ();
if ($params->{'flattened_pkgs'}) {
@@ -1173,6 +1174,7 @@ sub search {
my $p = $a[!.--$headercount. q!];
$p;
};!;
+ unshift @extra_sort_fields, '';
}
}
@@ -1188,21 +1190,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,
};
#warn Data::Dumper::Dumper($sql_query);
$sql_query;
diff --git a/httemplate/search/cust_main.html b/httemplate/search/cust_main.html
index 7729da419..30a893ac8 100755
--- a/httemplate/search/cust_main.html
+++ b/httemplate/search/cust_main.html
@@ -13,6 +13,10 @@
\&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
],
@@ -103,9 +107,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' ];