bugfixes; fields isn't exported by derived classes
[freeside.git] / htdocs / edit / process / part_pkg.cgi
index 78ed696..d1f023d 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -Tw
 #
-# $Id: part_pkg.cgi,v 1.2 1998-11-15 13:16:15 ivan Exp $
+# $Id: part_pkg.cgi,v 1.5 1998-12-30 23:03:29 ivan Exp $
 #
 # process/part_pkg.cgi: Edit package definitions (process form)
 #
 # lose background, FS::CGI ivan@sisd.com 98-sep-2
 #
 # $Log: part_pkg.cgi,v $
-# Revision 1.2  1998-11-15 13:16:15  ivan
+# Revision 1.5  1998-12-30 23:03:29  ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.4  1998/12/17 08:40:24  ivan
+# s/CGI::Request/CGI.pm/; etc
+#
+# Revision 1.3  1998/11/21 07:17:58  ivan
+# bugfix to work for regular aswell as custom pricing
+#
+# Revision 1.2  1998/11/15 13:16:15  ivan
 # first pass as per-user custom pricing
 #
 
@@ -26,8 +35,8 @@ use CGI;
 use CGI::Carp qw(fatalsToBrowser);
 use FS::UID qw(cgisuidsetup);
 use FS::CGI qw(eidiot popurl);
-use FS::Record qw(qsearch qsearchs);
-use FS::part_pkg qw(fields);
+use FS::Record qw(qsearch qsearchs fields);
+use FS::part_pkg;
 use FS::pkg_svc;
 use FS::cust_pkg;
 
@@ -40,7 +49,7 @@ my($old)=qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
 
 my($new)=create FS::part_pkg ( {
   map {
-    $_, $cgi->param($_);
+    $_, scalar($cgi->param($_));
   } fields('part_pkg')
 } );
 
@@ -86,10 +95,8 @@ foreach $part_svc (qsearch('part_svc',{})) {
   }
 }
 
-unless ( $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
-  #$req->cgi->redirect("../../view/part_pkg.cgi?$pkgpart");
-  #$req->cgi->redirect("../../edit/part_pkg.cgi?$pkgpart");
-  $cgi->redirect("../../browse/part_pkg.cgi");
+unless ( $cgi->param('pkgnum') && $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
+  print $cgi->redirect(popurl(3). "browse/part_pkg.cgi");
 } else {
   my($old_cust_pkg) = qsearchs( 'cust_pkg', { 'pkgnum' => $1 } );
   my %hash = $old_cust_pkg->hash;
@@ -97,7 +104,7 @@ unless ( $cgi->param('pkgnum') =~ /^(\d+)$/ ) {
   my($new_cust_pkg) = create FS::cust_pkg \%hash;
   my $error = $new_cust_pkg->replace($old_cust_pkg);
   eidiot "Error modifying cust_pkg record: $error\n" if $error;
-  print $cgi->redirect(popurl(3). "/view/cust_main.cgi?". $new_cust_pkg->custnum);
+  print $cgi->redirect(popurl(3). "view/cust_main.cgi?". $new_cust_pkg->custnum);
 }