[freeside-commits] branch master updated. d719b00e871830c3b8d48d4f713ae455b4c1b5b5

Jonathan Prykop jonathan at 420.am
Mon Nov 9 17:59:50 PST 2015


The branch, master has been updated
       via  d719b00e871830c3b8d48d4f713ae455b4c1b5b5 (commit)
      from  adde23e02a271005a708519efd82c43f388cfdee (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 d719b00e871830c3b8d48d4f713ae455b4c1b5b5
Author: Jonathan Prykop <jonathan at freeside.biz>
Date:   Mon Nov 9 19:58:47 2015 -0600

    RT#36806: Add message template substitution to show last four digits of credit card number

diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm
index 01a6563..7d9750c 100644
--- a/FS/FS/msg_template.pm
+++ b/FS/FS/msg_template.pm
@@ -462,6 +462,17 @@ my $usage_warning = sub {
 # If you add anything, be sure to add a description in 
 # httemplate/edit/msg_template.html.
 sub substitutions {
+  my $payinfo_sub = sub { 
+    my $obj = shift;
+    ($obj->payby eq 'CARD' || $obj->payby eq 'CHEK')
+    ? $obj->paymask 
+    : $obj->decrypt($obj->payinfo)
+  };
+  my $payinfo_end = sub {
+    my $obj = shift;
+    my $payinfo = &$payinfo_sub($obj);
+    substr($payinfo, -4);
+  };
   { 'cust_main' => [qw(
       display_custnum agentnum agent_name
 
@@ -608,11 +619,8 @@ sub substitutions {
       # overrides the one in cust_main in cases where a cust_pay is passed
       [ payby             => sub { FS::payby->shortname(shift->payby) } ],
       [ date              => sub { time2str("%a %B %o, %Y", shift->_date) } ],
-      [ payinfo           => sub { 
-          my $cust_pay = shift;
-          ($cust_pay->payby eq 'CARD' || $cust_pay->payby eq 'CHEK') ?
-            $cust_pay->paymask : $cust_pay->decrypt($cust_pay->payinfo)
-        } ],
+      [ 'payinfo' => $payinfo_sub ],
+      [ 'payinfo_end' => $payinfo_end ],
     ],
     # for refund receipts
     'cust_refund' => [
@@ -620,11 +628,8 @@ sub substitutions {
       [ refund            => sub { sprintf("%.2f", shift->refund) } ],
       [ payby             => sub { FS::payby->shortname(shift->payby) } ],
       [ date              => sub { time2str("%a %B %o, %Y", shift->_date) } ],
-      [ payinfo           => sub { 
-          my $cust_refund = shift;
-          ($cust_refund->payby eq 'CARD' || $cust_refund->payby eq 'CHEK') ?
-            $cust_refund->paymask : $cust_refund->decrypt($cust_refund->payinfo)
-        } ],
+      [ 'payinfo' => $payinfo_sub ],
+      [ 'payinfo_end' => $payinfo_end ],
     ],
     # for payment decline messages
     # try to support all cust_pay fields
@@ -636,11 +641,8 @@ sub substitutions {
       [ paid              => sub { sprintf("%.2f", shift->paid) } ],
       [ payby             => sub { FS::payby->shortname(shift->payby) } ],
       [ date              => sub { time2str("%a %B %o, %Y", shift->_date) } ],
-      [ payinfo           => sub {
-          my $pending = shift;
-          ($pending->payby eq 'CARD' || $pending->payby eq 'CHEK') ?
-            $pending->paymask : $pending->decrypt($pending->payinfo)
-        } ],
+      [ 'payinfo' => $payinfo_sub ],
+      [ 'payinfo_end' => $payinfo_end ],
     ],
   };
 }
diff --git a/httemplate/edit/msg_template/email.html b/httemplate/edit/msg_template/email.html
index 12a4a6f..53f538b 100644
--- a/httemplate/edit/msg_template/email.html
+++ b/httemplate/edit/msg_template/email.html
@@ -300,6 +300,7 @@ my %substitutions = (
     '$payby'          => 'Payment method',
     '$date'           => 'Payment date',
     '$payinfo'        => 'Card/account# (masked)',
+    '$payinfo_end'    => 'Card/account last 4 digits',
     '$error'          => 'Decline reason',
   ],
   'cust_refund'  => [
@@ -308,6 +309,7 @@ my %substitutions = (
     '$payby'          => 'Refund method',
     '$date'           => 'Refund date',
     '$payinfo'        => 'Card/account# (masked)',
+    '$payinfo_end'    => 'Card/account last 4 digits',
   ],
   'system_log' => [
     '$logmessage'     => 'Log entry message',

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

Summary of changes:
 FS/FS/msg_template.pm                   |   32 ++++++++++++++++---------------
 httemplate/edit/msg_template/email.html |    2 ++
 2 files changed, 19 insertions(+), 15 deletions(-)




More information about the freeside-commits mailing list