removed <!-- $Id$ --> from all files to fix any redirects, whew
[freeside.git] / httemplate / edit / process / part_pkg.cgi
index 5850599..d489426 100755 (executable)
@@ -1,38 +1,39 @@
 <%
-#<!-- $Id: part_pkg.cgi,v 1.2 2001-08-21 02:31:56 ivan Exp $ -->
 
-use strict;
-use vars qw( $cgi $pkgpart $old $new $part_svc $error $dbh );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup);
-use FS::CGI qw(popurl);
-use FS::Record qw(qsearch qsearchs fields);
-use FS::part_pkg;
-use FS::pkg_svc;
-use FS::cust_pkg;
+my $dbh = dbh;
 
-$cgi = new CGI;
-$dbh = &cgisuidsetup($cgi);
+my $pkgpart = $cgi->param('pkgpart');
 
-$pkgpart = $cgi->param('pkgpart');
+my $old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
 
-$old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart;
+#fixup plandata
+my $plandata = $cgi->param('plandata');
+my @plandata = split(',', $plandata);
+$cgi->param('plandata', 
+  join('', map { "$_=". join(', ', $cgi->param($_)). "\n" } @plandata )
+);
 
-$new = new FS::part_pkg ( {
+foreach (qw( setuptax recurtax disabled )) {
+  $cgi->param($_, '') unless defined $cgi->param($_);
+}
+
+my $new = new FS::part_pkg ( {
   map {
     $_, scalar($cgi->param($_));
   } fields('part_pkg')
 } );
 
+#warn "setuptax: ". $new->setuptax;
+#warn "recurtax: ". $new->recurtax;
+
 #most of the stuff below should move to part_pkg.pm
 
-foreach $part_svc ( qsearch('part_svc', {} ) ) {
+foreach my $part_svc ( qsearch('part_svc', {} ) ) {
   my $quantity = $cgi->param('pkg_svc'. $part_svc->svcpart) || 0;
   unless ( $quantity =~ /^(\d+)$/ ) {
     $cgi->param('error', "Illegal quantity" );
     print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );
-    exit;
+    myexit();
   }
 }
 
@@ -45,6 +46,7 @@ local $SIG{PIPE} = 'IGNORE';
 
 local $FS::UID::AutoCommit = 0;
 
+my $error;
 if ( $pkgpart ) {
   $error = $new->replace($old);
 } else {
@@ -55,10 +57,10 @@ if ( $error ) {
   $dbh->rollback;
   $cgi->param('error', $error );
   print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );
-  exit;
+  myexit();
 }
 
-foreach $part_svc (qsearch('part_svc',{})) {
+foreach my $part_svc (qsearch('part_svc',{})) {
   my $quantity = $cgi->param('pkg_svc'. $part_svc->svcpart) || 0;
   my $old_pkg_svc = qsearchs('pkg_svc', {
     'pkgpart' => $pkgpart,