X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fpackages%2Fpackage.html;h=7df0869a3f7735672d24c63c4d987387b0b913ac;hb=35e5b12fb55f229edd16bed66e21c5806b8d3b7e;hp=3a362b6fa987aabf07ae92681526eeb9d509545f;hpb=b70b0d8c6f571a68ffb60c5ca728a230926abee4;p=freeside.git diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html index 3a362b6fa..7df0869a3 100644 --- a/httemplate/view/cust_main/packages/package.html +++ b/httemplate/view/cust_main/packages/package.html @@ -1,8 +1,11 @@ - +> -% if ( $curuser->access_right('Change customer package') and -% !$cust_pkg->get('cancel') and -% !$supplemental and -% !$opt{'show_location'}) { +% if ( $curuser->access_right('Change customer package') +% && ! $cust_pkg->get('cancel') +% && ! $supplemental +% && $part_pkg->freq ne '0' +% && ! $opt{no_links} +% ) +% { +% # yeah, I guess we'll let you do this on a future change package +% if ( FS::Conf->new->exists('invoice-unitprice') ) { +% } % } % }
+ <% $opt{before_pkg_callback} + ? &{ $opt{before_pkg_callback} }( $cust_pkg ) + : '' + %> <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><% $part_pkg->pkg |h %> @@ -24,27 +27,26 @@ -% unless ( $cust_pkg->get('cancel') ) { +% unless ( $cust_pkg->get('cancel') || $opt{no_links} ) { % -% if ( $supplemental ) { -% # then only show "Edit dates", "Add invoice details", and "Add -% # comments". -% if ( $curuser->access_right('Edit customer package dates') ) { - ( <%pkg_dates_link($cust_pkg)%> ) -% } +% if ( $change_from ) { +% # This is the target package for a future change. +% # Nothing you can do with it besides modify/cancel the +% # future change, and that's on the current package. +% } elsif ( $supplemental or $part_pkg->freq eq '0' ) { +% # Supplemental packages can't be changed independently. +% # One-time charges don't need to be changed. +% # For both of those, we only show "Add comments", +% # and "Add invoice details". % } else { -% # the usual case +% # the usual case: links to change package definition, +% # discount, and customization % my $br = 0; % if ( $curuser->access_right('Change customer package') ) { % $br=1; ( <%pkg_change_link($cust_pkg)%> ) % } % -% if ( $curuser->access_right('Edit customer package dates') ) { -% $br=1; - ( <%pkg_dates_link($cust_pkg)%> ) -% } -% % if ( $curuser->access_right('Discount customer package') % && $part_pkg->can_discount % && ! scalar($cust_pkg->cust_pkg_discount_active) @@ -96,7 +98,7 @@ <% mt('Invoice details') |h %> -% if ( $editi && ! $cust_pkg->get('cancel') ) { +% if ( $editi && ! $cust_pkg->get('cancel') && ! $opt{no_links} ) { (<& /elements/popup_link.html, { 'action' => $editlink. 'I', 'label' => emt('edit'), @@ -118,7 +120,7 @@ % } else { -% if ( $editi && ! $cust_pkg->get('cancel') ) { +% if ( $editi && ! $cust_pkg->get('cancel') && ! $opt{no_links} ) { ( <% include('/elements/popup_link.html', { 'action' => $editlink. 'I', @@ -140,7 +142,7 @@ <% mt('Comments') |h %> -% if ( $editc ) { +% if ( $editc && ! $opt{no_links} ) { (<& /elements/popup_link.html, { 'action' => $editlink. 'C', 'label' => emt('edit'), @@ -162,7 +164,7 @@ % } else { -% if ( $editc ) { +% if ( $editc && ! $opt{no_links} ) { ( <& /elements/popup_link.html, { 'action' => $editlink. 'C', @@ -178,18 +180,46 @@ % }
- ( <% pkg_change_location_link($cust_pkg) %> ) + ( <% pkg_change_quantity_link($cust_pkg) %> )
+% if ( @cust_pkg_usage ) { + + +% foreach my $usage (@cust_pkg_usage) { +% my $part = $usage->part_pkg_usage; +% my $ratio = 255 * ($usage->minutes / $part->minutes); +% $ratio = 255 if $ratio > 255; # because rollover +% my $color = sprintf('STYLE="font-weight: bold; color: #%02x%02x00"', 255 - $ratio, $ratio); +% my $trstyle = ''; +% $trstyle = ' CLASS="shared"' if $part->shared; + > + + + + +% if ( $part->shared ) { + +% } + +% } +
<% mt('Included usage') %>
<% $part->description %>: ALIGN="right"><% $usage->minutes %>> / ><% $part->minutes %>(shared)
+% } @@ -207,7 +237,32 @@ my $countrydefault = $opt{'countrydefault'} || 'US'; my $statedefault = $opt{'statedefault'} || ($countrydefault eq 'US' ? 'CA' : ''); +# put a marker on the left edge of this column +# if this package is somehow special my $supplemental = $opt{'supplemental'} || 0; +my $change_from = $opt{'change_from'} || 0; +my $style = ''; +if ( $supplemental or $change_from ) { + $style = 'border-left-width: '.($supplemental + $change_from)*30 . 'px; '. + 'border-color: '; + if ( $supplemental ) { + $style .= '#bbbbff'; + } elsif ( $change_from ) { + $style .= '#bbffbb'; + } + $style = qq!STYLE="$style"!; +} + +$cust_pkg->pkgnum =~ /^(\d+)$/; +my $pkgnum = $1; +my @cust_pkg_usage = qsearch({ + 'select' => 'cust_pkg_usage.*', + 'table' => 'cust_pkg_usage', + 'addl_from' => ' JOIN part_pkg_usage USING (pkgusagepart)', + 'extra_sql' => " WHERE pkgnum = $1", + 'order_by' => ' ORDER BY priority ASC, description ASC', +}); + #subroutines #false laziness w/status.html @@ -225,6 +280,8 @@ sub pkg_change_link { 'label' => emt('Change package'), 'actionlabel' => emt('Change'), 'cust_pkg' => $cust_pkg, + 'width' => 960, + 'height' => 490, ); } @@ -238,10 +295,21 @@ sub pkg_change_location_link { 'label' => emt('Change location'), 'actionlabel' => emt('Change'), 'cust_pkg' => $cust_pkg, + 'width' => 960, + 'height' => 490, ); } -sub pkg_dates_link { pkg_link('edit/REAL_cust_pkg', emt('Edit dates'), @_ ); } +sub pkg_change_quantity_link { + include( '/elements/popup_link-cust_pkg.html', + 'action' => $p. 'edit/cust_pkg_quantity.html?', + 'label' => emt('Change quantity'), + 'actionlabel' => emt('Change'), + 'cust_pkg' => shift, + 'width' => 390, + 'height' => 220, + ); +} sub pkg_discount_link { my $cust_pkg = shift or return '';