[freeside-commits] branch master updated. a989f40712bcbef325a566802118432063315240
Ivan
ivan at 420.am
Thu Apr 27 13:41:59 PDT 2017
The branch, master has been updated
via a989f40712bcbef325a566802118432063315240 (commit)
from 1d94d421c28cb157e6cb2f8ff30d1ac85b399b57 (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 a989f40712bcbef325a566802118432063315240
Author: Ivan Kohler <ivan at freeside.biz>
Date: Thu Apr 27 13:41:58 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 752c312..58a7d57 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