RT#18361 Delay package from billing until services are provisioned [v3 backport]
[freeside.git] / httemplate / elements / tr-pkg_svc.html
index 66bbddf..b3bf802 100644 (file)
 %  } elsif ( $pkg_svc->quantity ) {
 %    $quan = $pkg_svc->quantity;
 %  }
+%
+%  my $provision_hold = '';
+%  if ( grep { $_ eq "provision_hold$svcpart" } $cgi->param ) {
+%    $provision_hold = $cgi->param("hidden_svc$svcpart");
+%  } else {
+%    $provision_hold = $pkg_svc->provision_hold;
+%  }
+%
+%  my @exports = $pkg_svc->part_svc->part_export;
+%  foreach my $export ( @exports ) {
+%      push @possible_exports, $export if $export->can('external_pkg_map');
+%  }
 
   <TR>
     <TD>
     </TD>
 
     <TD>
-      <A HREF="part_svc.cgi?<% $part_svc->svcpart %>"><% $part_svc->svc %></A>      <% $part_svc->disabled =~ /^Y/i ? ' (DISABLED' : '' %>
+      <A HREF="part_svc.cgi?<% $part_svc->svcpart %>"><% $part_svc->svc %></A>      <% $part_svc->disabled =~ /^Y/i ? ' (DISABLED)' : '' %>
     </TD>
 
     <TD>
       <INPUT TYPE="checkbox" NAME="hidden<% $svcpart %>" VALUE="Y"<% $pkg_svc->hidden =~ /^Y/i ? ' CHECKED' : ''%>>
     </TD>
+
+    <TD ALIGN="center">
+      <INPUT TYPE="checkbox" NAME="provision_hold<% $svcpart %>" VALUE="Y"<% $provision_hold =~ /^Y/i ? ' CHECKED' : ''%>>
+    </TD>
+
   </TR>
 % foreach ( 1 .. $columns-1 ) {
 %       if ( $count == int( $_ * scalar(@part_svc) / $columns ) ) { 
 
 </TR></TABLE></TD></TR></TABLE>
 
+% if ( scalar(@possible_exports) > 0 || scalar(@mapped_exports) > 0 ) {
+   <TABLE><TR>
+       <TH BGCOLOR="#dcdcdc">Export</TH>
+       <TH BGCOLOR="#dcdcdc">Vendor Package Id <FONT SIZE="-2">(blank to delete)</FONT></TH>
+       </TR>
+%   foreach my $export ( @mapped_exports ) {
+       <TR>
+           <TD><% $export->exportname %></TD>
+           <TD><INPUT TYPE="text" NAME="export<% $export->exportnum %>"
+                   SIZE="30" VALUE="<% $vendor_pkg_ids{$export->exportnum} %>">
+           </TD>
+       </TR>
+%   } 
+%   foreach my $export ( @possible_exports ) {
+%      unless ( defined $vendor_pkg_ids{$export->exportnum} ) {
+           <TR>
+               <TD><% $export->exportname %></TD>
+               <TD>
+                   <INPUT TYPE="text" NAME="export<% $export->exportnum %>" SIZE="30">
+               </TD>
+           </TR>
+%      }
+%   }
+  </TABLE>
+% }
+
   </TD>
 </TR>
 
@@ -75,6 +118,7 @@ my $thead =  "\n\n". ntable('#cccccc', 2).
              '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-2>Primary</FONT></TH>'.
              '<TH BGCOLOR="#dcdcdc">Service</TH>'.
              '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Hide</FONT></TH>'.
+             '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Hold<BR>Until<BR>Provision</FONT></TH>'.
              '</TR>';
 
 my $part_pkg = $opt{'object'};
@@ -97,4 +141,12 @@ my @fixups = ();
 my $count = 0;
 my $columns = 3;
 
+my @possible_exports = ();
+my @mapped_exports = ();
+my @part_pkg_vendor = $part_pkg->part_pkg_vendor;
+foreach my $part_pkg_vendor ( @part_pkg_vendor ) {
+    push @mapped_exports, $part_pkg_vendor->part_export;
+}
+my %vendor_pkg_ids = $part_pkg->vendor_pkg_ids;
+
 </%init>