customer link to package reports for that customer, RT#6180
authorivan <ivan>
Wed, 28 Oct 2009 06:13:24 +0000 (06:13 +0000)
committerivan <ivan>
Wed, 28 Oct 2009 06:13:24 +0000 (06:13 +0000)
FS/FS/cust_pkg.pm
httemplate/misc/bulk_change_pkg.cgi
httemplate/search/cust_pkg.cgi
httemplate/search/report_cust_pkg.html
httemplate/view/cust_main/packages.html

index fc44540..e4846ec 100644 (file)
@@ -2367,6 +2367,15 @@ sub search_sql {
   }
 
   ##
+  # parse custnum
+  ##
+
+  if ( $params->{'custnum'} =~ /^(\d+)$/ and $1 ) {
+    push @where,
+      "cust_pkg.custnum = $1";
+  }
+
+  ##
   # parse status
   ##
 
index 7f47a84..4964e59 100755 (executable)
@@ -10,7 +10,7 @@
 %# some false laziness w/search/cust_pkg.cgi
 
 <INPUT TYPE="hidden" NAME="query" VALUE="<% $cgi->keywords |h %>">
-%  for my $param (qw(agentnum magic status classnum custom censustract)) {
+%  for my $param (qw(agentnum custnum magic status classnum custom censustract)) {
 <INPUT TYPE="hidden" NAME="<% $param %>" VALUE="<% $cgi->param($param) |h %>">
 %  }
 %
index f03bbc2..37e8d6c 100755 (executable)
@@ -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($_);
 }
 
index 66dd7d1..fcc0934 100755 (executable)
@@ -1,7 +1,8 @@
-<% include('/elements/header.html', 'Package Report' ) %>
+<% include('/elements/header.html', $title ) %>
 
 <FORM ACTION="cust_pkg.cgi" METHOD="GET">
 <INPUT TYPE="hidden" NAME="magic" VALUE="bill">
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
 
   <TABLE BGCOLOR="#cccccc" CELLSPACING=0>
 
       </TH>
     </TR>
 
+% 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);',
 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;
+}
+
 </%init>
 <%once>
 
index 17a0691..dbbdf67 100755 (executable)
   <A HREF="<% $p %>edit/cust_pkg.cgi?<% $cust_main->custnum %>">Bulk order and cancel packages</A> (preserves services)
 % } 
 
-
 <BR><BR>
+
+<TABLE>
+  <TR>
+    <TD ALIGN="left">
+
 % if ( @$packages ) {
 
 Current packages
@@ -58,6 +62,16 @@ Current packages
 %   $cgi->param('showoldpackages', 0);
     ( <a href="<% $cgi->self_url %>">hide old packages</a> )
 % }
+
+    </TD>
+    <TD ALIGN="right">
+      <A HREF="<%$p%>search/report_cust_pkg.html?custnum=<% $cust_main->custnum %>">Package reports</A>
+    </TD>
+  </TR>
+
+  <TR>
+    <TD COLSPAN=2>
+
 % if ( @$packages ) { 
 
 <% include('/elements/table-grid.html') %>
@@ -109,6 +123,10 @@ Current packages
 <BR>
 % } 
 
+    </TD>
+  </TR>
+</TABLE>
+
 % if ( $cgi->param('fragment') =~ /^cust_pkg(\d+)$/ ) {
   <SCRIPT>
     // IE-specific hack.  other browsers listen to #fragments