X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fcust_main_county-expand.cgi;h=a108276214a78e8160c96f90f4409f66b6272585;hb=75e11f1d1a5ced24496b5732e290f7762403feb8;hp=758345e8c51eb46b1c46f7c03d5addfcc60909c8;hpb=5e05724a635a22776f1b973f5d7e77989da4e048;p=freeside.git diff --git a/httemplate/edit/process/cust_main_county-expand.cgi b/httemplate/edit/process/cust_main_county-expand.cgi index 758345e8c..a10827621 100755 --- a/httemplate/edit/process/cust_main_county-expand.cgi +++ b/httemplate/edit/process/cust_main_county-expand.cgi @@ -22,7 +22,7 @@ if ( $cgi->param('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 + errorpage "No taxclasses - add one first" unless @expansion; } else { @expansion = split /[\n\r]{1,2}/, $cgi->param('expansion'); @@ -30,7 +30,7 @@ if ( $cgi->param('taxclass') ) { #warn "$_: $expansion[$_]\n" foreach (0..$#expansion); @expansion=map { - unless ( /^\s*([\w\- ]+)\s*$/ ) { + 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(); @@ -48,17 +48,21 @@ foreach ( @expansion) { $new->setfield('taxclass', $_); } elsif ( ! $cust_main_county->state ) { $new->setfield('state',$_); - } else { + } elsif ( ! $cust_main_county->county ) { $new->setfield('county',$_); + } else { + #uppercase cities in the US to try and agree with USPS validation + $new->setfield('city', $new->country eq 'US' ? uc($_) : $_ ); } my $error = $new->insert; die $error if $error; } unless ( qsearch( 'cust_main', { - 'state' => $cust_main_county->state, - 'county' => $cust_main_county->county, - 'country' => $cust_main_county->country, + 'city' => $cust_main_county->city, + 'county' => $cust_main_county->county, + 'state' => $cust_main_county->state, + 'country' => $cust_main_county->country, } ) || ! @expansion ) { @@ -68,8 +72,9 @@ unless ( qsearch( 'cust_main', { if ( $cgi->param('taxclass') ) { print $cgi->redirect(popurl(3). "browse/cust_main_county.cgi?". - 'state='. uri_escape($cust_main_county->state ).';'. + 'city='. uri_escape($cust_main_county->city ).';'. 'county='. uri_escape($cust_main_county->county ).';'. + 'state='. uri_escape($cust_main_county->state ).';'. 'country='. uri_escape($cust_main_county->country) ); myexit;