diff options
-rwxr-xr-x | httemplate/edit/part_pkg.cgi | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index 128775619..e6e10e73f 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -187,22 +187,20 @@ if ( $pkgpart ) { )"; } my @part_svc = qsearch('part_svc', {}, '', $where); +my %pkg_svc = map { $_->svcpart => $_ } $part_pkg->pkg_svc; my @fixups = (); my $count = 0; my $columns = 3; foreach my $part_svc ( @part_svc ) { my $svcpart = $part_svc->svcpart; - my $pkg_svc = $pkgpart && qsearchs( 'pkg_svc', { - 'pkgpart' => $pkgpart, - 'svcpart' => $svcpart, - } ) || new FS::pkg_svc ( { - 'pkgpart' => $pkgpart, - 'svcpart' => $svcpart, - 'quantity' => 0, - 'primary_svc' => '', - }); - #? #next unless $pkg_svc; + my $pkg_svc = $pkg_svc{$svcpart} + || new FS::pkg_svc ( { + 'pkgpart' => $pkgpart, + 'svcpart' => $svcpart, + 'quantity' => 0, + 'primary_svc' => '', + } ); push @fixups, "pkg_svc$svcpart"; |