[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