summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2015-07-13 17:26:48 -0700
committerMark Wells <mark@freeside.biz>2015-07-14 13:25:05 -0700
commit98f6d91ec7eaa907204afbfeb90ede1e3bff656d (patch)
treee5d7b870c4965f9a2b580e3cad5aed82d300e5c8 /httemplate/view/cust_main/packages
parent57e3a0e08b81d52851314c60f37115a05b9be79e (diff)
automatic package changes for supplemental packages, #37102
Diffstat (limited to 'httemplate/view/cust_main/packages')
-rw-r--r--httemplate/view/cust_main/packages/package.html24
-rwxr-xr-xhttemplate/view/cust_main/packages/section.html8
-rw-r--r--httemplate/view/cust_main/packages/status.html57
3 files changed, 48 insertions, 41 deletions
diff --git a/httemplate/view/cust_main/packages/package.html b/httemplate/view/cust_main/packages/package.html
index 4b56e6fc4..8aa64039c 100644
--- a/httemplate/view/cust_main/packages/package.html
+++ b/httemplate/view/cust_main/packages/package.html
@@ -1,7 +1,6 @@
-<TD CLASS="inv package" BGCOLOR="<% $bgcolor %>" VALIGN="top" <%$style%>>
+<TD CLASS="inv package" BGCOLOR="<% $bgcolor %>" VALIGN="top">
+ <% join('', @marker ) %>
<TABLE CLASS="inv package">
-
-
<TR>
<TD COLSPAN=2>
<% $opt{before_pkg_callback}
@@ -107,7 +106,7 @@
% ) {
(&nbsp;<%pkg_event_link($cust_pkg)%>&nbsp;)
% }
-% } #!$supplemental
+% } # a canceled recurring package, or else no_links is in effect
</FONT>
</TD>
@@ -297,6 +296,7 @@
</TABLE>
% }
+ <% join('', map '</DIV>', @marker ) %>
</TD>
<%init>
@@ -317,16 +317,12 @@ my $statedefault = $opt{'statedefault'}
# 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"!;
+my @marker;
+if ( $supplemental ) {
+ push @marker, '<DIV CLASS="package-marker-supplemental">';
+}
+if ( $change_from ) {
+ push @marker, '<DIV CLASS="package-marker-change_from">';
}
$cust_pkg->pkgnum =~ /^(\d+)$/;
diff --git a/httemplate/view/cust_main/packages/section.html b/httemplate/view/cust_main/packages/section.html
index fe9f283c7..490f09c12 100755
--- a/httemplate/view/cust_main/packages/section.html
+++ b/httemplate/view/cust_main/packages/section.html
@@ -71,9 +71,11 @@
<& .packagerow, $cust_pkg->change_to_pkg, %iopt, 'change_from' => 1 &>
% }
% # include supplemental packages if any
-% $iopt{'supplemental'} = ($iopt{'supplemental'} || 0) + 1;
-% foreach my $supp_pkg ($cust_pkg->supplemental_pkgs) {
- <& .packagerow, $supp_pkg, %iopt &>
+% if ( $cust_pkg->_supplemental ) {
+% $iopt{'supplemental'} = ($iopt{'supplemental'} || 0) + 1;
+% foreach my $supp_pkg (@{ $cust_pkg->_supplemental }) {
+ <& .packagerow, $supp_pkg, %iopt &>
+% }
% }
</%def>
<%shared>
diff --git a/httemplate/view/cust_main/packages/status.html b/httemplate/view/cust_main/packages/status.html
index 81156c927..7e125f72e 100644
--- a/httemplate/view/cust_main/packages/status.html
+++ b/httemplate/view/cust_main/packages/status.html
@@ -44,11 +44,11 @@
</TR>
% }
%
-% } else {
+% } else { # not canceled
%
% if ( $cust_pkg->get('susp') ) { #suspended or on hold
%
-% #if ( $cust_pkg->order_date eq $cust_pkg->get('susp') ) { # inconsistent with FS::cust_pkg::status
+% #if ( $cust_pkg->order_date eq $cust_pkg->get('susp') ) # inconsistent with FS::cust_pkg::status
% if ( ! $cust_pkg->setup ) { #status: on hold
<% pkg_status_row( $cust_pkg, emt('On Hold'), '', 'color'=>'7E0079', %opt ) %>
@@ -79,7 +79,7 @@
% } else {
<% pkg_status_row($cust_pkg, emt('Setup'), 'setup', %opt ) %>
% }
-% }
+% }
<% pkg_status_row_if($cust_pkg, emt('Un-cancelled'), 'uncancel', %opt ) %>
@@ -97,7 +97,10 @@
<% pkg_status_row_expire($cust_pkg, %opt, curuser=>$curuser) %>
<% pkg_status_row_if( $cust_pkg, emt('Contract ends'), 'contract_end', %opt ) %>
-% if ( !$supplemental && ! $opt{no_links} && !$change_from ) {
+% # Status changes for suspended packages: can unsuspend, future-unsuspend,
+% # or future-change. If this package is a future change or is supplemental
+% # disable them all.
+% if ( !$supplemental && ! $opt{no_links} && !$change_from ) {
<TR>
<TD COLSPAN=<%$opt{colspan}%>>
<FONT SIZE=-1>
@@ -203,7 +206,7 @@
<% pkg_status_row_if($cust_pkg, emt('Un-cancelled'), 'uncancel', %opt ) %>
-% } else {
+% } else { # recurring package
%
% my $num_cust_svc = $cust_pkg->num_cust_svc;
% my $summarize = $opt{'cust_pkg-large_pkg_size'} > 0
@@ -259,7 +262,11 @@
<% pkg_status_row_expire($cust_pkg, %opt, curuser=>$curuser) %>
<% pkg_status_row_if( $cust_pkg, emt('Contract ends'), 'contract_end', %opt ) %>
-% if ( $part_pkg->freq and !$supplemental && ! $opt{no_links} ) {
+% # Status changes for active recurring packages. If it has a future
+% # package change scheduled, let that be modified. If it's supplemental,
+% # then that's the only allowed action. Otherwise allow suspend, future
+% # suspend, do-not-suspend, and immediate and future cancel.
+% if ( $part_pkg->freq and ! $opt{no_links} ) {
<TR>
<TD COLSPAN=<%$opt{colspan}%>>
@@ -277,27 +284,29 @@
% }
% }
+% if ( !$supplemental ) {
% # suspension actions--always available
-% if ( $curuser->access_right('Suspend customer package') ) {
- (&nbsp;<% pkg_suspend_link($cust_pkg) %>&nbsp;)
-% }
-% if ( $curuser->access_right('Suspend customer package later') ) {
- (&nbsp;<% pkg_adjourn_link($cust_pkg) %>&nbsp;)
-% }
-% if ( $curuser->access_right('Delay suspension events') ) {
- (&nbsp;<% pkg_delay_link($cust_pkg) %>&nbsp;)
-% }
+% if ( $curuser->access_right('Suspend customer package') ) {
+ (&nbsp;<% pkg_suspend_link($cust_pkg) %>&nbsp;)
+% }
+% if ( $curuser->access_right('Suspend customer package later') ) {
+ (&nbsp;<% pkg_adjourn_link($cust_pkg) %>&nbsp;)
+% }
+% if ( $curuser->access_right('Delay suspension events') ) {
+ (&nbsp;<% pkg_delay_link($cust_pkg) %>&nbsp;)
+% }
%
-% if ( $change_from or $cust_pkg->change_to_pkgnum ) {
-% # you can't cancel the package while in this state
-% } else { # the normal case: links to cancel the package
- <BR>
-% if ( $curuser->access_right('Cancel customer package immediately') ) {
- (&nbsp;<% pkg_cancel_link($cust_pkg) %>&nbsp;)
+% if ( $change_from or $cust_pkg->change_to_pkgnum ) {
+% # you can't cancel the package while in this state
+% } else { # the normal case: links to cancel the package
+ <BR>
+% if ( $curuser->access_right('Cancel customer package immediately') ) {
+ (&nbsp;<% pkg_cancel_link($cust_pkg) %>&nbsp;)
+% }
+% if ( $curuser->access_right('Cancel customer package later') ) {
+ (&nbsp;<% pkg_expire_link($cust_pkg) %>&nbsp;)
+% }
% }
-% if ( $curuser->access_right('Cancel customer package later') ) {
- (&nbsp;<% pkg_expire_link($cust_pkg) %>&nbsp;)
-% }
% }
<FONT>