From c110da0da864245e47cae019b8a347367cc6430c Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Sat, 25 Apr 2015 15:02:15 -0700 Subject: selfservice quotations, #33852 --- FS/FS/quotation.pm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'FS/FS/quotation.pm') diff --git a/FS/FS/quotation.pm b/FS/FS/quotation.pm index f2a96208f..45f35229f 100644 --- a/FS/FS/quotation.pm +++ b/FS/FS/quotation.pm @@ -695,22 +695,24 @@ sub estimate { # discounts if ( $cust_bill_pkg->get('discounts') ) { my $discount = $cust_bill_pkg->get('discounts')->[0]; - # discount records are generated as (setup, recur). - # well, not always, sometimes it's just (recur), but fixing this - # is horribly invasive. - my $qpd = $quotation_pkg_discount{$quotationpkgnum} - ||= qsearchs('quotation_pkg_discount', { - 'quotationpkgnum' => $quotationpkgnum - }); - - if (!$qpd) { #can't happen - warn "$me simulated bill returned a discount but no discount is in effect.\n"; - } - if ($discount and $qpd) { - if ( $i == 0 ) { - $qpd->set('setup_amount', $discount->amount); - } else { - $qpd->set('recur_amount', $discount->amount); + if ( $discount ) { + # discount records are generated as (setup, recur). + # well, not always, sometimes it's just (recur), but fixing this + # is horribly invasive. + my $qpd = $quotation_pkg_discount{$quotationpkgnum} + ||= qsearchs('quotation_pkg_discount', { + 'quotationpkgnum' => $quotationpkgnum + }); + + if (!$qpd) { #can't happen + warn "$me simulated bill returned a discount but no discount is in effect.\n"; + } + if ($discount and $qpd) { + if ( $i == 0 ) { + $qpd->set('setup_amount', $discount->amount); + } else { + $qpd->set('recur_amount', $discount->amount); + } } } } # end of discount stuff -- cgit v1.2.1