X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_credit.pm;h=1ebff3e8732e89394797530e008232d411d0ade5;hb=6c9cd1c36adbb9fc950fcf0a0b269fa6f16838a1;hp=674bc1047e1d2e51d711145853bcb2289c31419d;hpb=08b36523ebbf6e2995878f26bfac988f32f7a218;p=freeside.git diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm index 674bc1047..1ebff3e87 100644 --- a/FS/FS/cust_credit.pm +++ b/FS/FS/cust_credit.pm @@ -2,11 +2,12 @@ package FS::cust_credit; use strict; use base qw( FS::otaker_Mixin FS::cust_main_Mixin FS::Record ); -use vars qw( $conf $unsuspendauto $me $DEBUG ); +use vars qw( $conf $unsuspendauto $me $DEBUG $otaker_upgrade_kludge ); use Date::Format; use FS::UID qw( dbh getotaker ); use FS::Misc qw(send_email); use FS::Record qw( qsearch qsearchs dbdef ); +use FS::CurrentUser; use FS::cust_main; use FS::cust_pkg; use FS::cust_refund; @@ -19,6 +20,8 @@ use FS::cust_event; $me = '[ FS::cust_credit ]'; $DEBUG = 0; +$otaker_upgrade_kludge = 0; + #ask FS::UID to run this stuff for us later $FS::UID::callback{'FS::cust_credit'} = sub { @@ -288,7 +291,7 @@ methods. sub check { my $self = shift; - $self->otaker(getotaker) unless ($self->otaker); + $self->usernum($FS::CurrentUser::CurrentUser->usernum) unless $self->usernum; my $error = $self->ut_numbern('crednum') @@ -308,7 +311,7 @@ sub check { return "amount must be > 0 " if $self->amount <= 0; return "amount must be greater or equal to amount applied" - if $self->unapplied < 0; + if $self->unapplied < 0 && ! $otaker_upgrade_kludge; return "Unknown customer" unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } ); @@ -548,6 +551,7 @@ sub _upgrade_data { # class method } } + local($otaker_upgrade_kludge) = 1; $class->_upgrade_otaker(%opts); }