Awight has uploaded a new change for review.

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

Change subject: Make it more likely that the recurring effort id will become 
part of the trxn_id
......................................................................

Make it more likely that the recurring effort id will become part of the trxn_id

Also make sure we are including "recurring" in the trxn_id. And clean up unsed 
cruft.

Change-Id: I232b81758c63d236e79ed3893c6f69a2955adc93
---
M sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
M sites/all/modules/recurring_globalcollect/tests/RecurringGlobalcollectTest.php
M sites/all/modules/wmf_civicrm/WmfTransaction.php
M sites/all/modules/wmf_civicrm/wmf_civicrm.module
M sites/all/modules/wmf_common/tests/phpunit/WmfTransactionTest.php
5 files changed, 22 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/91/150091/1

diff --git 
a/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module 
b/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
index 27f8815..6610cbd 100644
--- a/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
+++ b/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
@@ -351,16 +351,13 @@
     $initial_contribution = wmf_civicrm_get_initial_recurring_contribution( 
$contribution_recur['id'] );
 
     $msg = array();
-    $msg['fee'] = 0.00;
-    
+
     $msg['contribution_type_id'] = 
$initial_contribution['contribution_type_id'];
     $msg['payment_instrument_id'] = 
$initial_contribution['payment_instrument_id'];
 
     $msg['gateway'] = 'globalcollect';
     $msg['gross'] = $contribution_recur['amount'];
-    $msg['net'] = $msg['gross'] - $msg['fee'];
     $msg['currency'] = $contribution_recur['currency'];
-    //$msg['contribution_id'] = $contribution_recur['contribution_id'];
     $msg['gateway_txn_id'] = $transaction->gateway_txn_id;
     $msg['payment_method'] = 'cc';
     $msg['payment_submethod'] = '';
@@ -371,6 +368,7 @@
     $msg['contact_id'] = $contribution_recur['contact_id'];
     $msg['contribution_recur_id'] = $contribution_recur['id'];
     $msg['effort_id'] = $values['effort_id'];
+    $msg['recurring'] = true;
 
     //FIXME: ignored cos we already have a contact
     $msg['email'] = '[email protected]';
diff --git 
a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalcollectTest.php
 
b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalcollectTest.php
index e28bc02..dc847df 100644
--- 
a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalcollectTest.php
+++ 
b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalcollectTest.php
@@ -39,24 +39,13 @@
             'total_amount' => $this->amount,
             'contribution_type' => 'Cash',
             'payment_instrument' => 'Credit Card',
+            'trxn_id' => "RECURRING STUB_ORIG_CONTRIB " . mt_rand(),
         ) );
         $this->contributions[] = $result['id'];
     }
 
     function tearDown() {
         variable_set( 'standalone_globalcollect_adapter_path', 
$this->original_standalone_globalcollect_adapter_path );
-
-        foreach ( $this->contributions as $contribution_id ) {
-            civicrm_api3( 'Contribution', 'delete', array(
-                'id' => $contribution_id,
-            ) );
-        }
-        civicrm_api3( 'ContributionRecur', 'delete', array(
-            'id' => $this->contribution_recur_id,
-        ) );
-        civicrm_api3( 'Contact', 'delete', array(
-            'id' => $this->contact_id,
-        ) );
         parent::tearDown();
     }
 
diff --git a/sites/all/modules/wmf_civicrm/WmfTransaction.php 
b/sites/all/modules/wmf_civicrm/WmfTransaction.php
index dfc400c..af1a216 100644
--- a/sites/all/modules/wmf_civicrm/WmfTransaction.php
+++ b/sites/all/modules/wmf_civicrm/WmfTransaction.php
@@ -58,7 +58,8 @@
         $transaction = new WmfTransaction();
         $transaction->gateway_txn_id = $msg['gateway_txn_id'];
         $transaction->gateway = $msg['gateway'];
-        $transaction->is_recurring = ( array_key_exists( 'recurring', $msg ) 
&& $msg['recurring'] );
+        $transaction->is_recurring = $msg['recurring'];
+        $transaction->recur_sequence = $msg['effort_id'];
         return $transaction;
     }
 
diff --git a/sites/all/modules/wmf_civicrm/wmf_civicrm.module 
b/sites/all/modules/wmf_civicrm/wmf_civicrm.module
index 92119d5..ed1cd20 100644
--- a/sites/all/modules/wmf_civicrm/wmf_civicrm.module
+++ b/sites/all/modules/wmf_civicrm/wmf_civicrm.module
@@ -261,7 +261,6 @@
 function _wmf_civicrm_message_contribution_insert( $msg )
 {
     $transaction = WmfTransaction::from_message( $msg );
-    $transaction->recur_sequence = $msg['effort_id'];
     $trxn_id = $transaction->get_unique_id();
 
     $contribution = array(
diff --git a/sites/all/modules/wmf_common/tests/phpunit/WmfTransactionTest.php 
b/sites/all/modules/wmf_common/tests/phpunit/WmfTransactionTest.php
index 16e4d8e..b95ae0f 100644
--- a/sites/all/modules/wmf_common/tests/phpunit/WmfTransactionTest.php
+++ b/sites/all/modules/wmf_common/tests/phpunit/WmfTransactionTest.php
@@ -54,6 +54,8 @@
         $msg = array(
             'gateway' => "globalcollect",
             'gateway_txn_id' => "1234",
+            'recurring' => null,
+            'effort_id' => null,
         );
         $transaction = WmfTransaction::from_message( $msg );
         $this->assertEquals(
@@ -62,5 +64,20 @@
         $this->assertEquals( 1,
             preg_match( "/GLOBALCOLLECT 1234 [0-9]+/", 
$transaction->get_unique_id() ),
             "parsed message is given a timestamp" );
+
+        $msg = array(
+            'gateway' => "globalcollect",
+            'gateway_txn_id' => "1234",
+            'effort_id' => '2',
+            'recurring' => null,
+        );
+        $transaction = WmfTransaction::from_message( $msg );
+        $this->assertEquals(
+            "1234", $transaction->gateway_txn_id,
+            "parsed message gateway_txn_id is correct" );
+        print_r($transaction->get_unique_id());
+        $this->assertEquals( 1,
+            preg_match( "/GLOBALCOLLECT 1234-2 [0-9]+/", 
$transaction->get_unique_id() ),
+            "trxn_id includes recurring suffix" );
     }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I232b81758c63d236e79ed3893c6f69a2955adc93
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