-<% 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>
<TR>
- <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Search options</FONT></TH>
+ <TH BGCOLOR="#e8e8e8" COLSPAN=2 ALIGN="left">
+ <FONT SIZE="+1">Search options</FONT>
+ </TH>
</TR>
+
+% unless ( $custnum ) {
<% include( '/elements/tr-select-agent.html',
- $cgi->param('agentnum'),
+ 'curr_value' => scalar( $cgi->param('agentnum') ),
+ 'disable_empty' => 0,
)
%>
+% }
- <% include( '/elements/tr-select-cust_pkg-status.html', '',
+ <% 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 susp expire cancel )) {
+% foreach my $field (qw( setup last_bill bill adjourn susp expire cancel )) {
% if ( $disable{$status}->{$field} ) {
what.form.<% $field %>_beginning_text.disabled = true;
what.form.<% $field %>_ending_text.disabled = true;
+ what.form.<% $field %>_beginning_text.style.backgroundColor = '#dddddd';
+ what.form.<% $field %>_ending_text.style.backgroundColor = '#dddddd';
what.form.<% $field %>_beginning_button.style.display = 'none';
what.form.<% $field %>_ending_button.style.display = 'none';
what.form.<% $field %>_beginning_text.disabled = false;
what.form.<% $field %>_ending_text.disabled = false;
+ what.form.<% $field %>_beginning_text.style.backgroundColor = '#ffffff';
+ what.form.<% $field %>_ending_text.style.backgroundColor = '#ffffff';
what.form.<% $field %>_beginning_button.style.display = '';
what.form.<% $field %>_ending_button.style.display = '';
</SCRIPT>
- <% include( '/elements/tr-select-pkg_class.html', '',
+ <% include( '/elements/tr-select-pkg_class.html',
'pre_options' => [ '0' => 'all' ],
'empty_label' => '(empty class)',
)
%>
-% foreach my $field (qw( setup last_bill bill 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 (qw( setup last_bill bill adjourn susp expire cancel )) {
<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>
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>
'setup' => 'Setup',
'last_bill' => 'Last bill',
'bill' => 'Next bill',
+ 'adjourn' => 'Adjourns',
'susp' => 'Suspended',
'expire' => 'Expires',
'cancel' => 'Cancelled',
#false laziness w/cust_pkg.cgi
my %disable = (
'all' => {},
- 'one-time charge' => { 'last_bill'=>1, 'bill'=>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, },
'active' => { 'susp'=>1, 'cancel'=>1 },
'suspended' => { 'cancel' => 1 },
'cancelled' => {},