summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-08-30 17:06:47 -0700
committerIvan Kohler <ivan@freeside.biz>2017-08-30 17:06:47 -0700
commita9c79371a9053340f704adecef9bcd84a78b311d (patch)
treee74e1450883a5081411c5d5e4e807b1889c50d02
parent007febab237932fb8235cb6cae89904b46e58aa6 (diff)
fix prorate_day without force_prorate_day for recur_Common packages configured as subscription or prorate, RT#77140, RT#38191
-rw-r--r--FS/FS/part_pkg/recur_Common.pm15
1 files changed, 10 insertions, 5 deletions
diff --git a/FS/FS/part_pkg/recur_Common.pm b/FS/FS/part_pkg/recur_Common.pm
index 07355f688..0103b9560 100644
--- a/FS/FS/part_pkg/recur_Common.pm
+++ b/FS/FS/part_pkg/recur_Common.pm
@@ -43,12 +43,17 @@ sub cutoff_day {
my $recur_method = $self->option('recur_method',1) || 'anniversary';
my $cust_main = $cust_pkg->cust_main;
- if ( $cust_main->force_prorate_day and $cust_main->prorate_day ) {
- return ( $cust_main->prorate_day );
- } elsif ($recur_method eq 'prorate' || $recur_method eq 'subscription') {
+ return ( $cust_main->prorate_day )
+ if $cust_main->prorate_day and ( $cust_main->force_prorate_day
+ || $recur_method eq 'prorate'
+ || $recur_method eq 'subscription'
+ );
- return split(/\s*,\s*/, $self->option('cutoff_day', 1) || '1');
- }
+ return split(/\s*,\s*/, $self->option('cutoff_day', 1) || '1')
+ if $recur_method eq 'prorate'
+ || $recur_method eq 'subscription';
+
+ return ();
}
sub calc_recur_Common {