From 00156a6b621cc0e0227564ebbc53bda3aeb9dc14 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 28 Oct 2009 06:13:24 +0000 Subject: [PATCH] customer link to package reports for that customer, RT#6180 --- FS/FS/cust_pkg.pm | 9 +++++++++ httemplate/misc/bulk_change_pkg.cgi | 2 +- httemplate/search/cust_pkg.cgi | 2 +- httemplate/search/report_cust_pkg.html | 18 +++++++++++++++++- httemplate/view/cust_main/packages.html | 20 +++++++++++++++++++- 5 files changed, 47 insertions(+), 4 deletions(-) diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index fc44540a1..e4846ec34 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -2367,6 +2367,15 @@ sub search_sql { } ## + # parse custnum + ## + + if ( $params->{'custnum'} =~ /^(\d+)$/ and $1 ) { + push @where, + "cust_pkg.custnum = $1"; + } + + ## # parse status ## diff --git a/httemplate/misc/bulk_change_pkg.cgi b/httemplate/misc/bulk_change_pkg.cgi index 7f47a84cf..4964e598f 100755 --- a/httemplate/misc/bulk_change_pkg.cgi +++ b/httemplate/misc/bulk_change_pkg.cgi @@ -10,7 +10,7 @@ %# some false laziness w/search/cust_pkg.cgi -% for my $param (qw(agentnum magic status classnum custom censustract)) { +% for my $param (qw(agentnum custnum magic status classnum custom censustract)) { % } % diff --git a/httemplate/search/cust_pkg.cgi b/httemplate/search/cust_pkg.cgi index f03bbc26b..37e8d6c5f 100755 --- a/httemplate/search/cust_pkg.cgi +++ b/httemplate/search/cust_pkg.cgi @@ -164,7 +164,7 @@ my %search_hash = (); $search_hash{'query'} = $cgi->keywords; -for (qw( agentnum magic status classnum custom )) { +for (qw( agentnum custnum magic status classnum custom )) { $search_hash{$_} = $cgi->param($_) if $cgi->param($_); } diff --git a/httemplate/search/report_cust_pkg.html b/httemplate/search/report_cust_pkg.html index 66dd7d15e..fcc093410 100755 --- a/httemplate/search/report_cust_pkg.html +++ b/httemplate/search/report_cust_pkg.html @@ -1,7 +1,8 @@ -<% include('/elements/header.html', 'Package Report' ) %> +<% include('/elements/header.html', $title ) %>
+ @@ -11,11 +12,13 @@ +% unless ( $custnum ) { <% include( '/elements/tr-select-agent.html', 'curr_value' => scalar( $cgi->param('agentnum') ), 'disable_empty' => 0, ) %> +% } <% include( '/elements/tr-select-cust_pkg-status.html', 'onchange' => 'status_changed(this);', @@ -155,6 +158,19 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('List packages'); +my $title = 'Package Report'; + +my $custnum = ''; +if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { + $custnum = $1; + my $cust_main = qsearchs({ + 'table' => 'cust_main', + 'hashref' => { 'custnum' => $custnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, + }) or die "unknown custnum $custnum"; + $title .= ': '. $cust_main->name; +} + <%once> diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index 17a06911a..dbbdf6797 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -26,8 +26,12 @@ Bulk order and cancel packages (preserves services) % } -

+ +
+ + + + + + + + +
+ % if ( @$packages ) { Current packages @@ -58,6 +62,16 @@ Current packages % $cgi->param('showoldpackages', 0); ( hide old packages ) % } + + + Package reports +
+ % if ( @$packages ) { <% include('/elements/table-grid.html') %> @@ -109,6 +123,10 @@ Current packages
% } +
+ % if ( $cgi->param('fragment') =~ /^cust_pkg(\d+)$/ ) {