<TR>
- <TD BGCOLOR="#e8e8e8" COLSPAN=99>
+ <TD CLASS="background" COLSPAN=99>
+
+<SCRIPT>
+var provision_hold_td = [];
+var provision_hold_input = [];
+</SCRIPT>
<% itable('', 4, 1) %><TR><TD VALIGN="top">
-<% $thead %>
+<% pkg_svc_thead() %>
%foreach my $part_svc ( @part_svc ) {
% my $svcpart = $part_svc->svcpart;
% 'svcpart' => $svcpart,
% 'quantity' => 0,
% 'primary_svc' => '',
+% 'hidden' => '',
% } );
% if ( $cgi->param('error') ) {
% my $primary_svc = ( $pkg_svc->primary_svc =~ /^Y/i );
% $quan = $1;
% } 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>
- <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" ID="td_provision_hold<% $svcpart %>">
+ <INPUT TYPE="checkbox" ID="input_provision_hold<% $svcpart %>" NAME="provision_hold<% $svcpart %>" VALUE="Y"<% $provision_hold =~ /^Y/i ? ' CHECKED' : ''%>>
</TD>
+<SCRIPT>
+provision_hold_td.push(document.getElementById('td_provision_hold<% $svcpart %>'));
+provision_hold_input.push(document.getElementById('input_provision_hold<% $svcpart %>'));
+</SCRIPT>
+
</TR>
% foreach ( 1 .. $columns-1 ) {
% if ( $count == int( $_ * scalar(@part_svc) / $columns ) ) {
%
- </TABLE></TD><TD VALIGN="top"><% $thead %>
+ </TABLE></TD><TD VALIGN="top"><% pkg_svc_thead() %>
% }
% }
% $count++;
%
-% }
+% } # foreach $part_svc
</TR></TABLE></TD></TR></TABLE>
+<SCRIPT>
+// start_on_hold from edit/part_pkg.cgi
+// toggles display of provision_hold checkboxes when that changes
+function provision_hold_check () {
+ var start_on_hold = document.getElementById('start_on_hold');
+ if (start_on_hold) {
+ for (i = 0; i < provision_hold_td.length; i++) {
+ provision_hold_td[i].style.display = start_on_hold.checked ? '' : 'none';
+ }
+ for (i = 0; i < provision_hold_input.length; i++) {
+ provision_hold_input[i].disabled = start_on_hold.checked ? false : true;
+ }
+ }
+}
+function provision_hold_init () {
+ var start_on_hold = document.getElementById('start_on_hold');
+ if (start_on_hold) {
+ start_on_hold.onchange = provision_hold_check;
+ provision_hold_check();
+ }
+}
+provision_hold_init();
+</SCRIPT>
+
+% 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>
my %opt = @_;
my $cgi = $opt{'cgi'};
-my $thead = "\n\n". ntable('#cccccc', 2).
- '<TR><TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Quan.</FONT></TH>'.
- '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-2>Primary</FONT></TH>'.
- '<TH BGCOLOR="#dcdcdc">Service</TH></TR>';
+my $thead_count = 0;
+sub pkg_svc_thead {
+ $thead_count += 1;
+ return "\n\n". ntable('#cccccc', 2).
+ '<TR>'.
+ '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Quan.</FONT></TH>'.
+ '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Primary</FONT></TH>'.
+ '<TH BGCOLOR="#dcdcdc">Service</TH>'.
+ '<TH BGCOLOR="#dcdcdc"><FONT SIZE=-1>Hide<BR>from<BR>Invoices</FONT></TH>'.
+ '<TH BGCOLOR="#dcdcdc" ID="th_provision_hold' . $thead_count . '"><FONT SIZE=-1>Remove Hold After Provisioning</FONT></TH>'.
+ '</TR>'.
+ qq!<SCRIPT>provision_hold_td.push(document.getElementById('th_provision_hold$thead_count'))</SCRIPT>!;
+;
+}
my $part_pkg = $opt{'object'};
my $pkgpart = $part_pkg->pkgpart;
#my $q_part_pkg = $clone_part_pkg || $part_pkg;
#my %pkg_svc = map { $_->svcpart => $_ } $q_part_pkg->pkg_svc;
-my %pkg_svc = map { $_->svcpart => $_ } $part_pkg->pkg_svc;
+my %pkg_svc = map { $_->svcpart => $_ } $part_pkg->pkg_svc('disable_linked'=>1);
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>