summaryrefslogtreecommitdiff
path: root/httemplate/elements
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/elements')
-rw-r--r--httemplate/elements/select-taxclass.html48
-rw-r--r--httemplate/elements/tr-select-taxclass.html32
2 files changed, 55 insertions, 25 deletions
diff --git a/httemplate/elements/select-taxclass.html b/httemplate/elements/select-taxclass.html
index 495572323..3c1558b72 100644
--- a/httemplate/elements/select-taxclass.html
+++ b/httemplate/elements/select-taxclass.html
@@ -1,40 +1,38 @@
-%
-% my $conf = new FS::Conf;
-% my $selected_taxclass = scalar(@_) ? shift : '';
-%
% if ( $conf->exists('enable_taxclasses') ) {
-
<SELECT NAME="taxclass">
-% if ( $conf->exists('require_taxclasses') ) {
-
+% if ( $conf->exists('require_taxclasses') ) {
<OPTION VALUE="(select)">Select tax class
-% } else {
-
-
+% } else {
<OPTION VALUE="">
-% }
-%
-% 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};
-% my @taxclasses = grep $_, keys %taxclasses;
-%
-% foreach my $taxclass ( @taxclasses ) {
-
-
- <OPTION VALUE="<% $taxclass %>"<% $taxclass eq $selected_taxclass ? ' SELECTED' : '' %>><% $taxclass %>
-% }
+% }
+% foreach my $taxclass ( @{ $opt{'taxclasses'} } ) {
+ <OPTION VALUE="<% $taxclass %>"<% $taxclass eq $selected_taxclass ? ' SELECTED' : '' %>><% $taxclass %>
+% }
</SELECT>
-% } else {
+% } else {
<INPUT TYPE="hidden" NAME="taxclass" VALUE="<% $selected_taxclass %>">
+
% }
-
+<%init>
+
+my( $selected_taxclass, %opt ) = @_;
+my $conf = new FS::Conf;
+
+unless ( $opt{'taxclasses'} ) {
+
+ 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};
+ @{ $opt{'taxclasses'} } = grep $_, keys %taxclasses;
+
+}
+</%init>
diff --git a/httemplate/elements/tr-select-taxclass.html b/httemplate/elements/tr-select-taxclass.html
new file mode 100644
index 000000000..424d5ad02
--- /dev/null
+++ b/httemplate/elements/tr-select-taxclass.html
@@ -0,0 +1,32 @@
+% if ( ! $conf->exists('enable_taxclasses')
+% || scalar(@{ $opt{'taxclasses'} }) == 0
+% ) {
+
+ <INPUT TYPE="hidden" NAME="taxclass" VALUE="<% $taxclass %>">
+
+% } else {
+
+ <TR>
+ <TD ALIGN="right"><% $opt{'label'} || 'Tax class: ' %></TD>
+ <TD>
+ <% include( '/elements/select-taxclass.html', $taxclass, %opt ) %>
+ </TD>
+ </TR>
+
+% }
+<%init>
+
+my( $taxclass, %opt ) = @_;
+my $conf = new FS::Conf;
+
+unless ( $opt{'taxclasses'} ) {
+
+ 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};
+ @{ $opt{'taxclasses'} } = grep $_, keys %taxclasses;
+
+}
+
+</%init>