adding export to read mailbox status information, RT#15987
[freeside.git] / httemplate / search / report_cust_pkg.html
index 66dd7d1..3da59c2 100755 (executable)
@@ -1,21 +1,24 @@
-<% include('/elements/header.html', 'Package Report' ) %>
+<& /elements/header.html, mt($title, @title_arg) &>
 
 <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>
 
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left">
+      <TH CLASS="background" COLSPAN=2 ALIGN="left">
         <FONT SIZE="+1">Search options</FONT>
       </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);',
@@ -30,7 +33,7 @@
 
           if ( what.options[what.selectedIndex].value == '<% $status %>' ) {
 
-%           foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
+%           foreach my $field (@date_fields) {
 %             if ( $disable{$status}->{$field} ) {
 
                 what.form.<% $field %>_beginning_text.disabled = true;
@@ -86,7 +89,7 @@
 
 %   }
 
-%   foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
+%   foreach my $field (@date_fields) {
 
       <TR>
         <TD ALIGN="right" VALIGN="center"><% $label{$field} %></TD>
     <% include( '/elements/tr-selectmultiple-part_pkg.html' ) %> 
 
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2>&nbsp;</TH>
+      <TH CLASS="background" COLSPAN=2>&nbsp;</TH>
     </TR>
 
     <TR>
-      <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Display options</FONT></TH>
+      <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Display options</FONT></TH>
     </TR>
     <% include( '/elements/tr-select-cust-fields.html' ) %>
     
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('List packages');
 
+my $title = 'Package Report';
+#false laziness w/report_cust_bill.html
+my @title_arg = ();
+
+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 .= ': [_1]';
+  push @title_arg, $cust_main->name;
+}
+
 </%init>
 <%once>
 
-my %label = (
-  'setup'     => 'Setup',
-  'last_bill' => 'Last bill',
-  'bill'      => 'Next bill',
-  'adjourn'   => 'Adjourns',
-  'susp'      => 'Suspended',
-  'expire'    => 'Expires',
-  'cancel'    => 'Cancelled',
-);
+tie my %label, 'Tie::IxHash',
+  'setup'        => 'Setup',
+  'last_bill'    => 'Last bill',
+  'bill'         => 'Next bill',
+  'adjourn'      => 'Adjourns',
+  'susp'         => 'Suspended',
+  'dundate'      => 'Suspension delayed until',
+  'expire'       => 'Expires',
+  'contract_end' => 'Contract ends',
+  'cancel'       => 'Cancelled',
+;
+my @date_fields = keys %label;
 
 #false laziness w/cust_pkg.cgi
 my %disable = (
   'all'             => {},
   'not yet billed'  => { 'setup'=>1, 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, },
-  'one-time charge' => { 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, },
+  'one-time charge' => { 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, 'contract_end'=>1, 'dundate'=>1, },
   'active'          => { 'susp'=>1, 'cancel'=>1 },
-  'suspended'       => { 'cancel' => 1 },
+  'suspended'       => { 'cancel'=>1, 'dundate'=>1, },
   'cancelled'       => {},
   ''                => {},
 );
@@ -185,6 +207,7 @@ my %checkbox = (
   'last_bill' => 0,
   'bill'      => 0,
   'susp'      => 1,
+  'dundate'   => 1,
   'expire'    => 1,
   'cancel'    => 1,
 );