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