X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fcancel_pkg.html;h=96cf6412cfa6642d6ddde32706d4946c39f5f81d;hp=f9a46a89801bc1380ed81652e72d9ded65d9b1ff;hb=cee66872f5c67825cae5a0f86da3fb0657c4ebae;hpb=a6fe07e49e3fc12169e801b1ed6874c3a5bd8500 diff --git a/httemplate/misc/cancel_pkg.html b/httemplate/misc/cancel_pkg.html index f9a46a898..96cf6412c 100755 --- a/httemplate/misc/cancel_pkg.html +++ b/httemplate/misc/cancel_pkg.html @@ -6,9 +6,15 @@ -

-<% emt(ucfirst($method)." [_1]", $part_pkg->pkg_comment) %> -<% ntable("#cccccc", 2) %> +
+<% emt(ucfirst($method)." [_1]", $part_pkg->pkg_comment(cust_pkg=>$cust_pkg) ) %> +
+ +% for ( @unprovision_warning ) { +<% $_ |h %>
+% } +
+ % my $date_init = 0; % if ($method eq 'expire' || $method eq 'adjourn' || $method eq 'resume') { @@ -45,12 +51,41 @@ } &> <& /elements/tr-checkbox.html, - 'label' => mt("Uncancel even if a service can't be re-provisioned"), + 'label' => mt("Uncancel even if service reprovisioning fails"), 'field' => 'svc_not_fatal', 'value' => 'Y', &> % $date_init = 1; +% my @uncancel_svcs = sort { $b->{'reprovisionable'} <=> $a->{'reprovisionable'} } +% sort { $a->{'svcpart'} <=> $b->{'svcpart'} } +% $cust_pkg->uncancel_svc_summary(); +% if (@uncancel_svcs) { + + +% foreach my $uncancel_svc (@uncancel_svcs) { +% my $uncancel_curr_value = $uncancel_svc->{'uncancel_svcnum'}; +% my $uncancel_disabled = ''; +% my $uncancel_postfix = ''; +% if ($cgi->param('error')) { +% $uncancel_curr_value = '' unless grep { $_ == $uncancel_svc->{'uncancel_svcnum'} } $cgi->param('only_svcnum'); +% } +% unless ($uncancel_svc->{'reprovisionable'}) { +% $uncancel_curr_value = ''; +% $uncancel_disabled = 1; +% $uncancel_postfix = '(' . emt('Cannot be reprovisioned') . ')'; +% } + <& /elements/tr-checkbox.html, + 'label' => $uncancel_svc->{'svc'} . ': ' . $uncancel_svc->{'label'}, + 'field' => 'only_svcnum', + 'value' => $uncancel_svc->{'uncancel_svcnum'}, + 'curr_value' => $uncancel_curr_value, + 'disabled' => $uncancel_disabled, + 'cell_style' => 'font-weight: normal', + 'postfix' => $uncancel_postfix, + &> +% } +% } % } % unless ( $method eq 'resume' || $method eq 'uncancel' ) { @@ -58,11 +93,11 @@ field => 'reasonnum', reason_class => $class, curr_value => $reasonnum, - control_button => "document.getElementById('confirm_cancel_pkg_button')", + control_button => "confirm_cancel_pkg_button", &> % } -% if ( $method eq 'adjourn' || $method eq 'suspend' ) { +% if (( $method eq 'adjourn' || $method eq 'suspend' ) && $curuser->access_right('Customize billing during suspension')) {
 
<% emt("Re-provision the following services") %>
% if ( $part_pkg->option('suspend_bill', 1) ) { <& /elements/checkbox.html, name=>'no_suspend_bill', value=>'Y' &> @@ -162,6 +197,29 @@ my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}) my $part_pkg = $cust_pkg->part_pkg; +my @unprovision_warning = (); +unless ( $method =~ /^(resume|uncancel)$/ ) { + my @services_w_export = map { my @l = $_->label; $l[0]. ': '. $l[1]; } + grep $_->part_svc->export_svc, + $cust_pkg->cust_svc; + if ( @services_w_export ) { + + my $actioned = ($method =~ /^(suspend|adjourn)$/) ? 'suspended' + : 'unprovisioned'; + push @unprovision_warning, + 'NOTE: This package has '. @services_w_export. ' '. + PL( 'service', @services_w_export ). " that will be $actioned"; + + if ( @services_w_export < 10 ) { + $unprovision_warning[0] .= ':'; + push @unprovision_warning, @services_w_export; + } else { + $unprovision_warning[0] .= '.'; + } + + } +} + $date ||= $cust_pkg->get($method); $date ||= time;