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