[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