$paymask = $payinfo;
}
$self->setfield('paymask', $paymask); # This is okay since we are the 'setter'
- } else {
+ } elsif (defined($value) && $self->is_encrypted($value)) {
$paymask = 'N/A';
}
return $paymask;
local $SIG{PIPE} = 'IGNORE';
# If the mask is blank then try to set it - if we can...
- if (!defined($self->paymask) && $self->paymask eq '') {
+ if (!defined($self->getfield('paymask')) || $self->getfield('paymask') eq '') {
$self->paymask($self->payinfo);
}
return gettext('unknown_card_type')
if cardtype($self->payinfo) eq "Unknown";
if ( defined $self->dbdef_table->column('paycvv') ) {
- if ( length($self->paycvv) ) {
+ if (length($self->paycvv) && !$self->is_encrypted($self->paycvv)) {
if ( cardtype($self->payinfo) eq 'American Express card' ) {
$self->paycvv =~ /^(\d{4})$/
or return "CVV2 (CID) for American Express cards is four digits.";
sub check_invoicing_list {
my( $self, $arrayref ) = @_;
foreach my $address ( @{$arrayref} ) {
+
+ if ($address eq 'FAX' and $self->getfield('fax') eq '') {
+ return 'Can\'t add FAX invoice destination with a blank FAX number.';
+ }
+
my $cust_main_invoice = new FS::cust_main_invoice ( {
'custnum' => $self->custnum,
'dest' => $address,