[freeside-commits] branch master updated. 093747609fc543f09353f32c0ff0a1d47925dafc

Jonathan Prykop jonathan at 420.am
Thu May 12 22:20:04 PDT 2016


The branch, master has been updated
       via  093747609fc543f09353f32c0ff0a1d47925dafc (commit)
      from  12a1fd3b75876dd3ec5449bc87fd8313da1b750b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 093747609fc543f09353f32c0ff0a1d47925dafc
Author: Jonathan Prykop <jonathan at freeside.biz>
Date:   Fri May 13 00:19:21 2016 -0500

    RT#42394: paycvv during cust_payby replace (v4+ only)

diff --git a/FS/FS/cust_payby.pm b/FS/FS/cust_payby.pm
index 5bfb4af..fd75567 100644
--- a/FS/FS/cust_payby.pm
+++ b/FS/FS/cust_payby.pm
@@ -196,10 +196,6 @@ sub replace {
               ? shift
               : $self->replace_old;
 
-  if ( length($old->paycvv) && $self->paycvv =~ /^\s*[\*x]*\s*$/ ) {
-    $self->paycvv($old->paycvv);
-  }
-
   if ( $self->payby =~ /^(CARD|DCRD)$/
        && (    $self->payinfo =~ /xx/
             || $self->payinfo =~ /^\s*N\/A\s+\(tokenized\)\s*$/
@@ -221,6 +217,17 @@ sub replace {
     $self->payinfo($new_account.'@'.$new_aba);
   }
 
+  # don't preserve paycvv if it was passed blank and payinfo changed
+  unless ( $self->payby =~ /^(CARD|DCRD)$/
+       && $old->payinfo ne $self->payinfo
+       && $old->paymask ne $self->paymask
+       && $self->paycvv =~ /^\s*$/ )
+  {
+    if ( length($old->paycvv) && $self->paycvv =~ /^\s*[\*x]*\s*$/ ) {
+      $self->paycvv($old->paycvv);
+    }
+  }
+
   local($ignore_expired_card) = 1
     if $old->payby  =~ /^(CARD|DCRD)$/
     && $self->payby =~ /^(CARD|DCRD)$/

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_payby.pm |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)




More information about the freeside-commits mailing list