process/part_pkg_taxclass.html
authorivan <ivan>
Wed, 20 Feb 2008 01:10:32 +0000 (01:10 +0000)
committerivan <ivan>
Wed, 20 Feb 2008 01:10:32 +0000 (01:10 +0000)
httemplate/edit/cust_main_county-expand.cgi
httemplate/edit/process/cust_main_county-expand.cgi
httemplate/edit/process/invoice_logo.html
httemplate/edit/process/reg_code.cgi

index 22e8230..d5297ab 100755 (executable)
@@ -5,7 +5,6 @@
 <FORM ACTION="<% $p1 %>process/cust_main_county-expand.cgi" METHOD=POST>
 
 <INPUT TYPE="hidden" NAME="taxnum" VALUE="<% $taxnum %>">
-<INPUT TYPE="hidden" NAME="taxclass" VALUE="<% $taxclass |h %>">
 
 <TEXTAREA NAME="expansion" COLS="50" ROWS="16"><% $expansion |h %></TEXTAREA>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
-my($taxnum, $expansion, $taxclass);
+my($taxnum, $expansion);
 my($query) = $cgi->keywords;
 if ( $cgi->param('error') ) {
   $taxnum = $cgi->param('taxnum');
   $expansion = $cgi->param('expansion');
-  $taxclass = $cgi->param('taxclass');
 } else {
-  $query =~ /^(taxclass)?(\d+)$/
+  $query =~ /^(\d+)$/
     or die "Illegal taxnum (query $query)";
-  $taxclass = $1 ? 'taxclass' : '';
-  $taxnum = $2;
+  $taxnum = $1;
   $expansion = '';
 }
 
@@ -39,28 +36,13 @@ my $cust_main_county = qsearchs('cust_main_county',{'taxnum'=>$taxnum})
   or die "cust_main_county.taxnum $taxnum not found";
 
 my $title;
-if ( $taxclass ) {
-  die "Can't expand entry!" if $cust_main_county->taxclass;
 
-  $title = 'Tax Classes';
+die "Can't expand entry!" if $cust_main_county->county;
 
-  # prepopuplate with other tax classes... which should really have a primary
-  #  key of their own... also this could be more efficient in the error case...
-  my $sth = dbh->prepare("SELECT DISTINCT taxclass FROM cust_main_county")
-    or die dbh->errstr;
-  $sth->execute or die $sth->errstr;
-  my %taxclasses = map { $_->[0] => 1 } @{$sth->fetchall_arrayref};
-  $expansion ||= join("\n", grep $_, keys %taxclasses );
-  
+if ( $cust_main_county->state ) {
+  $title = 'Counties';
 } else {
-  die "Can't expand entry!" if $cust_main_county->county;
-
-  if ( $cust_main_county->state ) {
-    $title = 'Counties';
-  } else {
-    $title = 'States/Provinces';
-  }
-
+  $title = 'States/Provinces';
 }
 
 my $p1 = popurl(1);
index a8b4c25..758345e 100755 (executable)
@@ -16,18 +16,29 @@ my $taxnum = $1;
 my $cust_main_county = qsearchs('cust_main_county',{'taxnum'=>$taxnum})
   or die ("Unknown taxnum!");
 
-my @expansion = split /[\n\r]{1,2}/, $cgi->param('expansion');
-#warn scalar(@expansion);
-#warn "$_: $expansion[$_]\n" foreach (0..$#expansion);
-
-@expansion=map {
-  unless ( /^\s*([\w\- ]+)\s*$/ ) {
-    $cgi->param('error', "Illegal item in expansion: $_");
-    print $cgi->redirect(popurl(2). "cust_main_county-expand.cgi?". $cgi->query_string );
-    myexit();
-  }
-  $1;
-} @expansion;
+my @expansion;
+if ( $cgi->param('taxclass') ) {
+  my $sth = dbh->prepare('SELECT taxclass FROM part_pkg_taxclass')
+    or die dbh->errstr;
+  $sth->execute or die $sth->errstr;
+  @expansion = map $_->[0], @{$sth->fetchall_arrayref};
+  die "no taxclasses - add one first" unless @expansion;#XXX better err handling
+} else {
+  @expansion = split /[\n\r]{1,2}/, $cgi->param('expansion');
+
+  #warn scalar(@expansion);
+  #warn "$_: $expansion[$_]\n" foreach (0..$#expansion);
+
+  @expansion=map {
+    unless ( /^\s*([\w\- ]+)\s*$/ ) {
+      $cgi->param('error', "Illegal item in expansion: $_");
+      print $cgi->redirect(popurl(2). "cust_main_county-expand.cgi?". $cgi->query_string );
+      myexit();
+    }
+    $1;
+  } @expansion;
+
+}
 
 foreach ( @expansion) {
   my(%hash)=$cust_main_county->hash;
@@ -55,4 +66,13 @@ unless ( qsearch( 'cust_main', {
   die $error if $error;
 }
 
+if ( $cgi->param('taxclass') ) {
+  print $cgi->redirect(popurl(3). "browse/cust_main_county.cgi?".
+                         'state='.   uri_escape($cust_main_county->state  ).';'.
+                         'county='.  uri_escape($cust_main_county->county ).';'.
+                         'country='. uri_escape($cust_main_county->country)
+                      );
+  myexit;
+}
+
 </%init>
index d641a99..757fa94 100644 (file)
@@ -23,4 +23,3 @@ $conf->set("logo$name.$type", $data);
 $cgi->redirect(popurl(3). "edit/invoice_logo.html?type=$type;name=$name;msg=Logo%20changed");
 
 </%init>
-
index c432799..035e10b 100644 (file)
@@ -43,4 +43,3 @@ my @pkgparts =
 $error ||= $agent->generate_reg_codes($num, \@pkgparts);
 
 </%init>
-