Ejegg has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/368103 )
Change subject: clean up insert_contribution_tracking signature ...................................................................... clean up insert_contribution_tracking signature Change-Id: I9a4e58b72795e26babbb59c42d7bdcaa57b78862 --- M sites/all/modules/queue2civicrm/recurring/recurring.module M sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php M sites/all/modules/wmf_civicrm/tracking.inc M sites/all/modules/wmf_civicrm/wmf_civicrm.module 4 files changed, 30 insertions(+), 20 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm refs/changes/03/368103/1 diff --git a/sites/all/modules/queue2civicrm/recurring/recurring.module b/sites/all/modules/queue2civicrm/recurring/recurring.module index 5a37e07..58f0156 100644 --- a/sites/all/modules/queue2civicrm/recurring/recurring.module +++ b/sites/all/modules/queue2civicrm/recurring/recurring.module @@ -171,12 +171,18 @@ sort( $contrib_ids, SORT_NUMERIC ); $contrib_id = array_shift( $contrib_ids ); // this should return null if $contrib_ids is empty $date = wmf_common_date_unix_to_sql( strtotime( $msg[ 'payment_date' ] )); - $contribution_tracking_id = wmf_civicrm_insert_contribution_tracking( '..rpp', 'civicrm', null, $date, $contrib_id ); + $tracking = array( + 'utm_source' => '..rpp', + 'utm_medium' => 'civicrm', + 'ts' => $date, + 'contribution_id' => $contrib_id + ); + $contribution_tracking_id = wmf_civicrm_insert_contribution_tracking( $tracking ); watchdog( 'recurring', 'recurring_get_contribution_tracking_id: Inserted contrib tracking id, %cti', array( '%cti' => $contribution_tracking_id ), WATCHDOG_DEBUG ); return $contribution_tracking_id; } } else { - watchdog( 'recurring', 'recurring_get_contribution_tracking_id: No contribution_tracking_id returned.', array(), WATCHDOG_DEBUG ); + watchdog( 'recurring', 'recurring_get_contribution_tracking_id: No contribution_tracking_id returned.', array(), WATCHDOG_DEBUG ); return null; } } diff --git a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php index c60ce38..fc2fc0c 100644 --- a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php +++ b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php @@ -60,7 +60,13 @@ 'trxn_id' => 'RECURRING GLOBALCOLLECT STUB_ORIG_CONTRIB-' . mt_rand(), ) ); $this->contributions[] = $result['id']; - wmf_civicrm_insert_contribution_tracking( '..rcc', 'civicrm', null, wmf_common_date_unix_to_sql( strtotime( 'now' ) ), $result['id'] ); + $tracking = array( + 'utm_source' => '..rcc', + 'utm_medium' => 'civicrm', + 'ts' => wmf_common_date_unix_to_sql( strtotime( 'now' ) ), + 'contribution_id' => $result['id'], + ); + wmf_civicrm_insert_contribution_tracking( $tracking ); } function testChargeRecorded() { diff --git a/sites/all/modules/wmf_civicrm/tracking.inc b/sites/all/modules/wmf_civicrm/tracking.inc index 6d7739c..216b6c8 100644 --- a/sites/all/modules/wmf_civicrm/tracking.inc +++ b/sites/all/modules/wmf_civicrm/tracking.inc @@ -2,29 +2,19 @@ /** * Insert a record into contribution_tracking table - * + * * Primarily used when a record does not already exist in the table for a * particular transaction. Rare, but inserting some data for a trxn when * absent helps facilitate better analytics. - * + * + * @param array $values associative array of columns => values to insert + * into the contribution tracking table * @return int the contribution_tracking id */ -function wmf_civicrm_insert_contribution_tracking( $utm_source, $utm_medium, $utm_campaign, $ts, $contrib_id=null, $optout=null, $anonymous=null ) { +function wmf_civicrm_insert_contribution_tracking( $values ) { // make sure we're using the default (drupal) db $dbs = wmf_civicrm_get_dbs(); $dbs->push( 'donations' ); - - $values = array( - 'utm_source' => $utm_source, - 'utm_medium' => $utm_medium, - 'utm_campaign' => $utm_campaign, - 'optout' => $optout, - 'anonymous' => $anonymous, - 'ts' => $ts, - ); - if ($contrib_id !== null){ - $values['contribution_id'] = $contrib_id; - } $contribution_tracking_id = db_insert( 'contribution_tracking' )->fields( $values )->execute(); watchdog( 'wmf_civicrm', "Created new contribution_tracking entry %id", array( '%id' => $contribution_tracking_id ), WATCHDOG_INFO ); diff --git a/sites/all/modules/wmf_civicrm/wmf_civicrm.module b/sites/all/modules/wmf_civicrm/wmf_civicrm.module index a692882..8cd964e 100644 --- a/sites/all/modules/wmf_civicrm/wmf_civicrm.module +++ b/sites/all/modules/wmf_civicrm/wmf_civicrm.module @@ -1801,8 +1801,16 @@ $source = isset($msg['utm_source']) ? $msg['utm_source'] : '..' . $msg['payment_method']; $medium = isset($msg['utm_medium']) ? $msg['utm_medium'] : 'civicrm'; $campaign = isset($msg['utm_campaign']) ? $msg['utm_campaign'] : null; - // FIXME: make the next line readable, safe, sane, useful. See "ACK!" - $contribution_tracking_id = wmf_civicrm_insert_contribution_tracking( $source, $medium, $campaign, wmf_common_date_unix_to_sql( $msg['date'] ), null, $optout, $anonymous ); //ACK! this should not be handled this way! should be dynamic! + + $tracking = array( + 'utm_source' => $source, + 'utm_medium' => $medium, + 'utm_campaign' => $campaign, + 'optout' => $optout, + 'anonymous' => $anonymous, + 'ts' => wmf_common_date_unix_to_sql( $msg['date'] ) + ); + $contribution_tracking_id = wmf_civicrm_insert_contribution_tracking( $tracking ); watchdog( 'wmf_civicrm', 'Newly inserted contribution tracking id: @id', array( '@id' => $contribution_tracking_id ), WATCHDOG_DEBUG ); $msg['contribution_tracking_id'] = $contribution_tracking_id; } -- To view, visit https://gerrit.wikimedia.org/r/368103 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9a4e58b72795e26babbb59c42d7bdcaa57b78862 Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/crm Gerrit-Branch: master Gerrit-Owner: Ejegg <ej...@ejegg.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits