[freeside-commits] branch FREESIDE_2_3_BRANCH updated. a8629712dc382e0c3a68b08f979fcf2a9396d7c1
Ivan
ivan at 420.am
Wed Mar 7 22:37:20 PST 2012
The branch, FREESIDE_2_3_BRANCH has been updated
via a8629712dc382e0c3a68b08f979fcf2a9396d7c1 (commit)
from e47385088a470b799d2b39ae04e0ccf9e49ef094 (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 a8629712dc382e0c3a68b08f979fcf2a9396d7c1
Author: Ivan Kohler <ivan at freeside.biz>
Date: Wed Mar 7 22:37:17 2012 -0800
agent-virt suspension summary, RT#16534
diff --git a/httemplate/search/cust_pkg_susp.cgi b/httemplate/search/cust_pkg_susp.cgi
index 53631a2..9ab5992 100644
--- a/httemplate/search/cust_pkg_susp.cgi
+++ b/httemplate/search/cust_pkg_susp.cgi
@@ -21,8 +21,11 @@
</TR>
</TABLE>
<%init>
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('List packages');
+ unless $curuser->access_right('List packages');
my $money_char = FS::Conf->new()->config('money_char') || '$';
@@ -68,18 +71,21 @@ my @pay_cond;
push @pay_cond, "cust_bill_pay._date < $end" if $end;
push @pay_cond, "cust_bill_pay._date > $begin" if $begin;
-my $pay_cond = '';
-$pay_cond = 'WHERE '.join(' AND ', @pay_cond) if @pay_cond;
+my $extra_sql = '';
+$extra_sql = 'WHERE '. join(' AND ', @pay_cond) if @pay_cond;
+$extra_sql .= ( $extra_sql ? ' AND ' : ' WHERE ' ).
+ $curuser->agentnums_sql( 'table' => 'cust_main' );
my $pkg_payments = {
map { $_->pkgpart => $_->total_pay }
qsearch({
'table' => 'cust_pkg',
'select' => 'pkgpart, sum(cust_bill_pay_pkg.amount) AS total_pay',
- 'addl_from' => 'INNER JOIN cust_bill_pkg USING (pkgnum)
+ 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )
+ INNER JOIN cust_bill_pkg USING (pkgnum)
INNER JOIN cust_bill_pay_pkg USING (billpkgnum)
- INNER JOIN cust_bill_pay USING (billpaynum)',
- 'extra_sql' => $pay_cond . ' GROUP BY pkgpart',
+ INNER JOIN cust_bill_pay USING (billpaynum)',
+ 'extra_sql' => "$extra_sql GROUP BY pkgpart",
}) };
my @head = ('Package', 'Suspended', 'Unsuspended', 'Payments');
@@ -87,7 +93,19 @@ my @rows = ();
my @totals = map {0} @head;
$totals[0] = 'Total';
-foreach my $part_pkg (qsearch('part_pkg', {} )) {
+my $pkg_agentnums_sql = $curuser->agentnums_sql(
+ 'null' => 1,
+ 'table' => 'part_pkg',
+ );
+
+my $extra_sql = " WHERE $pkg_agentnums_sql";
+
+foreach my $part_pkg (qsearch({ 'table' => 'part_pkg',
+ 'hashref' => {},
+ 'extra_sql' => $extra_sql,
+ })
+ )
+{
my @row = ();
next if !$part_pkg->freq; # exclude one-time packages
my $pkgpart = $part_pkg->pkgpart;
-----------------------------------------------------------------------
Summary of changes:
httemplate/search/cust_pkg_susp.cgi | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 deletions(-)
More information about the freeside-commits
mailing list