X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg_discount.pm;h=a20794027c9dd0e516bc14ed02a7528b075a784c;hb=7f5e32275a5a2674fd1d220cd651b222b9831476;hp=3770a2b79dfaa65ba25f6027ddef8c5fd05fb714;hpb=b516a7cb6c072871568bb0f217cc2bab6ebddd4a;p=freeside.git diff --git a/FS/FS/cust_pkg_discount.pm b/FS/FS/cust_pkg_discount.pm index 3770a2b79..a20794027 100644 --- a/FS/FS/cust_pkg_discount.pm +++ b/FS/FS/cust_pkg_discount.pm @@ -106,6 +106,7 @@ sub insert { 'amount' => $self->amount, 'percent' => $self->percent, 'months' => $self->months, + 'setup' => $self->setup, 'disabled' => 'Y', }; my $error = $discount->insert; @@ -165,10 +166,16 @@ sub check { || $self->ut_float('months_used') #actually decimal, but this will do || $self->ut_numbern('end_date') || $self->ut_alphan('otaker') + || $self->ut_numbern('usernum') || $self->ut_enum('disabled', [ '', 'Y' ] ) ; return $error if $error; + return "Discount does not apply to setup fees, and package has no recurring" + if ! $self->discount->setup && $self->cust_pkg->part_pkg->freq =~ /^0/; + + $self->usernum($FS::CurrentUser::CurrentUser->usernum) unless $self->usernum; + $self->SUPER::check; }