X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fpackages%2Fpackage.html;h=e47d891f50751ac3090f39206c290583e0b5bc00;hp=f0ece98845097d7685e57dc4b7a9633c98a5acf6;hb=b7cf1606a66cca95e3540f803ffa66d223f23a40;hpb=e4419db2b564c53ba0b0aa32590b22a8e114650a
diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html
index f0ece9884..e47d891f5 100644
--- a/httemplate/view/cust_main/packages/package.html
+++ b/httemplate/view/cust_main/packages/package.html
@@ -10,9 +10,36 @@
%>
<% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><% $part_pkg->pkg |h %>
- -
- <% $part_pkg->custom_comment |h %>
+ ><% $opt{show_pkgnum} ? $cust_pkg->pkgnum.': ' : '' %><% $part_pkg->pkg |h %>
+%
+% my $custom_comment;
+% if ( 0 && FS::part_pkg::flat->can('price_info') eq $part_pkg->can('price_info') ) {
+% #perf hack / disabled in 4.x (feature pricing / cust_pkg_usageprice incompatible, well, harder)
+%
+% $part_pkg->{"_$_"} = $part_pkg->option($_) || 0
+% foreach grep !defined($part_pkg->{"_$_"} ), qw(setup_fee recur_fee);
+%
+% my $str = '';
+% $str = $opt{money_char} . $part_pkg->{_setup_fee}.
+% ($part_pkg->{_recur_fee} ? ' setup' : ' one-time')
+% if $part_pkg->{_setup_fee};
+% $str .= ', ' if $part_pkg->{_setup_fee} && $part_pkg->{_recur_fee};
+% $str .= $opt{money_char}. $part_pkg->{_recur_fee}.
+% '/'. $part_pkg->freq_pretty
+% if $part_pkg->{_recur_fee};
+% $str;
+%
+% $custom_comment =
+% ( $part_pkg->custom ? '(CUSTOM) ' : '' ).
+% $part_pkg->comment.
+% ( ($part_pkg->custom || $part_pkg->comment) ? ' - ' : '' ).
+% ($str || 'No charge');
+%
+% } else {
+% $custom_comment = $part_pkg->custom_comment('cust_pkg'=>$cust_pkg);
+% }
+ <% $custom_comment ? ' - ' : '' %>
+ <% $custom_comment |h %>
@@ -21,17 +48,29 @@
-% unless ( $cust_pkg->get('cancel') || $opt{no_links} ) {
+% if ( $part_pkg->freq eq '0' and !$opt{no_links} ) {
+% # One-time charge. Nothing you can do with this, unless:
+% if ( $curuser->access_right('Modify one-time charge') ) {
+ ( <%onetime_change_link($cust_pkg)%> )
+% }
+% # also, you can discount it
+% if ( $curuser->access_right('Discount customer package')
+% && ! scalar($cust_pkg->cust_pkg_discount_active)
+% && ! scalar($cust_pkg->part_pkg->part_pkg_discount)
+% ) {
+ ( <%pkg_discount_link($cust_pkg)%> )
+% }
+
+%
+% } elsif ( !$cust_pkg->get('cancel') and !$opt{no_links} ) {
%
% 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' ) {
+% } elsif ( $supplemental ) {
% # 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".
+% # Show only "Add comments" and "Add invoice details".
% } else {
% # the usual case: links to change package definition,
% # discount, and customization
@@ -43,8 +82,10 @@
%
% if ( $curuser->access_right('Discount customer package')
% && $part_pkg->can_discount
-% && ! scalar($cust_pkg->cust_pkg_discount_active)
-% && ! scalar($cust_pkg->part_pkg->part_pkg_discount)
+% && ! scalar( @{ $cust_pkg->{_cust_pkg_discount_active} } )
+% && ( ! $opt{'term_discounts'}
+% || ! scalar($cust_pkg->part_pkg->part_pkg_discount)
+% )
% )
% {
% $br=1;
@@ -59,10 +100,10 @@
<% $br ? ' ' : '' %>
% }
-% if ( $cust_pkg->num_cust_event
-% && ( $curuser->access_right('Billing event reports')
+% if ( ( $curuser->access_right('Billing event reports')
% || $curuser->access_right('View customer billing events')
% )
+% && $cust_pkg->exists_cust_event
% ) {
( <%pkg_event_link($cust_pkg)%> )
% }
@@ -107,7 +148,7 @@
% if ( $cust_pkg->salesnum ) {
% $change_sales_label = 'change';
<% mt('Sales Person:') |h %>
- <% $cust_pkg->salesperson %>
+ <% $cust_pkg->salesperson |h %>
% }
% if ( $curuser->access_right('Change customer package')
@@ -245,7 +286,7 @@
% $trstyle = ' CLASS="shared"' if $part->shared;
>
<% $part->description %>: |
- ALIGN="right"><% $usage->minutes %> |
+ ALIGN="right"><% sprintf('%.1f', $usage->minutes) %> |
> / |
><% $part->minutes %> |
% if ( $part->shared ) {
@@ -320,6 +361,19 @@ sub pkg_change_link {
);
}
+sub onetime_change_link {
+ my $cust_pkg = shift;
+ my $pkgnum = $cust_pkg->pkgnum;
+ include( '/elements/popup_link-cust_pkg.html',
+ 'action' => $p. "edit/quick-charge.html?change_pkgnum=$pkgnum",
+ 'label' => emt('Modify one-time charge'),
+ 'actionlabel' => emt('Modify'),
+ 'cust_pkg' => $cust_pkg,
+ 'width' => 690,
+ 'height' => 380,
+ );
+}
+
sub pkg_change_location_link {
my $cust_pkg = shift;
my $pkgpart = $cust_pkg->pkgpart;
|