X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pkg_discount.pm;h=015b6e38806a8193b9cc46716f89683000fa1f55;hb=a0460d90ee5bdbb6a4df992c6480a238edd68bd6;hp=3770a2b79dfaa65ba25f6027ddef8c5fd05fb714;hpb=624b2d44625f69d71175c3348cae635d580c890b;p=freeside.git diff --git a/FS/FS/cust_pkg_discount.pm b/FS/FS/cust_pkg_discount.pm index 3770a2b79..015b6e388 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; + + $self->usernum($FS::CurrentUser::CurrentUser->usernum) unless $self->usernum; + $self->SUPER::check; }