X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fpart_pkg.cgi;h=d489426f96e440b952698b12b94e9d21a3252b85;hp=cd799b5b9608914986886dec1fc563fbef5ce266;hb=22a35047ecdffff80110e06cc08fc84f9ddba9b0;hpb=60c837e0aaf454dfa0b0c0283dc36928782d1b6c diff --git a/httemplate/edit/process/part_pkg.cgi b/httemplate/edit/process/part_pkg.cgi index cd799b5b9..d489426f9 100755 --- a/httemplate/edit/process/part_pkg.cgi +++ b/httemplate/edit/process/part_pkg.cgi @@ -1,51 +1,39 @@ <% -# -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'); - -$old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart; +my $old = qsearchs('part_pkg',{'pkgpart'=>$pkgpart}) if $pkgpart; #fixup plandata my $plandata = $cgi->param('plandata'); my @plandata = split(',', $plandata); $cgi->param('plandata', - join('', map { "$_=". $cgi->param($_). "\n" } @plandata ) + join('', map { "$_=". join(', ', $cgi->param($_)). "\n" } @plandata ) ); -$cgi->param('setuptax','') unless defined $cgi->param('setuptax'); -$cgi->param('recurtax','') unless defined $cgi->param('recurtax'); +foreach (qw( setuptax recurtax disabled )) { + $cgi->param($_, '') unless defined $cgi->param($_); +} -$new = new FS::part_pkg ( { +my $new = new FS::part_pkg ( { map { $_, scalar($cgi->param($_)); } fields('part_pkg') } ); -warn "setuptax: ". $new->setuptax; -warn "recurtax: ". $new->recurtax; +#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(); } } @@ -58,6 +46,7 @@ local $SIG{PIPE} = 'IGNORE'; local $FS::UID::AutoCommit = 0; +my $error; if ( $pkgpart ) { $error = $new->replace($old); } else { @@ -68,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,