=item apply_payments_and_credits [ OPTION => VALUE ... ]
Applies unapplied payments and credits to this invoice.
+Payments with the no_auto_apply flag set will not be applied.
A hash of optional arguments may be passed. Currently "manual" is supported.
If true, a payment receipt is sent instead of a statement when
$self->select_for_update; #mutex
- my @payments = grep { $_->unapplied > 0 } $self->cust_main->cust_pay;
+ my @payments = grep { $_->unapplied > 0 }
+ grep { !$_->no_auto_apply }
+ $self->cust_main->cust_pay;
my @credits = grep { $_->credited > 0 } $self->cust_main->cust_credit;
if ( $conf->exists('pkg-balances') ) {
my @items;
my ($pr_total) = $self->previous;
- my ($new_charges_desc, $new_charges_amount);
+ my ($previous_charges_desc, $new_charges_desc, $new_charges_amount);
if ( $conf->exists('previous_balance-exclude_from_total') ) {
+ # can we do some caching on this stuff? it's going to change infrequently
+ # in production
+ $previous_charges_desc = $self->mt(
+ $conf->config('previous_balance-text') || 'Previous Balance'
+ );
+
# then return separate lines for previous balance and total new charges
if ( $pr_total ) {
push @items,
- { total_item => $self->mt('Previous Balance'),
+ { total_item => $previous_charges_desc,
total_amount => sprintf('%.2f',$pr_total)
};
}
$new_charges_desc = $self->mt(
- $conf->config('previous_balance-exclude_from_total')
+ $conf->config('previous_balance-text-total_new_charges')
|| 'Total New Charges'
- ); # localize 'Total New Charges' or whatever's in the config
+ );
$new_charges_amount = $self->charged;