[freeside-commits] branch master updated. 3d8ef5da99b377760185bf2cc372986b8150facc

Ivan ivan at 420.am
Wed Mar 7 22:25:55 PST 2012


The branch, master has been updated
       via  3d8ef5da99b377760185bf2cc372986b8150facc (commit)
      from  b7cb0504d5b4bf302745e9ac296410147000e007 (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 3d8ef5da99b377760185bf2cc372986b8150facc
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed Mar 7 22:25:52 2012 -0800

    agent-virt package summary report, RT#16534

diff --git a/httemplate/search/cust_pkg_summary.cgi b/httemplate/search/cust_pkg_summary.cgi
index fc71c81..cea4cdc 100644
--- a/httemplate/search/cust_pkg_summary.cgi
+++ b/httemplate/search/cust_pkg_summary.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 $title = 'Package Summary Report';
 my ($begin, $end) = FS::UI::Web::parse_beginning_ending($cgi);
@@ -61,7 +64,19 @@ if( !$begin ) {
   splice @head, 1, 1;
 }
 
-foreach my $part_pkg (qsearch('part_pkg', {} )) {
+my $agentnums_sql = $curuser->agentnums_sql(
+                      'null'       => 1,
+                      'table'      => 'part_pkg',
+                    );
+
+my $extra_sql = " WHERE $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
   push @row, $part_pkg->pkg;
@@ -70,10 +85,15 @@ foreach my $part_pkg (qsearch('part_pkg', {} )) {
     if($cond) {
       my $result = qsearchs({ 
                             'table'     => 'h_cust_pkg',
+                            'addl_from' => $addl_from.
+                                           ' LEFT JOIN cust_main USING ( custnum )',
+
                             'hashref'   => {},
                             'select'    => 'count(*)',
-                            'addl_from' => $addl_from,
-                            'extra_sql' => 'WHERE pkgpart = '.$part_pkg->pkgpart.$cond,
+                            'extra_sql' => 'WHERE pkgpart = '.$part_pkg->pkgpart.$cond.
+                                           ' AND '. $curuser->agentnums_sql(
+                                                      'table' => 'cust_main',
+                                                    ),
                             });
       $row[$i] = $result->getfield('count');
       $totals[$i] += $row[$i];

-----------------------------------------------------------------------

Summary of changes:
 httemplate/search/cust_pkg_summary.cgi |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)




More information about the freeside-commits mailing list