diff options
| author | ivan <ivan> | 2005-05-31 23:32:42 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2005-05-31 23:32:42 +0000 | 
| commit | 99769d0392773aaa9f7aadab78a77e42155ca273 (patch) | |
| tree | 3b8034af782317dc2353fd4b0ece7e97363d0c36 /httemplate/edit | |
| parent | 8ba2edbf6fd588d7bab077919c36dd7b702d3b59 (diff) | |
ack, this should finally fix the package editing problem
Diffstat (limited to 'httemplate/edit')
| -rwxr-xr-x | httemplate/edit/part_pkg.cgi | 27 | 
1 files changed, 15 insertions, 12 deletions
| diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index 1885e8e6b..4c0d98901 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -13,21 +13,26 @@ if ( $cgi->param('pkgnum') && $cgi->param('pkgnum') =~ /^(\d+)$/ ) {  }  my ($query) = $cgi->keywords; -my $action = ''; +  my $part_pkg = '';  if ( $cgi->param('error') ) {    $part_pkg = new FS::part_pkg ( {      map { $_, scalar($cgi->param($_)) } fields('part_pkg')    } );  } + +my $action = '';  my $clone_part_pkg = ''; +my $pkgpart = '';  if ( $cgi->param('clone') ) { +  $pkgpart = $cgi->param('clone');    $action = 'Custom Pricing';    $clone_part_pkg= qsearchs('part_pkg', { 'pkgpart' => $cgi->param('clone') } );    $part_pkg ||= $clone_part_pkg->clone;    $part_pkg->disabled('Y');  } elsif ( $query && $query =~ /^(\d+)$/ ) {    $part_pkg ||= qsearchs('part_pkg',{'pkgpart'=>$1}); +  $pkgpart = $part_pkg->pkgpart;  } else {    unless ( $part_pkg ) {      $part_pkg = new FS::part_pkg {}; @@ -173,21 +178,19 @@ unless ( 0 ) {  END  } + +my $where =  "WHERE disabled IS NULL OR disabled = ''"; +if ( $pkgpart ) { +  $where .=  "   OR 0 < ( SELECT quantity FROM pkg_svc +                           WHERE pkg_svc.svcpart = part_svc.svcpart +                             AND pkgpart = $pkgpart +                        )"; +}  my @fixups = ();  my $count = 0;  my $columns = 3; -my @part_svc = qsearch( -  'part_svc', -  {}, -  '', -  "WHERE disabled IS NULL OR disabled = '' -      OR 0 < ( SELECT quantity FROM pkg_svc -                WHERE pkg_svc.svcpart = part_svc.svcpart -             )" -); -foreach my $part_svc ( @part_svc ) { +foreach my $part_svc ( qsearch('part_svc', {}, '', $where) ) {    my $svcpart = $part_svc->svcpart; -  my $pkgpart = $cgi->param('clone') || $part_pkg->pkgpart;    my $pkg_svc = $pkgpart && qsearchs( 'pkg_svc', {      'pkgpart'  => $pkgpart,      'svcpart'  => $svcpart, | 
