summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/part_export.cgi
blob: 8160527f630ddc40cac7e12978b19296dcdf850f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%

my $dbh = dbh;

my $exportnum = $cgi->param('exportnum');

my $old = qsearchs('part_export', { 'exportnum'=>$exportnum } ) if $exportnum;

#fixup options
my %options = map { $_=>$cgi->param($_) } $cgi->param('options');

my $new = new FS::part_export ( {
  map {
    $_, scalar($cgi->param($_));
  } fields('part_export')
} );

local $SIG{HUP} = 'IGNORE';
local $SIG{INT} = 'IGNORE';
local $SIG{QUIT} = 'IGNORE';
local $SIG{TERM} = 'IGNORE';
local $SIG{TSTP} = 'IGNORE';
local $SIG{PIPE} = 'IGNORE';

local $FS::UID::AutoCommit = 0;

my $error;
if ( $exportnum ) {
  $error = $new->replace($old);
} else {
  $error = $new->insert;
  $exportnum = $new->exportnum;
}
if ( $error ) {
  $dbh->rollback;
  $cgi->param('error', $error );
  print $cgi->redirect(popurl(2). "part_export.cgi?". $cgi->query_string );
  myexit();
}

#options

$dbh->commit or die $dbh->errstr;
print $cgi->redirect(popurl(3). "browse/part_svc.cgi");

%>