[freeside-commits] branch FREESIDE_4_BRANCH updated. d3ccf0b542d3b23f5bd851cdf1edbbc0de81f0b6
Ivan
ivan at 420.am
Thu Apr 27 13:42:00 PDT 2017
The branch, FREESIDE_4_BRANCH has been updated
via d3ccf0b542d3b23f5bd851cdf1edbbc0de81f0b6 (commit)
from 76ab8e3f6ebd579b2bf9804528b55189d47f77bc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d3ccf0b542d3b23f5bd851cdf1edbbc0de81f0b6
Author: Ivan Kohler <ivan at freeside.biz>
Date: Thu Apr 27 13:41:59 2017 -0700
customer referral report, RT#75757
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm
index 4473aed..0eb0020 100644
--- a/FS/FS/cust_main/Search.pm
+++ b/FS/FS/cust_main/Search.pm
@@ -866,6 +866,15 @@ sub search {
if $params->{'no_tax'};
##
+ # with referrals
+ ##
+ if ( $params->{'with_referrals'} ) {
+ push @where,
+ ' EXISTS ( SELECT 1 FROM cust_main AS referred_cust_main
+ WHERE cust_main.custnum = referred_cust_main.referral_custnum )';
+ }
+
+ ##
# dates
##
@@ -1101,6 +1110,20 @@ sub search {
}
+ if ( $params->{'with_referrals'} ) {
+
+ #XXX next: num for each customer status
+
+ push @select,
+ '( SELECT COUNT(*) FROM cust_main AS referred_cust_main
+ WHERE cust_main.custnum = referred_cust_main.referral_custnum
+ ) AS num_referrals';
+
+ unshift @extra_headers, 'Referrals';
+ unshift @extra_fields, 'num_referrals';
+
+ }
+
my $select = join(', ', @select);
my $sql_query = {
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index fb1dd06..0e0170f 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -129,6 +129,7 @@ $report_customers_lists{'by active trouble tickets'} = [ $fsurl. 'search/cust_ma
if $conf->config('ticket_system');
$report_customers_lists{'with USPS-unvalidated addresses'} = [ $fsurl. 'search/cust_main.cgi?browse=uspsunvalid', '' ]
if $conf->config('usps_webtools-userid') && $conf->config('usps_webtools-password');
+$report_customers_lists{'with referrals'} = [ $fsurl. 'search/cust_main.html?with_referrals=1' ];
tie my %report_customers, 'Tie::IxHash';
$report_customers{'List customers'} = [ \%report_customers_lists, 'List customers' ]
diff --git a/httemplate/search/cust_main.html b/httemplate/search/cust_main.html
index b0ce31a..41309fd 100755
--- a/httemplate/search/cust_main.html
+++ b/httemplate/search/cust_main.html
@@ -27,7 +27,11 @@
$cgi->param('cust_fields')
)
),
- map '', @extra_fields
+ map { $_ eq 'num_referrals'
+ ? $referral_link
+ : ''
+ }
+ @extra_fields
],
&>
<%init>
@@ -51,6 +55,7 @@ my @scalars = qw (
all_tags
all_pkg_classnums
any_pkg_status
+ with_referrals
);
for my $param ( @scalars ) {
@@ -111,6 +116,8 @@ my @extra_fields = @{ delete($sql_query->{'extra_fields'}) };
my $link = [ "${p}view/cust_main.cgi?", 'custnum' ];
+my $referral_link = [ "${p}search/cust_main.cgi?referral_custnum=", 'custnum' ];
+
###
# email links
###
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_main/Search.pm | 23 +++++++++++++++++++++++
httemplate/elements/menu.html | 1 +
httemplate/search/cust_main.html | 9 ++++++++-
3 files changed, 32 insertions(+), 1 deletion(-)
More information about the freeside-commits
mailing list