8160527f630ddc40cac7e12978b19296dcdf850f
[freeside.git] / httemplate / edit / process / part_export.cgi
1 <%
2
3 my $dbh = dbh;
4
5 my $exportnum = $cgi->param('exportnum');
6
7 my $old = qsearchs('part_export', { 'exportnum'=>$exportnum } ) if $exportnum;
8
9 #fixup options
10 my %options = map { $_=>$cgi->param($_) } $cgi->param('options');
11
12 my $new = new FS::part_export ( {
13   map {
14     $_, scalar($cgi->param($_));
15   } fields('part_export')
16 } );
17
18 local $SIG{HUP} = 'IGNORE';
19 local $SIG{INT} = 'IGNORE';
20 local $SIG{QUIT} = 'IGNORE';
21 local $SIG{TERM} = 'IGNORE';
22 local $SIG{TSTP} = 'IGNORE';
23 local $SIG{PIPE} = 'IGNORE';
24
25 local $FS::UID::AutoCommit = 0;
26
27 my $error;
28 if ( $exportnum ) {
29   $error = $new->replace($old);
30 } else {
31   $error = $new->insert;
32   $exportnum = $new->exportnum;
33 }
34 if ( $error ) {
35   $dbh->rollback;
36   $cgi->param('error', $error );
37   print $cgi->redirect(popurl(2). "part_export.cgi?". $cgi->query_string );
38   myexit();
39 }
40
41 #options
42
43 $dbh->commit or die $dbh->errstr;
44 print $cgi->redirect(popurl(3). "browse/part_svc.cgi");
45
46 %>