projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e960748
)
make discount-show-always get along with setup discounts, RT#11512
author
ivan
<ivan>
Tue, 25 Oct 2011 00:05:20 +0000
(
00:05
+0000)
committer
ivan
<ivan>
Tue, 25 Oct 2011 00:05:20 +0000
(
00:05
+0000)
FS/FS/cust_main/Billing.pm
patch
|
blob
|
history
diff --git
a/FS/FS/cust_main/Billing.pm
b/FS/FS/cust_main/Billing.pm
index
f4842e6
..
3cc7b9b
100644
(file)
--- a/
FS/FS/cust_main/Billing.pm
+++ b/
FS/FS/cust_main/Billing.pm
@@
-842,7
+842,6
@@
sub _make_lines {
my $old_cust_pkg = new FS::cust_pkg \%hash;
my @details = ();
my $old_cust_pkg = new FS::cust_pkg \%hash;
my @details = ();
- my @discounts = ();
my $lineitems = 0;
$cust_pkg->pkgpart($part_pkg->pkgpart);
my $lineitems = 0;
$cust_pkg->pkgpart($part_pkg->pkgpart);
@@
-853,7
+852,8
@@
sub _make_lines {
my $setup = 0;
my $unitsetup = 0;
my $setup = 0;
my $unitsetup = 0;
- my %setup_param = ();
+ my @setup_discounts = ();
+ my %setup_param = ( 'discounts' => \@setup_discounts );
if ( ! $options{recurring_only}
and ! $options{cancel}
and ( $options{'resetup'}
if ( ! $options{recurring_only}
and ! $options{cancel}
and ( $options{'resetup'}
@@
-900,6
+900,7
@@
sub _make_lines {
#XXX unit stuff here too
my $recur = 0;
my $unitrecur = 0;
#XXX unit stuff here too
my $recur = 0;
my $unitrecur = 0;
+ my @recur_discounts = ();
my $sdate;
if ( ! $cust_pkg->start_date
and ( ! $cust_pkg->susp || $part_pkg->option('suspend_bill', 1) )
my $sdate;
if ( ! $cust_pkg->start_date
and ( ! $cust_pkg->susp || $part_pkg->option('suspend_bill', 1) )
@@
-931,12
+932,12
@@
sub _make_lines {
&& ( $cust_pkg->getfield('bill') || 0 ) <= $time
&& !$options{cancel}
);
&& ( $cust_pkg->getfield('bill') || 0 ) <= $time
&& !$options{cancel}
);
- my %param = ( 'precommit_hooks' => $precommit_hooks,
+ my %param = ( %setup_param,
+ 'precommit_hooks' => $precommit_hooks,
'increment_next_bill' => $increment_next_bill,
'increment_next_bill' => $increment_next_bill,
- 'discounts' => \@discounts,
+ 'discounts' => \@
recur_
discounts,
'real_pkgpart' => $real_pkgpart,
'freq_override' => $options{freq_override} || '',
'real_pkgpart' => $real_pkgpart,
'freq_override' => $options{freq_override} || '',
- %setup_param,
);
my $method = $options{cancel} ? 'calc_cancel' : 'calc_recur';
);
my $method = $options{cancel} ? 'calc_cancel' : 'calc_recur';
@@
-1009,8
+1010,10
@@
sub _make_lines {
return "negative recur $recur for pkgnum ". $cust_pkg->pkgnum;
}
return "negative recur $recur for pkgnum ". $cust_pkg->pkgnum;
}
- my $discount_show_always = ($recur == 0 && scalar(@discounts)
- && $conf->exists('discount-show-always'));
+ my $discount_show_always = $conf->exists('discount-show-always')
+ && ( ($setup == 0 && scalar(@setup_discounts))
+ || ($recur == 0 && scalar(@recur_discounts))
+ );
if ( $setup != 0
|| $recur != 0
if ( $setup != 0
|| $recur != 0
@@
-1039,7
+1042,7
@@
sub _make_lines {
'unitrecur' => $unitrecur,
'quantity' => $cust_pkg->quantity,
'details' => \@details,
'unitrecur' => $unitrecur,
'quantity' => $cust_pkg->quantity,
'details' => \@details,
- 'discounts' =>
\@discounts
,
+ 'discounts' =>
[ @setup_discounts, @recur_discounts ]
,
'hidden' => $part_pkg->hidden,
'freq' => $part_pkg->freq,
};
'hidden' => $part_pkg->hidden,
'freq' => $part_pkg->freq,
};