summaryrefslogtreecommitdiff
path: root/FS/FS/part_event/Action
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2015-02-11 16:07:58 -0600
committerJonathan Prykop <jonathan@freeside.biz>2015-02-11 16:07:58 -0600
commit9e120a90dac851bec98c5bd597e690714ffd93ad (patch)
tree3b71d6cf73c91b7da60959c6f6d5e5f6832f3d48 /FS/FS/part_event/Action
parent68dc4147208b554d3442bd463ca6d1c576af880d (diff)
RT#30586: Discounts for ACH
Diffstat (limited to 'FS/FS/part_event/Action')
-rw-r--r--FS/FS/part_event/Action/pkg_discount.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/FS/FS/part_event/Action/pkg_discount.pm b/FS/FS/part_event/Action/pkg_discount.pm
index 04a3a0f..592e044 100644
--- a/FS/FS/part_event/Action/pkg_discount.pm
+++ b/FS/FS/part_event/Action/pkg_discount.pm
@@ -3,7 +3,7 @@ package FS::part_event::Action::pkg_discount;
use strict;
use base qw( FS::part_event::Action );
-sub description { "Discount active customer packages"; }
+sub description { "Discount unsuspended customer packages (monthly recurring only)"; }
sub eventtable_hashref {
{ 'cust_main' => 1 };
@@ -41,10 +41,12 @@ sub do_action {
my $cust_main = $self->cust_main($object);
my %if_pkgpart = map { $_=>1 } split(/\s*,\s*/, $self->option('if_pkgpart') );
- my @cust_pkg = grep { $if_pkgpart{ $_->pkgpart } && $_->part_pkg->freq
+ my $allpkgs = (keys %if_pkgpart) ? 0 : 1;
+ my @cust_pkg = grep { ( $allpkgs || $if_pkgpart{ $_->pkgpart } )
+ && $_->part_pkg->freq
#can remove after fixing discount bug with non-monthly pkgs
&& ( $_->part_pkg->freq =~ /^\d+$/) }
- $cust_main->active_pkgs;
+ $cust_main->unsuspended_pkgs;
return 'No qualifying packages' unless @cust_pkg;
my $gotit = 0;