import torrus 1.0.9
[freeside.git] / httemplate / edit / process / part_export.cgi
index 9ee1c59..209419f 100644 (file)
@@ -1,43 +1,42 @@
-<%
+%if ( $error ) {
+%  $cgi->param('error', $error );
+<% $cgi->redirect(popurl(2). "part_export.cgi?". $cgi->query_string ) %>
+%} else {
+<% $cgi->redirect(popurl(3). "browse/part_export.cgi") %>
+%}
+<%init>
 
-my $dbh = dbh;
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
 my $exportnum = $cgi->param('exportnum');
 
 my $old = qsearchs('part_export', { 'exportnum'=>$exportnum } ) if $exportnum;
 
+#fixup options
+#warn join('-', split(',',$cgi->param('options')));
+my %options = map {
+  my @values = $cgi->param($_);
+  my $value = scalar(@values) > 1 ? join (' ', @values) : $values[0];
+  $value =~ s/\r\n/\n/g; #browsers? (textarea)
+  $_ => $value;
+} split(',', $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);
+  #warn $old;
+  #warn $exportnum;
+  #warn $new->machine;
+  $error = $new->replace($old,\%options);
 } else {
-  $error = $new->insert;
-  $exportnum = $new->exportnum;
+  $error = $new->insert(\%options);
+#  $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");
 
-%>
+</%init>