From e6ea57971831f25d682d97a0ba508c39b66ecd8b Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 12 Apr 2002 13:22:03 +0000 Subject: - should finish off the part_svc -> part_export s/one-to-many/many-to-many/ transition (closes: Bug#375) - fixes a nasty export scoping bug with message catalogs, whew --- httemplate/edit/process/agent_type.cgi | 1 + httemplate/edit/process/part_export.cgi | 8 ++++---- httemplate/edit/process/part_svc.cgi | 23 +++++++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'httemplate/edit/process') diff --git a/httemplate/edit/process/agent_type.cgi b/httemplate/edit/process/agent_type.cgi index 67aacfdd5..516594573 100755 --- a/httemplate/edit/process/agent_type.cgi +++ b/httemplate/edit/process/agent_type.cgi @@ -22,6 +22,7 @@ if ( $error ) { print $cgi->redirect(popurl(2). "agent_type.cgi?". $cgi->query_string ); } else { + #false laziness w/ edit/process/part_svc.cgi foreach my $part_pkg (qsearch('part_pkg',{})) { my($pkgpart)=$part_pkg->getfield('pkgpart'); diff --git a/httemplate/edit/process/part_export.cgi b/httemplate/edit/process/part_export.cgi index 34eb699bf..6b4d007e4 100644 --- a/httemplate/edit/process/part_export.cgi +++ b/httemplate/edit/process/part_export.cgi @@ -5,7 +5,7 @@ my $exportnum = $cgi->param('exportnum'); my $old = qsearchs('part_export', { 'exportnum'=>$exportnum } ) if $exportnum; #fixup options -warn join('-', split(',',$cgi->param('options'))); +#warn join('-', split(',',$cgi->param('options'))); my %options = map { $_=>$cgi->param($_) } split(',',$cgi->param('options')); my $new = new FS::part_export ( { @@ -16,9 +16,9 @@ my $new = new FS::part_export ( { my $error; if ( $exportnum ) { - warn $old; - warn $exportnum; - warn $new->machine; + #warn $old; + #warn $exportnum; + #warn $new->machine; $error = $new->replace($old,\%options); } else { $error = $new->insert(\%options); diff --git a/httemplate/edit/process/part_svc.cgi b/httemplate/edit/process/part_svc.cgi index 31ab13438..859670b17 100755 --- a/httemplate/edit/process/part_svc.cgi +++ b/httemplate/edit/process/part_svc.cgi @@ -33,6 +33,29 @@ if ( $error ) { $cgi->param('error', $error); print $cgi->redirect(popurl(2). "part_svc.cgi?". $cgi->query_string ); } else { + + #false laziness w/ edit/process/agent_type.cgi + foreach my $part_export (qsearch('part_export',{})) { + my $exportnum = $part_export->exportnum; + my $export_svc = qsearchs('export_svc', { + 'exportnum' => $part_export->exportnum, + 'svcpart' => $new->svcpart, + } ); + if ( $export_svc && ! $cgi->param("exportnum". $part_export->exportnum) ) { + $error = $export_svc->delete; + die $error if $error; + } elsif ( $cgi->param("exportnum". $part_export->exportnum) + && ! $export_svc ) { + $export_svc = new FS::export_svc ( { + 'exportnum' => $part_export->exportnum, + 'svcpart' => $new->svcpart, + } ); + $error = $export_svc->insert; + die $error if $error; + } + + } + print $cgi->redirect(popurl(3)."browse/part_svc.cgi"); } -- cgit v1.2.1