[freeside-commits] branch FREESIDE_2_3_BRANCH updated. 65a95197d48922dc4d62ca259c37b1b13eefc0f8
Ivan
ivan at 420.am
Sun Jan 20 11:43:08 PST 2013
The branch, FREESIDE_2_3_BRANCH has been updated
via 65a95197d48922dc4d62ca259c37b1b13eefc0f8 (commit)
from 6988f1f4ed6b7cd18292675a55605ae8a1fe66f2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 65a95197d48922dc4d62ca259c37b1b13eefc0f8
Author: Ivan Kohler <ivan at freeside.biz>
Date: Sun Jan 20 11:43:01 2013 -0800
commissions based on actual invoiced amounts, RT#21002
diff --git a/FS/FS/part_event/Action/Mixin/credit_pkg.pm b/FS/FS/part_event/Action/Mixin/credit_pkg.pm
index 9dcd701..a3c1d6e 100644
--- a/FS/FS/part_event/Action/Mixin/credit_pkg.pm
+++ b/FS/FS/part_event/Action/Mixin/credit_pkg.pm
@@ -16,18 +16,24 @@ sub option_fields {
'type' => 'input-percentage',
'default' => '100',
},
- 'what' => { 'label' => 'Of',
- 'type' => 'select',
- #add additional ways to specify in the package def
- 'options' => [ qw( base_recur_permonth unit_setup recur_cost_permonth setup_cost ) ],
- 'labels' => { 'base_recur_permonth' => 'Base monthly fee',
- 'unit_setup' => 'Setup fee',
- 'recur_cost_permonth' => 'Monthly cost',
- 'setup_cost' => 'Setup cost',
- },
- },
+ 'what' => {
+ 'label' => 'Of',
+ 'type' => 'select',
+ #add additional ways to specify in the package def
+ 'options' => [qw(
+ base_recur_permonth cust_bill_pkg_recur recur_cost_permonth
+ unit_setup setup_cost
+ )],
+ 'labels' => {
+ 'base_recur_permonth' => 'Base monthly fee',
+ 'cust_bill_pkg_recur' => 'Actual invoiced amount of most recent'.
+ ' recurring charge',
+ 'recur_cost_permonth' => 'Monthly cost',
+ 'unit_setup' => 'Setup fee',
+ 'setup_cost' => 'Setup cost',
+ },
+ },
);
-
}
#my %no_cust_pkg = ( 'setup_cost' => 1 );
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index 9fcbc4a..4054c2f 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -1318,6 +1318,29 @@ sub recur_cost_permonth {
sprintf('%.2f', $self->recur_cost / $self->freq );
}
+=item cust_bill_pkg_recur CUST_PKG
+
+Actual recurring charge for the specified customer package from customer's most
+recent invoice
+
+=cut
+
+sub cust_bill_pkg_recur {
+ my($self, $cust_pkg) = @_;
+ my $cust_bill_pkg = qsearchs({
+ 'table' => 'cust_bill_pkg',
+ 'addl_from' => 'LEFT JOIN cust_bill USING ( invnum )',
+ 'hashref' => { 'pkgnum' => $cust_pkg->pkgnum,
+ 'recur' => { op=>'>', value=>'0' },
+ },
+ 'order_by' => 'ORDER BY cust_bill._date DESC,
+ cust_bill_pkg.sdate DESC
+ LIMIT 1
+ ',
+ }) or return 0; #die "use cust_bill_pkg_recur credits with once_perinv condition";
+ $cust_bill_pkg->recur;
+}
+
=item format OPTION DATA
Returns data formatted according to the function 'format' described
-----------------------------------------------------------------------
Summary of changes:
FS/FS/part_event/Action/Mixin/credit_pkg.pm | 28 ++++++++++++++++----------
FS/FS/part_pkg.pm | 23 ++++++++++++++++++++++
2 files changed, 40 insertions(+), 11 deletions(-)
More information about the freeside-commits
mailing list