X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpayinfo_Mixin.pm;h=2d7b4ffe0923125c064d7d9646a3ce34b85b4e45;hb=550c31c6cc2616461ec0f6cfd36f1b0a244a4bd1;hp=505c7a5cd36515f8acb7bf581cedd9d6deefa2ef;hpb=8133cc2c4eb7198e9e9090437c087d568563b57d;p=freeside.git diff --git a/FS/FS/payinfo_Mixin.pm b/FS/FS/payinfo_Mixin.pm index 505c7a5cd..2d7b4ffe0 100644 --- a/FS/FS/payinfo_Mixin.pm +++ b/FS/FS/payinfo_Mixin.pm @@ -14,7 +14,7 @@ package FS::some_table; use vars qw(@ISA); @ISA = qw( FS::payinfo_Mixin FS::Record ); -=had1 DESCRIPTION +=head1 DESCRIPTION This is a mixin class for records that contain payinfo. @@ -110,21 +110,26 @@ sub paycvv { =cut sub paymask { - my($self,$paymask)=@_; + my($self, $paymask) = @_; - - if ($paymask ne '') { - # I hate this little bit of magic... I don't expect it to cause a problem, but who knows... - # If the payinfo is passed in masked then ignore it and set it based on the payinfo - # The only guy that should call this in this way is... $self->payinfo + if ( defined($paymask) && $paymask ne '' ) { + # I hate this little bit of magic... I don't expect it to cause a problem, + # but who knows... If the payinfo is passed in masked then ignore it and + # set it based on the payinfo. The only guy that should call this in this + # way is... $self->payinfo $self->setfield('paymask', $self->mask_payinfo()); + } else { + $paymask=$self->getfield('paymask'); if (!defined($paymask) || $paymask eq '') { - # Generate it if it's blank - Note that we're not going to set it - just generate + # Generate it if it's blank - Note that we're not going to set it - just + # generate $paymask = $self->mask_payinfo(); } + } + return $paymask; } @@ -203,7 +208,7 @@ sub payinfo_check { my $self = shift; FS::payby->can_payby($self->table, $self->payby) - or return "Illegal payby"; + or return "Illegal payby: ". $self->payby; if ( $self->payby eq 'CARD' ) { my $payinfo = $self->payinfo;