<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 = '';
}
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);
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;
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>