sub option_fields {
(
- 'percent' => { label=>'Percent', size=>2, },
- 'reason' => 'Reason',
+ 'percent' => { label=>'Percent', size=>2, },
+ 'reason' => 'Reason',
+ 'taxclass' => { label=>'Tax class', type=>'select-taxclass', },
);
}
#my $cust_main = $self->cust_main($cust_bill);
my $cust_main = $cust_bill->cust_main;
- my $error = $cust_main->charge(
- sprintf('%.2f', $cust_bill->owed * $self->option('percent') / 100 ),
- $self->option('reason')
- );
+ my $amount =
+ sprintf('%.2f', $cust_bill->owed * $self->option('percent') / 100 );
+
+ my $error = $cust_main->charge( {
+ 'amount' => $amount,
+ 'pkg' => $self->option('reason'),
+ 'taxclass' => $self->option('taxclass'),
+ #'start_date' => $cust_main->next_bill_date, #unless its more than N months away?
+ } );
+
die $error if $error;
'';
sub option_fields {
(
- 'charge' => { label=>'Amount', type=>'money', }, # size=>7, },
- 'reason' => 'Reason',
+ 'charge' => { label=>'Amount', type=>'money', }, # size=>7, },
+ 'reason' => 'Reason',
+ 'taxclass' => { label=>'Tax class', type=>'select-taxclass', },
);
}
my $cust_main = $self->cust_main($cust_object);
- my $error = $cust_main->charge( $self->option('charge'), $self->option('reason') );
+ my $error = $cust_main->charge( {
+ 'amount' => $self->option('charge'),
+ 'pkg' => $self->option('reason'),
+ 'taxclass' => $self->option('taxclass')
+ #'start_date' => $cust_main->next_bill_date, #unless its more than N months away?
+ } );
die $error if $error;
% if ( $conf->exists('enable_taxclasses') ) {
- <SELECT NAME="<% $opt{'name'} || 'taxclass' %>">
+ <SELECT NAME="<% $opt{'element_name'} || $opt{'field'} || 'taxclass' %>">
% if ( $conf->exists('require_taxclasses') ) {
<OPTION VALUE="(select)">Select tax class
% } else {
- <INPUT TYPE="hidden" NAME="taxclass" VALUE="<% $selected_taxclass %>">
+ <INPUT TYPE="hidden" NAME="<% $opt{'element_name'} || $opt{'field'} || 'taxclass' %>" VALUE="<% $selected_taxclass %>">
% }
<TR>
<TD ALIGN="right"><% $opt{'label'} || 'Tax class: ' %></TD>
<TD>
- <% include( '/elements/select-taxclass.html', 'curr_value' => $selected_taxclass, %opt ) %>
+ <% include( '/elements/select-taxclass.html',
+ 'curr_value' => $selected_taxclass,
+ %opt
+ )
+ %>
</TD>
</TR>