X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fbrowse%2Fpart_pkg.cgi;h=1053a6a33f0767de3bb6c9a98d0305d9b062b067;hp=acc32113fa63fd7817455d019753afa0388a6cb2;hb=801a99f9f6f9cd38edd3423efd9298aa7d71a4b6;hpb=f4bb9273f1ba174858e221fd37f6dd1dca4119e9 diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi index acc32113f..1053a6a33 100755 --- a/httemplate/browse/part_pkg.cgi +++ b/httemplate/browse/part_pkg.cgi @@ -38,6 +38,9 @@ $().ready(function() { $('.taxproduct_desc').tooltip({}); }); +$(document).ready(function(){ + $(this).scrollTop(0); +}); <%init> @@ -60,6 +63,7 @@ my $conf = new FS::Conf; my $taxclasses = $conf->exists('enable_taxclasses'); my $taxvendor = $conf->config('tax_data_vendor'); my $money_char = $conf->config('money_char') || '$'; +my $disable_counts = $conf->exists('config-disable_counts') ? 1 : 0; my $select = '*'; my $orderby = 'pkgpart'; @@ -143,40 +147,43 @@ my $count_cust_pkg_cancel = " AND cust_pkg.cancel IS NOT NULL AND cust_pkg.cancel != 0 "; -$select = " - - *, - - ( $count_cust_pkg - AND ( setup IS NULL OR setup = 0 ) - AND ( cancel IS NULL OR cancel = 0 ) - AND ( susp IS NULL OR susp = 0 ) - ) AS num_not_yet_billed, - - ( $count_cust_pkg - AND setup IS NOT NULL AND setup != 0 - AND ( cancel IS NULL OR cancel = 0 ) - AND ( susp IS NULL OR susp = 0 ) - ) AS num_active, - - ( $count_cust_pkg - AND ( cancel IS NULL OR cancel = 0 ) - AND susp IS NOT NULL AND susp != 0 - AND setup IS NOT NULL AND setup != 0 - ) AS num_suspended, - - ( $count_cust_pkg - AND ( cancel IS NULL OR cancel = 0 ) - AND susp IS NOT NULL AND susp != 0 - AND ( setup IS NULL OR setup = 0 ) - ) AS num_on_hold, - - ( $count_cust_pkg_cancel - AND (cust_pkg_next.pkgnum IS NULL - OR cust_pkg_next.pkgpart != cust_pkg.pkgpart) - ) AS num_cancelled +unless ( $disable_counts ) { + $select = " + + *, + + ( $count_cust_pkg + AND ( setup IS NULL OR setup = 0 ) + AND ( cancel IS NULL OR cancel = 0 ) + AND ( susp IS NULL OR susp = 0 ) + ) AS num_not_yet_billed, + + ( $count_cust_pkg + AND setup IS NOT NULL AND setup != 0 + AND ( cancel IS NULL OR cancel = 0 ) + AND ( susp IS NULL OR susp = 0 ) + ) AS num_active, + + ( $count_cust_pkg + AND ( cancel IS NULL OR cancel = 0 ) + AND susp IS NOT NULL AND susp != 0 + AND setup IS NOT NULL AND setup != 0 + ) AS num_suspended, + + ( $count_cust_pkg + AND ( cancel IS NULL OR cancel = 0 ) + AND susp IS NOT NULL AND susp != 0 + AND ( setup IS NULL OR setup = 0 ) + ) AS num_on_hold, + + ( $count_cust_pkg_cancel + AND (cust_pkg_next.pkgnum IS NULL + OR cust_pkg_next.pkgpart != cust_pkg.pkgpart) + ) AS num_cancelled + + "; +} -"; # About the num_cancelled expression: packages that were changed, but # kept the same pkgpart, are considered "moved", not "canceled" (because # this is the part_pkg UI). We could show the count of those but it's @@ -533,7 +540,7 @@ if ( $acl_edit_global ) { { 'data' => ''. $part_pkg->get("num_$_"). - '', + ' ', 'align' => 'right', }, { @@ -544,7 +551,7 @@ if ( $acl_edit_global ) { : '' ), 'align' => 'left', - 'link' => ( $part_pkg->get("num_$_") + 'link' => ( $part_pkg->get("num_$_") || $disable_counts ? $cust_pkg_link. $part_pkg->pkgpart. ";magic=$magic" @@ -562,7 +569,7 @@ if ( $acl_edit_global ) { 'action' => "${p}edit/bulk-cust_pkg.html?". 'pkgpart='.$part_pkg->pkgpart, 'actionlabel' => 'Change Packages', - 'width' => 569, + 'width' => 960, 'height' => 210, ).' ]', 'align' => 'left', @@ -601,12 +608,18 @@ if ( $taxclasses ) { { 'data' => &$taxproduct_sub($base_ppt), 'align' => 'right' }, ]; } + if ( my $units_ppt = $part_pkg->units_taxproduct ) { + push @$out, [ + { 'data' => emt('Lines'), 'align' => 'left' }, + { 'data' => &$taxproduct_sub($units_ppt), 'align' => 'right' }, + ]; + } for (my $i = 0; $i < scalar @classnums; $i++) { my $num = $part_pkg->option('usage_taxproductnum_' . $classnums[$i]); next if !$num; my $ppt = FS::part_pkg_taxproduct->by_key($num); push @$out, [ - { 'data' => $classnames[$i] . ': ', 'align' => 'left', }, + { 'data' => $classnames[$i], 'align' => 'left', }, { 'data' => &$taxproduct_sub($ppt), 'align' => 'right' }, ]; } @@ -714,7 +727,7 @@ push @fields, [ { - 'data' => ''. $pkg_svc->quantity. '', + 'data' => ''. $pkg_svc->quantity. ' ', 'align' => 'right' }, { @@ -790,8 +803,32 @@ if ( $acl_edit_bulk ) { $align .= 'c'; $html_form = qq!
!; $html_foot = include('/search/elements/checkbox-foot.html', - submit => 'edit report classes', # for now it's only report classes - ) . '
'; + actions => [ + { label => 'edit packages', + onclick=> include('/elements/popup_link_onclick.html', + 'label' => 'edit', + 'js_action' => qq{ + '${p}edit/bulk-part_pkg.html?' + \$('input[name=pkgpart]').serialize() + }, + 'actionlabel' => 'Bulk edit packages', + 'width' => 960, + 'height' => 420, + ) + }, + { label => 'change customers packages', + onclick=> include('/elements/popup_link_onclick.html', + 'label' => 'change', + 'js_action' => qq{ + '${p}edit/bulk-cust_pkg.html?' + \$('input[name=pkgpart]').serialize() + }, + 'actionlabel' => 'Change customer packages', + 'width' => 960, + 'height' => 420, + ) + }, + ], + ). + ''; } my @menubar;