Katie Horn has submitted this change and it was merged.

Change subject: (FR #1819) fix recurring import so it associates with existing 
contact
......................................................................


(FR #1819) fix recurring import so it associates with existing contact

Change-Id: I2970a9c5db05b7d09ce3901084c0788078efb2fe
---
M sites/all/modules/wmf_civicrm/wmf_civicrm.module
1 file changed, 24 insertions(+), 18 deletions(-)

Approvals:
  Katie Horn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/sites/all/modules/wmf_civicrm/wmf_civicrm.module 
b/sites/all/modules/wmf_civicrm/wmf_civicrm.module
index 9f1f58f..1081524 100644
--- a/sites/all/modules/wmf_civicrm/wmf_civicrm.module
+++ b/sites/all/modules/wmf_civicrm/wmf_civicrm.module
@@ -194,6 +194,22 @@
 
     $msg = wmf_civicrm_verify_message_and_stage($msg);
 
+    // Associate with existing recurring records
+    if ( $msg['recurring']
+        && !$msg['contribution_recur_id']
+    ) {
+        if ( $msg['subscr_id'] ) {
+            $recur_record = wmf_civicrm_get_recur_record( $msg['subscr_id'] );
+            if ( $recur_record ) {
+                watchdog( 'queue2civicrm_import', 'Found matching recurring 
record for subscr_id: ' . $msg['subscr_id'], NULL, WATCHDOG_INFO );
+                $msg['contribution_recur_id'] = $recur_record->id;
+                $msg['contact_id'] = $recur_record->contact_id;
+            }
+        } else {
+            throw new WmfException( 'INVALID_MESSAGE', 'Recurring donation, 
but no subscription ID found.' );
+        }
+    }
+
     if ( !$msg['contact_id'] ) {
         // insert the contact information
         $contact = wmf_civicrm_message_contact_insert( $msg );
@@ -211,24 +227,13 @@
         $msg['contact_id'] = $contact['id'];
     }
 
-    // Make new or associate with existing recurring records
-    $initial_recurring = false;
-    if ( $msg['recurring'] ) {
-        if ( !$msg['contribution_recur_id'] ) {
-            if ( !empty( $msg['subscr_id'] ) ) {
-                $recur_record = wmf_civicrm_get_recur_record( 
$msg['subscr_id'] );
-                if ( $recur_record ) {
-                    watchdog( 'queue2civicrm_import', 'Found matching 
recurring record for subscr_id: ' . $msg['subscr_id'] );
-                } else {
-                    // This is the initial recurring record
-                    watchdog( 'queue2civicrm_import', 'Attempting to insert 
recurring record.');
-                    wmf_civicrm_message_contribution_recur_insert( $msg, 
$contact['id'], $msg['subscr_id'] );
-                    $recur_record = wmf_civicrm_get_recur_record( 
$msg['subscr_id'] );
-                    $initial_recurring = true;
-                }
-                $msg['contribution_recur_id'] = $recur_record->id;
-            }
-        }
+    // Make new recurring record if necessary
+    $initial_recurring = ( $msg['recurring'] && !$msg['contribution_recur_id'] 
);
+    if ( $initial_recurring ) {
+        watchdog( 'queue2civicrm_import', 'Attempting to insert new recurring 
subscription: ' . $msg['subscr_id'], NULL, WATCHDOG_INFO );
+        wmf_civicrm_message_contribution_recur_insert( $msg, $contact['id'], 
$msg['subscr_id'] );
+        $recur_record = wmf_civicrm_get_recur_record( $msg['subscr_id'] );
+        $msg['contribution_recur_id'] = $recur_record->id;
     }
 
     // Insert the contribution record.
@@ -1104,6 +1109,7 @@
         'contact_id' => null,
         'contribution_recur_id' => null,
         'effort_id' => null,
+        'subscr_id' => null,
     );
     $msg = $msg + $defaults;
     

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2970a9c5db05b7d09ce3901084c0788078efb2fe
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: Awight <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: Katie Horn <[email protected]>
Gerrit-Reviewer: Mwalker <[email protected]>
Gerrit-Reviewer: Ssmith <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to