X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fpackages.html;h=43ebb282b188bd831640ba5dac6b653eca2247ec;hp=ddd92b3b0561faeedb150a4e5ab342de729114b2;hb=a832fdcc15e848eb6b63998403cad11cf3d6e3c3;hpb=48ce4f3863f2cd4a25eb79fecd3ed5b4b98150cf diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html index ddd92b3b0..43ebb282b 100755 --- a/httemplate/view/cust_main/packages.html +++ b/httemplate/view/cust_main/packages.html @@ -44,6 +44,7 @@ table.hiddenrows { } + % # activate rolldown buttons for hidden package blocks +
+% my $br = 0; + +% if ( $total_pkgs > $maxrecords ) { + +% if ( 1 ) { #FS::pkg_class->num_pkg_class ) { + <% $br++ ? ' | ' : '' %> + Class: <& /elements/select-cust-pkg_class.html, + curr_value => scalar($cgi->param('classnum')), + onchange => 'classnum_changed(this);', + pre_options => [ '-1' => 'all', + '0' => '(none)', + ], + &> +% } + + <% $br++ ? ' | ' : '' %> + Status: <& /elements/select-cust_pkg-status.html, + curr_value => scalar($cgi->param('status')), + onchange => 'status_changed(this);', + &> + +% if ( 1 ) { #$cust_main->num_cust_location ) { + <% $br++ ? ' | ' : '' %> + Location: <& /elements/select-cust_location.html, + cust_main => $cust_main, + curr_value => scalar($cgi->param('locationnum')), + addnew => 0, + onchange => 'locationnum_changed(this);', + pre_options => [ '-1' => 'all', ], + &> +% } + + + +% } + +<% $br++ ? ' | ' : '' %> % if ( $cust_main->num_cancelled_pkgs ) { % if ( $cgi->param('showcancelledpackages') eq '0' #see if it was set by me % || ( $conf->exists('hidecancelledpackages') @@ -92,24 +154,25 @@ if ( el ) el.scrollIntoView(true); % { % my $prev = $cgi->param('showcancelledpackages'); % $cgi->param('showcancelledpackages', 1); - ( <% mt('show') |h %> + <% mt('show') |h %> % $cgi->param('showcancelledpackages', $prev); % } else { % $cgi->param('showcancelledpackages', 0); - ( <% mt('hide') |h %> + <% mt('hide') |h %> % $cgi->param('showcancelledpackages', 1); % } - <% mt('cancelled packages') |h %> ) + <% mt('cancelled packages') |h %> % } +<% $br++ ? ' | ' : '' %> % if ( $cgi->param('showoldpackages') ) { % $cgi->param('showoldpackages', 0); - ( <% mt('hide old packages') |h %> ) + <% mt('hide old packages') |h %> % $cgi->param('showoldpackages', 1); % } else { % $cgi->param('showoldpackages', 1); - ( <% mt('show old packages') |h %> ) + <% mt('show old packages') |h %> % $cgi->param('showoldpackages', 0); % } @@ -218,16 +281,38 @@ unless ( $cgi->param('showoldpackages') ) { )"; } -my $num_method = $hide_cancelled ? 'ncancelled_pkgs' : 'all_pkgs'; -my $num_pkgs = $cust_main->$num_method({ +if ( $cgi->param('classnum') =~ /^(\d+)$/ ) { + my $classnum = $1; + if ( $classnum == 0 ) { + $extra_sql .= " AND part_pkg.classnum IS NULL "; + } else { + $extra_sql .= " AND part_pkg.classnum = $classnum "; + } +} + +if ( $cgi->param('status') =~ /^([\w ]+)$/ ) { + my $status = $1; + $extra_sql .= ' AND '. FS::cust_pkg->status_sql. " = '$status' "; +} + +if ( $cgi->param('locationnum') =~ /^(\d+)$/ ) { + my $locationnum = $1; + $extra_sql .= " AND cust_pkg.locationnum = $locationnum "; +} + +my $total_pkgs = $cust_main->all_pkgs; + +my $method = $hide_cancelled ? 'ncancelled_pkgs' : 'all_pkgs'; +my $num_pkgs = $cust_main->$method({ 'addl_from' => $addl_from, 'extra_sql' => $extra_sql, }); my $maxrecords = 10; my $offset = $cgi->param('offset') =~ /^(\d+)$/ ? $1 : 0; +$cgi->delete('offset'); -my @packages = $cust_main->all_pkgs( { +my @packages = $cust_main->$method( { 'select' => "$cust_pkg_fields, $part_pkg_fields, $num_svcs", 'addl_from' => $addl_from. " LEFT JOIN part_pkg_option AS setup_option