fix tax class selection in package add/edit too
[freeside.git] / httemplate / edit / process / part_pkg.cgi
index 2d6b344..0d0a134 100755 (executable)
@@ -19,22 +19,28 @@ foreach (qw( setuptax recurtax disabled )) {
 
 my $new = new FS::part_pkg ( {
   map {
-    $_, scalar($cgi->param($_));
+    $_ => scalar($cgi->param($_));
   } fields('part_pkg')
 } );
 
-my %pkg_svc = map { $_ => $cgi->param("pkg_svc$_") }
+my %pkg_svc = map { $_ => scalar($cgi->param("pkg_svc$_")) }
               map { $_->svcpart }
               qsearch('part_svc', {} );
 
 my $error;
 my $custnum = '';
-if ( $pkgpart ) {
+if ( $cgi->param('taxclass') eq '(select)' ) {
+
+  $error = 'Must select a tax class';
+
+} elsif ( $pkgpart ) {
+
   $error = $new->replace( $old,
                           pkg_svc     => \%pkg_svc,
                           primary_svc => scalar($cgi->param('pkg_svc_primary')),
                         );
 } else {
+
   $error = $new->insert(  pkg_svc     => \%pkg_svc,
                           primary_svc => scalar($cgi->param('pkg_svc_primary')),
                           cust_pkg    => $cgi->param('pkgnum'),
@@ -42,6 +48,7 @@ if ( $pkgpart ) {
                        );
   $pkgpart = $new->pkgpart;
 }
+
 if ( $error ) {
   $cgi->param('error', $error );
   print $cgi->redirect(popurl(2). "part_pkg.cgi?". $cgi->query_string );