Add warning of svc unprovisioning on pkg cancel. See RT#29087.
[freeside.git] / httemplate / misc / cancel_pkg.html
index c802897..7af106d 100755 (executable)
@@ -8,6 +8,8 @@
 
 <BR>
 <% emt(ucfirst($method)." [_1]", $part_pkg->pkg_comment(cust_pkg=>$cust_pkg) ) %>
+<BR>
+<font color="red"><% $unprovision_warning |h %></font>
 <table style="background-color: #cccccc; border-spacing: 2; width: 100%">
 
 % my $date_init = 0;
 %     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');
+%         $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 = '<I>(' . emt('Cannot be reprovisioned') . ')</I>';
 %       }
   <& /elements/tr-checkbox.html,
        'label'  => $uncancel_svc->{'svc'} . ': ' . $uncancel_svc->{'label'},
@@ -73,7 +77,8 @@
        'value'  => $uncancel_svc->{'uncancel_svcnum'},
        'curr_value' => $uncancel_curr_value,
        'disabled'   => $uncancel_disabled,
-       'cell_style' => 'font-weight: normal;'
+       'cell_style' => 'font-weight: normal',
+       'postfix' => $uncancel_postfix,
   &>
 %     }
 %   }
@@ -188,6 +193,23 @@ my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum})
 
 my $part_pkg = $cust_pkg->part_pkg;
 
+my $unprovision_warning = '';
+{
+    my @services_w_export;
+    for ( $cust_pkg->cust_svc ) {
+        push( @services_w_export, ($_->label)[0] . ': ' . ($_->label)[1], )
+          if $_->part_svc->export_svc;
+    }
+    if ( @services_w_export ) {
+        $unprovision_warning = 'NOTE: This package has ' . @services_w_export
+          . ' ' . PL( "service", @services_w_export )
+          . ' that will be unprovisioned';
+        $unprovision_warning .= ' (' . join( ', ', @services_w_export, ) . ')'
+          if @services_w_export < 10;
+        $unprovision_warning .= '.';
+    }
+}
+
 $date ||= $cust_pkg->get($method);
 $date ||= time;