From: Jonathan Prykop Date: Wed, 11 Feb 2015 22:07:58 +0000 (-0600) Subject: RT#30586: Discounts for ACH X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=6e3c1b8915c39e82a9a1ac48acc5b0c360daadb7 RT#30586: Discounts for ACH --- diff --git a/FS/FS/part_event/Action/pkg_discount.pm b/FS/FS/part_event/Action/pkg_discount.pm index 04a3a0f40..592e04410 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;