'type' => 'checkbox',
},
+ {
+ 'key' => 'require_taxclasses',
+ 'section' => 'billing',
+ 'description' => 'Require a taxclass to be entered for every package',
+ 'type' => 'checkbox',
+ },
+
{
'key' => 'welcome_email',
'section' => '',
or die 'illegal amount '. $cgi->param('amount');
my $amount = $1;
-my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
- or die "unknown custnum $custnum";
-
-my $error = $cust_main->charge(
- $amount,
- $cgi->param('pkg'),
- '$'. sprintf("%.2f",$amount),
- $cgi->param('taxclass')
-);
+my( $error, $cust_main);
+if ( $cgi->param('taxclass') eq '(select)' ) {
+
+
+ $error = "Must select a tax class";
+} else {
+
+ my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
+ or die "unknown custnum $custnum";
+
+ $error = $cust_main->charge(
+ $amount,
+ $cgi->param('pkg'),
+ '$'. sprintf("%.2f",$amount),
+ $cgi->param('taxclass')
+ );
+
+}
if ($error) {
%>
<FORM ACTION="<%=$p%>edit/process/quick-charge.cgi" METHOD="POST">
<INPUT TYPE="hidden" NAME="custnum" VALUE="<%= $cust_main->custnum %>">
Description:<INPUT TYPE="text" NAME="pkg">
- Amount:<INPUT TYPE="text" NAME="amount" SIZE=6>
- <%
+Amount:<INPUT TYPE="text" NAME="amount" SIZE=6>
+<% #false laziness w/ edit/part_pkg.cgi %>
+<% if ( $conf->exists('enable_taxclasses') ) { %>
+
+ <SELECT NAME="taxclass">
+
+ <% if ( $conf->exists('require_taxclasses') ) { %>
+
+ <OPTION VALUE="(select)">Select tax class
+
+ <% } 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;
+ %>
- #false laziness w/ edit/part_pkg.cgi
- if ( $conf->exists('enable_taxclasses') ) {
- print '<SELECT NAME="taxclass">';
- my $sth = dbh->prepare('SELECT DISTINCT taxclass FROM cust_main_county')
- or die dbh->errstr;
- $sth->execute or die $sth->errstr;
- foreach my $taxclass ( map $_->[0], @{$sth->fetchall_arrayref} ) {
- print qq!<OPTION VALUE="$taxclass"!;
- #print ' SELECTED' if $taxclass eq $hashref->{taxclass};
- print qq!>$taxclass</OPTION>!;
- }
- print '</SELECT>';
- } else {
- print '<INPUT TYPE="hidden" NAME="taxclass" VALUE="">';
- }
+ <% foreach my $taxclass ( @taxclasses ) { %>
+
+ <OPTION VALUE="<%= $taxclass %>"<%= 0 ? ' SELECTED' : '' %>><%= $taxclass %>
+
+ <% } %>
-%>
+ </SELECT>
+
+<% } else { %>
+
+ <INPUT TYPE="hidden" NAME="taxclass" VALUE="">';
+
+<% } %>
<INPUT TYPE="submit" VALUE="One-time charge">
</FORM>