X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=64e9b5f912e82b254bb3e0e6157c5c888d56ed9b;hb=70e1035b6a95d2bb0b2bacc4316e9d0a973db813;hp=fd1ccd772996443108959052c2be4ee249af23db;hpb=e6ea57971831f25d682d97a0ba508c39b66ecd8b;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index fd1ccd772..64e9b5f91 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -256,7 +256,8 @@ sub insert { my $error = $self->SUPER::insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; - return "inserting cust_main record (transaction rolled back): $error"; + #return "inserting cust_main record (transaction rolled back): $error"; + return $error; } if ( @param ) { # CUST_PKG_HASHREF @@ -277,7 +278,8 @@ sub insert { $error = $svc_something->insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; - return "inserting svc_ (transaction rolled back): $error"; + #return "inserting svc_ (transaction rolled back): $error"; + return $error; } } } @@ -644,11 +646,11 @@ sub check { my $payinfo = $self->payinfo; $payinfo =~ s/\D//g; $payinfo =~ /^(\d{13,16})$/ - or return gettext('invalid_catd'); # . ": ". $self->payinfo; + or return gettext('invalid_card'); # . ": ". $self->payinfo; $payinfo = $1; $self->payinfo($payinfo); validate($payinfo) - or return gettext('invalid_catd'); # . ": ". $self->payinfo; + or return gettext('invalid_card'); # . ": ". $self->payinfo; return gettext('unknown_card_type') if cardtype($self->payinfo) eq "Unknown"; @@ -681,14 +683,13 @@ sub check { } else { $self->paydate =~ /^(\d{1,2})[\/\-](\d{2}(\d{2})?)$/ or return "Illegal expiration date: ". $self->paydate; - if ( length($2) == 4 ) { - $self->paydate("$2-$1-01"); - } else { - $self->paydate("20$2-$1-01"); - } + my $y = length($2) == 4 ? $2 : "20$2"; + $self->paydate("$y-$1-01"); + my($nowm,$nowy)=(localtime(time))[4,5]; $nowm++; $nowy+=1900; + return gettext('expired_card') if $y<$nowy || ( $y==$nowy && $1<$nowm ); } - if ( $self->payname eq '' ) { + if ( $self->payname eq '' && ! $conf->exists('require_cardname') ) { $self->payname( $self->first. " ". $self->getfield('last') ); } else { $self->payname =~ /^([\w \,\.\-\']+)$/ @@ -827,7 +828,7 @@ Returns the agent (see L) for this customer. sub agent { my $self = shift; - qsearchs( 'agent', { 'agent' => $self->agentnum } ); + qsearchs( 'agent', { 'agentnum' => $self->agentnum } ); } =item bill OPTIONS