Awight has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/195050

Change subject: Handle dates more carefully in recurring messages
......................................................................

Handle dates more carefully in recurring messages

The message timestamp on subscription signup messages was being set incorrectly
to the current time or the payment date.  This wouldn't have corrupted data,
because the timestamp is not stored nor used for currency conversion, but it
was a problem for tests where the currency is mocked by exact time.

Change-Id: I04fe4365d8933d714b96a13af07ad864c7017897
---
M sites/all/modules/queue2civicrm/recurring/recurring.module
1 file changed, 10 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/50/195050/1

diff --git a/sites/all/modules/queue2civicrm/recurring/recurring.module 
b/sites/all/modules/queue2civicrm/recurring/recurring.module
index 2ebf20d..6d6d302 100644
--- a/sites/all/modules/queue2civicrm/recurring/recurring.module
+++ b/sites/all/modules/queue2civicrm/recurring/recurring.module
@@ -497,7 +497,9 @@
 function recurring_normalize_paypal_msg( $msg ) {
   $msg_normalized = array();
 
-  $timestamp = ( !isset( $msg[ 'payment_date' ] ) || !strlen( $msg[ 
'payment_date' ] )) ? strtotime( "now" ) : strtotime( $msg[ 'payment_date' ] );
+  if ( isset( $msg['payment_date'] ) ) {
+    $msg_normalized['date'] = strtotime( $msg['payment_date'] );
+  }
 
   // the subscription id
   $msg_normalized[ 'subscr_id' ] = $msg[ 'subscr_id' ];
@@ -612,8 +614,11 @@
       } elseif( $msg[ 'txn_type' ] == 'subscr_cancel' ) {
         $msg_normalized[ 'cancel_date' ] = strtotime( $msg[ 'subscr_date' ] );
       }
+      if ( !isset( $msg_normalized['date'] ) ) {
+        $msg_normalized['date'] = strtotime( $msg['subscr_date'] );
+      }
     }
-    
+
     if ( $msg[ 'txn_type' ] == 'subscr_modify' ) {
       $msg_normalized[ 'modified_date' ] = $msg[ 'subscr_effective' ];
     }
@@ -631,7 +636,9 @@
 
   $msg_normalized[ 'gateway' ] = ( !empty( $msg['gateway'] ) ? $msg['gateway'] 
: 'paypal' );
 
-  $msg_normalized[ 'date' ] = $timestamp;
+  if ( !isset( $msg_normalized['date'] ) ) {
+    $msg_normalized['date'] = time();
+  }
 
   // FIXME: so dirty.
   foreach ( $msg as $key => $value ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/195050
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I04fe4365d8933d714b96a13af07ad864c7017897
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to