[freeside-commits] freeside/httemplate/edit cust_main_county-expand.cgi, 1.11, 1.12 cust_main_county.html, NONE, 1.1
Ivan,,,
ivan at wavetail.420.am
Thu Jan 3 18:42:09 PST 2008
Update of /home/cvs/cvsroot/freeside/httemplate/edit
In directory wavetail:/tmp/cvs-serv10501/httemplate/edit
Modified Files:
cust_main_county-expand.cgi
Added Files:
cust_main_county.html
Log Message:
new tax rate editor
--- NEW FILE: cust_main_county.html ---
<% include('elements/edit.html',
'popup' => 1,
'name' => 'Tax rate', #Edit tax rate
'table' => 'cust_main_county',
'labels' => { 'taxnum' => 'Tax',
'country' => 'Country',
'state' => 'State',
'county' => 'County',
'taxclass' => 'Tax class',
'taxname' => 'Tax name',
'tax' => 'Tax rate',
'setuptax' => 'This tax not applicable to setup fees',
'recurtax' => 'This tax not applicable to recurring fees',
'exempt_amount' => 'Monthly exemption per customer ($25 "Texas tax")',
},
'fields' => \@fields,
)
%>
<%once>
my $conf = new FS::Conf;
</%once>
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
my $taxnum;
if ( $cgi->param('error') ) {
$cgi->param('taxnum') =~ /^(\d+)$/ or die 'error, but no taxnum';
$taxnum = $1;
} else {
my($query) = $cgi->keywords;
$query =~ /^(\d+)$/ or die 'no taxnum';
$taxnum = $1;
}
my $cust_main_county = qsearchs('cust_main_county', { 'taxnum' => $taxnum })
or die "unknown taxnum $1";
my @fields = (
{ field=>'country', type=>'fixed-country', },
{ field=>'state', type=>'fixed-state', },
{ field=>'county', type=>'fixed', },
);
push @fields, { field=>'taxclass', type=>'fixed', }
if $conf->exists('enable_taxclasses');
push @fields,
'taxname',
{ field=>'tax', type=>'percentage', },
{ type=>'tablebreak-tr-title', value=>'Exemptions' },
{ field=>'setuptax', type=>'checkbox', value=>'Y', },
{ field=>'recurtax', type=>'checkbox', value=>'Y', },
{ field=>'exempt_amount', type=>'money', },
;
</%init>
Index: cust_main_county-expand.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/cust_main_county-expand.cgi,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- cust_main_county-expand.cgi 27 Dec 2006 03:29:29 -0000 1.11
+++ cust_main_county-expand.cgi 4 Jan 2008 02:42:07 -0000 1.12
@@ -1,59 +1,65 @@
-<!-- mason kludge -->
-%
-%
-%my($taxnum, $delim, $expansion, $taxclass );
-%my($query) = $cgi->keywords;
-%if ( $cgi->param('error') ) {
-% $taxnum = $cgi->param('taxnum');
-% $delim = $cgi->param('delim');
-% $expansion = $cgi->param('expansion');
-% $taxclass = $cgi->param('taxclass');
-%} else {
-% $query =~ /^(taxclass)?(\d+)$/
-% or die "Illegal taxnum (query $query)";
-% $taxclass = $1 ? 'taxclass' : '';
-% $taxnum = $2;
-% $delim = 'n';
-% $expansion = '';
-%}
-%
-%my $cust_main_county = qsearchs('cust_main_county',{'taxnum'=>$taxnum})
-% or die "cust_main_county.taxnum $taxnum not found";
-%if ( $taxclass ) {
-% die "Can't expand entry!" if $cust_main_county->getfield('taxclass');
-%} else {
-% die "Can't expand entry!" if $cust_main_county->getfield('county');
-%}
-%
-%my $p1 = popurl(1);
-%print header("Tax Rate (expand)", menubar(
-% 'Main Menu' => popurl(2),
-%));
-%
-%print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'),
-% "</FONT>"
-% if $cgi->param('error');
-%
-%print <<END;
-% <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">
-% Separate by
-%END
-%print '<INPUT TYPE="radio" NAME="delim" VALUE="n"';
-%print ' CHECKED' if $delim eq 'n';
-%print '>line (broken on some browsers) or',
-% '<INPUT TYPE="radio" NAME="delim" VALUE="s"';
-%print ' CHECKED' if $delim eq 's';
-%print '>whitespace.';
-%print <<END;
-% <BR><INPUT TYPE="submit" VALUE="Submit">
-% <BR><TEXTAREA NAME="expansion" ROWS=100>$expansion</TEXTAREA>
-% </FORM>
-% </CENTER>
-% </BODY>
-%</HTML>
-%END
-%
-%
+<% include('/elements/header-popup.html', "Enter $title") %>
+
+<% include('/elements/error.html') %>
+<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>
+
+<BR>
+<INPUT TYPE="submit" VALUE="Add <% $title %>">
+
+</FORM>
+</BODY>
+</HTML>
+
+<%init>
+
+my($taxnum, $expansion, $taxclass);
+my($query) = $cgi->keywords;
+if ( $cgi->param('error') ) {
+ $taxnum = $cgi->param('taxnum');
+ $expansion = $cgi->param('expansion');
+ $taxclass = $cgi->param('taxclass');
+} else {
+ $query =~ /^(taxclass)?(\d+)$/
+ or die "Illegal taxnum (query $query)";
+ $taxclass = $1 ? 'taxclass' : '';
+ $taxnum = $2;
+ $expansion = '';
+}
+
+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';
+
+ # 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 );
+
+} else {
+ die "Can't expand entry!" if $cust_main_county->county;
+
+ if ( $cust_main_county->state ) {
+ $title = 'Counties';
+ } else {
+ $title = 'States/Provinces';
+ }
+
+}
+
+my $p1 = popurl(1);
+
+</%init>
More information about the freeside-commits
mailing list