more mod_perl fixes, and bugfixes Peter Wemm sent via email
[freeside.git] / htdocs / edit / process / part_referral.cgi
index 9886015..cde27ed 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -Tw
 #
-# $Id: part_referral.cgi,v 1.5 1999-01-19 05:13:56 ivan Exp $
+# $Id: part_referral.cgi,v 1.6 1999-02-07 09:59:28 ivan Exp $
 #
 # ivan@sisd.com 98-feb-23
 #
 # lose background, FS::CGI ivan@sisd.com 98-sep-2
 #
 # $Log: part_referral.cgi,v $
-# Revision 1.5  1999-01-19 05:13:56  ivan
+# Revision 1.6  1999-02-07 09:59:28  ivan
+# more mod_perl fixes, and bugfixes Peter Wemm sent via email
+#
+# Revision 1.5  1999/01/19 05:13:56  ivan
 # for mod_perl: no more top-level my() variables; use vars instead
 # also the last s/create/new/;
 #
 #
 
 use strict;
-use vars qw( $cgi $refnum $new );
+use vars qw( $cgi $refnum $new $error );
 use CGI;
 use CGI::Carp qw(fatalsToBrowser);
 use FS::UID qw(cgisuidsetup);
 use FS::Record qw(qsearchs fields);
 use FS::part_referral;
-use FS::CGI qw(popurl eidiot);
+use FS::CGI qw(popurl);
 
 $cgi = new CGI;
 &cgisuidsetup($cgi);
@@ -45,15 +48,18 @@ $new = new FS::part_referral ( {
 } );
 
 if ( $refnum ) {
-  my($old)=qsearchs('part_referral',{'refnum'=>$refnum});
-  eidiot("(Old) Record not found!") unless $old;
-  my($error)=$new->replace($old);
-  eidiot($error) if $error;
+  my $old = qsearchs( 'part_referral', { 'refnum' =>$ refnum } );
+  die "(Old) Record not found!" unless $old;
+  $error = $new->replace($old);
 } else {
-  my($error)=$new->insert;
-  eidiot($error) if $error;
+  $error = $new->insert;
 }
+$refnum=$new->refnum;
 
-$refnum=$new->getfield('refnum');
-print $cgi->redirect(popurl(3). "browse/part_referral.cgi");
+if ( $error ) {
+  $cgi->param('error', $error);
+  print $cgi->redirect(popurl(2). "part_referral.cgi?". $cgi->query_string );
+} else {
+  print $cgi->redirect(popurl(3). "browse/part_referral.cgi");
+}