X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Ftr-pkg_svc.html;h=2324545769e767344ee610c942091ddd0cd94dde;hp=a9561a11ae64a2efd0749bfdb7e763df52be182c;hb=50cc2b95894b151599b458462dcd83edb68980ce;hpb=f549c35e2fc921e61967722ac412c6666c1a1a15 diff --git a/httemplate/elements/tr-pkg_svc.html b/httemplate/elements/tr-pkg_svc.html index a9561a11a..232454576 100644 --- a/httemplate/elements/tr-pkg_svc.html +++ b/httemplate/elements/tr-pkg_svc.html @@ -1,17 +1,26 @@ - + + + <% itable('', 4, 1) %> -<% $thead %> +<% pkg_svc_thead() %> %foreach my $part_svc ( @part_svc ) { % my $svcpart = $part_svc->svcpart; % my $pkg_svc = $pkg_svc{$svcpart} -% || new FS::pkg_svc ( { -% 'pkgpart' => $pkgpart, -% 'svcpart' => $svcpart, -% 'quantity' => 0, -% 'primary_svc' => '', +% ||= qsearchs('pkg_svc', { 'pkgpart' => $pkgpart, +% 'svcpart' => $svcpart } ) +% || new FS::pkg_svc ( { +% 'pkgpart' => $pkgpart, +% 'svcpart' => $svcpart, +% 'quantity' => 0, +% 'primary_svc' => '', +% 'hidden' => '', +% 'bulk_skip' => '', % } ); % if ( $cgi->param('error') ) { % my $primary_svc = ( $pkg_svc->primary_svc =~ /^Y/i ); @@ -22,18 +31,40 @@ % if ! $primary_svc && $pkg_svc_primary == $svcpart; % } % -% push @fixups, "pkg_svc$svcpart"; -% % my $quan = 0; % if ( $cgi->param("pkg_svc$svcpart") =~ /^\s*(\d+)\s*$/ ) { % $quan = $1; % } elsif ( $pkg_svc->quantity ) { % $quan = $pkg_svc->quantity; % } +% +% my $hidden = ''; +% if ( grep { $_ eq "hidden_svc$svcpart" } $cgi->param ) { +% $hidden = $cgi->param("hidden_svc$svcpart"); +% } else { +% $hidden = $pkg_svc->hidden; +% } +% my $bulk_skip = ''; +% if ( grep { $_ eq "no_bulk_skip$svcpart" } $cgi->param ) { +% $bulk_skip = $cgi->param("no_bulk_skip$svcpart") eq 'Y' ? '' : 'Y'; +% } else { +% $bulk_skip = $pkg_svc->bulk_skip; +% } +% 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'); +% } - + @@ -41,22 +72,89 @@ - <% $part_svc->svc %> <% $part_svc->disabled =~ /^Y/i ? ' (DISABLED' : '' %> + <% $part_svc->svc %> <% $part_svc->disabled =~ /^Y/i ? ' (DISABLED)' : '' %> + + + + > + + + > + + + + > + + + % foreach ( 1 .. $columns-1 ) { % if ( $count == int( $_ * scalar(@part_svc) / $columns ) ) { % - <% $thead %> + <% pkg_svc_thead() %> % } % } % $count++; % -% } +% } # foreach $part_svc + + +% if ( scalar(@possible_exports) > 0 || scalar(@mapped_exports) > 0 ) { + + + + +% foreach my $export ( @mapped_exports ) { + + + + +% } +% foreach my $export ( @possible_exports ) { +% unless ( defined $vendor_pkg_ids{$export->exportnum} ) { + + + + +% } +% } +
ExportVendor Package Id (blank to delete)
<% $export->exportname %> +
<% $export->exportname %> + +
+% } + @@ -65,10 +163,21 @@ my %opt = @_; my $cgi = $opt{'cgi'}; -my $thead = "\n\n". ntable('#cccccc', 2). - 'Quan.'. - 'Primary'. - 'Service'; +my $thead_count = 0; +sub pkg_svc_thead { + $thead_count += 1; + return "\n\n". ''. + ''. + ''. + ''. + ''. + ''. + ''. + ''. + ''. + qq!!; +; +} my $part_pkg = $opt{'object'}; my $pkgpart = $part_pkg->pkgpart; @@ -84,10 +193,17 @@ my @part_svc = qsearch('part_svc', {}, '', $where); #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; +
Quan.PrimaryServiceHide
from
Invoices
Bulk
Charge
Remove Hold After Provisioning