-<% 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') ),
+ 'curr_value' => scalar( $cgi->param('agentnum') ),
+ 'disable_empty' => 0,
)
%>
+% }
<% include( '/elements/tr-select-cust_pkg-status.html',
'onchange' => 'status_changed(this);',
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;
)
%>
-% foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
+% if ( scalar( qsearch( 'part_pkg_report_option', { 'disabled' => '' } ) ) ) {
+
+ <% include( '/elements/tr-select-table.html',
+ 'label' => 'Report classes',
+ 'table' => 'part_pkg_report_option',
+ 'name_col' => 'name',
+ 'hashref' => { 'disabled' => '' },
+ 'element_name' => 'report_option',
+ 'multiple' => 'multiple',
+ )
+ %>
+
+% }
+
+% foreach my $field (@date_fields) {
<TR>
<TD ALIGN="right" VALIGN="center"><% $label{$field} %></TD>
% }
+ <SCRIPT TYPE="text/javascript">
+
+ function custom_changed(what) {
+
+ if ( what.checked ) {
+
+ what.form.pkgpart.disabled = true;
+ what.form.pkgpart.style.backgroundColor = '#dddddd';
+
+ } else {
+
+ what.form.pkgpart.disabled = false;
+ what.form.pkgpart.style.backgroundColor = '#ffffff';
+
+ }
+
+ }
+
+ </SCRIPT>
+
+ <% include( '/elements/tr-checkbox.html',
+ 'label' => 'Custom packages',
+ 'field' => 'custom',
+ 'value' => 1,
+ 'onchange' => 'custom_changed(this);',
+ )
+ %>
+
<% include( '/elements/tr-selectmultiple-part_pkg.html' ) %>
<TR>
- <TH BGCOLOR="#e8e8e8" COLSPAN=2> </TH>
+ <TH CLASS="background" COLSPAN=2> </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' => {},
- 'one-time charge' => { 'last_bill'=>1, 'bill'=>1, 'adjourn'=>1, 'susp'=>1, 'expire'=>1, 'cancel'=>1, },
+ '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, 'contract_end'=>1, 'dundate'=>1, },
'active' => { 'susp'=>1, 'cancel'=>1 },
- 'suspended' => { 'cancel' => 1 },
+ 'suspended' => { 'cancel'=>1, 'dundate'=>1, },
'cancelled' => {},
'' => {},
);
'last_bill' => 0,
'bill' => 0,
'susp' => 1,
+ 'dundate' => 1,
'expire' => 1,
'cancel' => 1,
);