[MediaWiki-commits] [Gerrit] CRM-18134 move api merge activity contact function to the BAO - change (wikimedia...civicrm-core)
Eileen has submitted this change and it was merged. Change subject: CRM-18134 move api merge activity contact function to the BAO .. CRM-18134 move api merge activity contact function to the BAO These changes are merged to master already Change-Id: I0462e17792fc25b98546ae1a17b6b3470705f884 --- M CRM/Contact/Form/Merge.php M CRM/Dedupe/Merger.php M api/v3/Contact.php 3 files changed, 35 insertions(+), 37 deletions(-) Approvals: Eileen: Verified; Looks good to me, approved diff --git a/CRM/Contact/Form/Merge.php b/CRM/Contact/Form/Merge.php index 4c7cf41..ec750bf 100644 --- a/CRM/Contact/Form/Merge.php +++ b/CRM/Contact/Form/Merge.php @@ -333,20 +333,6 @@ $message = '' . ts('%1 has been updated.', array(1 => $name)) . '' . ts('Contact ID %1 has been deleted.', array(1 => $this->_oid)) . ''; CRM_Core_Session::setStatus($message, ts('Contacts Merged'), 'success'); -//create activity for merge -//To do: this should be refactored into BAO layer at some point. -$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $this->_oid)); -$activityParams = array( - 'subject' => $messageActivity, - 'source_contact_id' => $session->get('userID'), - 'target_contact_id' => $this->_cid, - 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Contact Merged'), - 'status_id' => 'Completed', - 'priority_id' => 'Normal', - 'activity_date_time' => date('YmdHis'), -); -civicrm_api3('activity', 'create', $activityParams); - $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1={$this->_cid}"); if (!empty($formValues['_qf_Merge_submit'])) { $listParamsURL = "reset=1=update={$this->_rgid}"; diff --git a/CRM/Dedupe/Merger.php b/CRM/Dedupe/Merger.php index 3310878..53a046b 100644 --- a/CRM/Dedupe/Merger.php +++ b/CRM/Dedupe/Merger.php @@ -1538,12 +1538,6 @@ CRM_Core_BAO_CustomValueTable::setValues($viewOnlyCustomFields); } -// Delete other contact & update prev-next caching -$otherParams = array( - 'contact_id' => $otherId, - 'id' => $otherId, - 'version' => 3, -); if (CRM_Core_Permission::check('merge duplicate contacts') && CRM_Core_Permission::check('delete contacts') ) { @@ -1553,15 +1547,13 @@ CRM_Core_DAO::executeQuery($query); } - civicrm_api('contact', 'delete', $otherParams); + civicrm_api3('contact', 'delete', array('id' => $otherId)); CRM_Core_BAO_PrevNextCache::deleteItem($otherId); } // FIXME: else part -/* else { */ - -/* CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); */ - -/* } */ +// else { +// CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); +// } // CRM-15681 merge sub_types if ($other_sub_types = CRM_Utils_array::value('contact_sub_type', $migrationInfo['other_details'])) { @@ -1602,6 +1594,17 @@ CRM_Utils_Hook::post('merge', 'Contact', $mainId, CRM_Core_DAO::$_nullObject); +// Create activity for merge. +$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $otherId)); +civicrm_api3('activity', 'create', array( + 'subject' => $messageActivity, + 'source_contact_id' => CRM_Core_Session::singleton()->getLoggedInContactID(), + 'target_contact_id' => $mainId, + 'activity_type_id' => 'Contact Merged', + 'status_id' => 'Completed', + 'priority_id' => 'Normal', +)); + return TRUE; } diff --git a/api/v3/Contact.php b/api/v3/Contact.php index 87d9a1c..ccdc5ed 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -1006,36 +1006,45 @@ * @throws CiviCRM_API3_Exception */ function civicrm_api3_contact_merge($params) { - $mode = CRM_Utils_Array::value('mode', $params, 'safe'); - $autoFlip = CRM_Utils_Array::value('auto_flip', $params, TRUE); - - $dupePairs = array(array( -'srcID' => CRM_Utils_Array::value('main_id', $params), -'dstID' => CRM_Utils_Array::value('other_id', $params), - )); - if (($result = CRM_Dedupe_Merger::merge($dupePairs, array(), $mode, $autoFlip)) != FALSE) { + if (($result = CRM_Dedupe_Merger::merge(array( + array( +'srcID' => $params['to_remove_id'], +'dstID' => $params['to_keep_id'], + ), +), array(), $params['mode'], $params['auto_flip'])) != FALSE) { return civicrm_api3_create_success($result, $params); } throw new CiviCRM_API3_Exception('Merge failed'); } /** - * Adjust metadata for contact_proximity api function. + * Adjust metadata for contact_merge api function. * * @param array $params */ function _civicrm_api3_contact_merge_spec(&$params) { - $params['main_id'] = array( + $params['to_remove_id'] =
[MediaWiki-commits] [Gerrit] CRM-18134 move api merge activity contact function to the BAO - change (wikimedia...civicrm-core)
Eileen has uploaded a new change for review. https://gerrit.wikimedia.org/r/285864 Change subject: CRM-18134 move api merge activity contact function to the BAO .. CRM-18134 move api merge activity contact function to the BAO These changes are merged to master already Change-Id: I0462e17792fc25b98546ae1a17b6b3470705f884 --- M CRM/Contact/Form/Merge.php M CRM/Dedupe/Merger.php M api/v3/Contact.php 3 files changed, 35 insertions(+), 37 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/civicrm-core refs/changes/64/285864/1 diff --git a/CRM/Contact/Form/Merge.php b/CRM/Contact/Form/Merge.php index 4c7cf41..ec750bf 100644 --- a/CRM/Contact/Form/Merge.php +++ b/CRM/Contact/Form/Merge.php @@ -333,20 +333,6 @@ $message = '' . ts('%1 has been updated.', array(1 => $name)) . '' . ts('Contact ID %1 has been deleted.', array(1 => $this->_oid)) . ''; CRM_Core_Session::setStatus($message, ts('Contacts Merged'), 'success'); -//create activity for merge -//To do: this should be refactored into BAO layer at some point. -$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $this->_oid)); -$activityParams = array( - 'subject' => $messageActivity, - 'source_contact_id' => $session->get('userID'), - 'target_contact_id' => $this->_cid, - 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Contact Merged'), - 'status_id' => 'Completed', - 'priority_id' => 'Normal', - 'activity_date_time' => date('YmdHis'), -); -civicrm_api3('activity', 'create', $activityParams); - $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1={$this->_cid}"); if (!empty($formValues['_qf_Merge_submit'])) { $listParamsURL = "reset=1=update={$this->_rgid}"; diff --git a/CRM/Dedupe/Merger.php b/CRM/Dedupe/Merger.php index 3310878..53a046b 100644 --- a/CRM/Dedupe/Merger.php +++ b/CRM/Dedupe/Merger.php @@ -1538,12 +1538,6 @@ CRM_Core_BAO_CustomValueTable::setValues($viewOnlyCustomFields); } -// Delete other contact & update prev-next caching -$otherParams = array( - 'contact_id' => $otherId, - 'id' => $otherId, - 'version' => 3, -); if (CRM_Core_Permission::check('merge duplicate contacts') && CRM_Core_Permission::check('delete contacts') ) { @@ -1553,15 +1547,13 @@ CRM_Core_DAO::executeQuery($query); } - civicrm_api('contact', 'delete', $otherParams); + civicrm_api3('contact', 'delete', array('id' => $otherId)); CRM_Core_BAO_PrevNextCache::deleteItem($otherId); } // FIXME: else part -/* else { */ - -/* CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); */ - -/* } */ +// else { +// CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); +// } // CRM-15681 merge sub_types if ($other_sub_types = CRM_Utils_array::value('contact_sub_type', $migrationInfo['other_details'])) { @@ -1602,6 +1594,17 @@ CRM_Utils_Hook::post('merge', 'Contact', $mainId, CRM_Core_DAO::$_nullObject); +// Create activity for merge. +$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $otherId)); +civicrm_api3('activity', 'create', array( + 'subject' => $messageActivity, + 'source_contact_id' => CRM_Core_Session::singleton()->getLoggedInContactID(), + 'target_contact_id' => $mainId, + 'activity_type_id' => 'Contact Merged', + 'status_id' => 'Completed', + 'priority_id' => 'Normal', +)); + return TRUE; } diff --git a/api/v3/Contact.php b/api/v3/Contact.php index 87d9a1c..ccdc5ed 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -1006,36 +1006,45 @@ * @throws CiviCRM_API3_Exception */ function civicrm_api3_contact_merge($params) { - $mode = CRM_Utils_Array::value('mode', $params, 'safe'); - $autoFlip = CRM_Utils_Array::value('auto_flip', $params, TRUE); - - $dupePairs = array(array( -'srcID' => CRM_Utils_Array::value('main_id', $params), -'dstID' => CRM_Utils_Array::value('other_id', $params), - )); - if (($result = CRM_Dedupe_Merger::merge($dupePairs, array(), $mode, $autoFlip)) != FALSE) { + if (($result = CRM_Dedupe_Merger::merge(array( + array( +'srcID' => $params['to_remove_id'], +'dstID' => $params['to_keep_id'], + ), +), array(), $params['mode'], $params['auto_flip'])) != FALSE) { return civicrm_api3_create_success($result, $params); } throw new CiviCRM_API3_Exception('Merge failed'); } /** - * Adjust metadata for contact_proximity api function. + * Adjust metadata for contact_merge api function. * * @param array $params */ function
[MediaWiki-commits] [Gerrit] CRM-18134 move api merge activity contact function to the BAO - change (wikimedia...civicrm)
Ejegg has submitted this change and it was merged. Change subject: CRM-18134 move api merge activity contact function to the BAO .. CRM-18134 move api merge activity contact function to the BAO These changes are merged to master already Change-Id: I0462e17792fc25b98546ae1a17b6b3470705f884 --- M CRM/Contact/Form/Merge.php M CRM/Dedupe/Merger.php M api/v3/Contact.php 3 files changed, 35 insertions(+), 37 deletions(-) Approvals: Ejegg: Looks good to me, approved jenkins-bot: Verified diff --git a/CRM/Contact/Form/Merge.php b/CRM/Contact/Form/Merge.php index 4c7cf41..ec750bf 100644 --- a/CRM/Contact/Form/Merge.php +++ b/CRM/Contact/Form/Merge.php @@ -333,20 +333,6 @@ $message = '' . ts('%1 has been updated.', array(1 => $name)) . '' . ts('Contact ID %1 has been deleted.', array(1 => $this->_oid)) . ''; CRM_Core_Session::setStatus($message, ts('Contacts Merged'), 'success'); -//create activity for merge -//To do: this should be refactored into BAO layer at some point. -$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $this->_oid)); -$activityParams = array( - 'subject' => $messageActivity, - 'source_contact_id' => $session->get('userID'), - 'target_contact_id' => $this->_cid, - 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Contact Merged'), - 'status_id' => 'Completed', - 'priority_id' => 'Normal', - 'activity_date_time' => date('YmdHis'), -); -civicrm_api3('activity', 'create', $activityParams); - $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1={$this->_cid}"); if (!empty($formValues['_qf_Merge_submit'])) { $listParamsURL = "reset=1=update={$this->_rgid}"; diff --git a/CRM/Dedupe/Merger.php b/CRM/Dedupe/Merger.php index 3310878..53a046b 100644 --- a/CRM/Dedupe/Merger.php +++ b/CRM/Dedupe/Merger.php @@ -1538,12 +1538,6 @@ CRM_Core_BAO_CustomValueTable::setValues($viewOnlyCustomFields); } -// Delete other contact & update prev-next caching -$otherParams = array( - 'contact_id' => $otherId, - 'id' => $otherId, - 'version' => 3, -); if (CRM_Core_Permission::check('merge duplicate contacts') && CRM_Core_Permission::check('delete contacts') ) { @@ -1553,15 +1547,13 @@ CRM_Core_DAO::executeQuery($query); } - civicrm_api('contact', 'delete', $otherParams); + civicrm_api3('contact', 'delete', array('id' => $otherId)); CRM_Core_BAO_PrevNextCache::deleteItem($otherId); } // FIXME: else part -/* else { */ - -/* CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); */ - -/* } */ +// else { +// CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); +// } // CRM-15681 merge sub_types if ($other_sub_types = CRM_Utils_array::value('contact_sub_type', $migrationInfo['other_details'])) { @@ -1602,6 +1594,17 @@ CRM_Utils_Hook::post('merge', 'Contact', $mainId, CRM_Core_DAO::$_nullObject); +// Create activity for merge. +$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $otherId)); +civicrm_api3('activity', 'create', array( + 'subject' => $messageActivity, + 'source_contact_id' => CRM_Core_Session::singleton()->getLoggedInContactID(), + 'target_contact_id' => $mainId, + 'activity_type_id' => 'Contact Merged', + 'status_id' => 'Completed', + 'priority_id' => 'Normal', +)); + return TRUE; } diff --git a/api/v3/Contact.php b/api/v3/Contact.php index 87d9a1c..ccdc5ed 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -1006,36 +1006,45 @@ * @throws CiviCRM_API3_Exception */ function civicrm_api3_contact_merge($params) { - $mode = CRM_Utils_Array::value('mode', $params, 'safe'); - $autoFlip = CRM_Utils_Array::value('auto_flip', $params, TRUE); - - $dupePairs = array(array( -'srcID' => CRM_Utils_Array::value('main_id', $params), -'dstID' => CRM_Utils_Array::value('other_id', $params), - )); - if (($result = CRM_Dedupe_Merger::merge($dupePairs, array(), $mode, $autoFlip)) != FALSE) { + if (($result = CRM_Dedupe_Merger::merge(array( + array( +'srcID' => $params['to_remove_id'], +'dstID' => $params['to_keep_id'], + ), +), array(), $params['mode'], $params['auto_flip'])) != FALSE) { return civicrm_api3_create_success($result, $params); } throw new CiviCRM_API3_Exception('Merge failed'); } /** - * Adjust metadata for contact_proximity api function. + * Adjust metadata for contact_merge api function. * * @param array $params */ function _civicrm_api3_contact_merge_spec(&$params) { - $params['main_id'] = array( +
[MediaWiki-commits] [Gerrit] CRM-18134 move api merge activity contact function to the BAO - change (wikimedia...civicrm)
Eileen has uploaded a new change for review. https://gerrit.wikimedia.org/r/277448 Change subject: CRM-18134 move api merge activity contact function to the BAO .. CRM-18134 move api merge activity contact function to the BAO These changes are merged to master already Change-Id: I0462e17792fc25b98546ae1a17b6b3470705f884 --- M CRM/Contact/Form/Merge.php M CRM/Dedupe/Merger.php M api/v3/Contact.php 3 files changed, 35 insertions(+), 37 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm/civicrm refs/changes/48/277448/1 diff --git a/CRM/Contact/Form/Merge.php b/CRM/Contact/Form/Merge.php index 4c7cf41..ec750bf 100644 --- a/CRM/Contact/Form/Merge.php +++ b/CRM/Contact/Form/Merge.php @@ -333,20 +333,6 @@ $message = '' . ts('%1 has been updated.', array(1 => $name)) . '' . ts('Contact ID %1 has been deleted.', array(1 => $this->_oid)) . ''; CRM_Core_Session::setStatus($message, ts('Contacts Merged'), 'success'); -//create activity for merge -//To do: this should be refactored into BAO layer at some point. -$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $this->_oid)); -$activityParams = array( - 'subject' => $messageActivity, - 'source_contact_id' => $session->get('userID'), - 'target_contact_id' => $this->_cid, - 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Contact Merged'), - 'status_id' => 'Completed', - 'priority_id' => 'Normal', - 'activity_date_time' => date('YmdHis'), -); -civicrm_api3('activity', 'create', $activityParams); - $url = CRM_Utils_System::url('civicrm/contact/view', "reset=1={$this->_cid}"); if (!empty($formValues['_qf_Merge_submit'])) { $listParamsURL = "reset=1=update={$this->_rgid}"; diff --git a/CRM/Dedupe/Merger.php b/CRM/Dedupe/Merger.php index 3310878..53a046b 100644 --- a/CRM/Dedupe/Merger.php +++ b/CRM/Dedupe/Merger.php @@ -1538,12 +1538,6 @@ CRM_Core_BAO_CustomValueTable::setValues($viewOnlyCustomFields); } -// Delete other contact & update prev-next caching -$otherParams = array( - 'contact_id' => $otherId, - 'id' => $otherId, - 'version' => 3, -); if (CRM_Core_Permission::check('merge duplicate contacts') && CRM_Core_Permission::check('delete contacts') ) { @@ -1553,15 +1547,13 @@ CRM_Core_DAO::executeQuery($query); } - civicrm_api('contact', 'delete', $otherParams); + civicrm_api3('contact', 'delete', array('id' => $otherId)); CRM_Core_BAO_PrevNextCache::deleteItem($otherId); } // FIXME: else part -/* else { */ - -/* CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); */ - -/* } */ +// else { +// CRM_Core_Session::setStatus( ts('Do not have sufficient permission to delete duplicate contact.') ); +// } // CRM-15681 merge sub_types if ($other_sub_types = CRM_Utils_array::value('contact_sub_type', $migrationInfo['other_details'])) { @@ -1602,6 +1594,17 @@ CRM_Utils_Hook::post('merge', 'Contact', $mainId, CRM_Core_DAO::$_nullObject); +// Create activity for merge. +$messageActivity = ts('Contact ID %1 has been merged and deleted.', array(1 => $otherId)); +civicrm_api3('activity', 'create', array( + 'subject' => $messageActivity, + 'source_contact_id' => CRM_Core_Session::singleton()->getLoggedInContactID(), + 'target_contact_id' => $mainId, + 'activity_type_id' => 'Contact Merged', + 'status_id' => 'Completed', + 'priority_id' => 'Normal', +)); + return TRUE; } diff --git a/api/v3/Contact.php b/api/v3/Contact.php index 87d9a1c..ccdc5ed 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -1006,36 +1006,45 @@ * @throws CiviCRM_API3_Exception */ function civicrm_api3_contact_merge($params) { - $mode = CRM_Utils_Array::value('mode', $params, 'safe'); - $autoFlip = CRM_Utils_Array::value('auto_flip', $params, TRUE); - - $dupePairs = array(array( -'srcID' => CRM_Utils_Array::value('main_id', $params), -'dstID' => CRM_Utils_Array::value('other_id', $params), - )); - if (($result = CRM_Dedupe_Merger::merge($dupePairs, array(), $mode, $autoFlip)) != FALSE) { + if (($result = CRM_Dedupe_Merger::merge(array( + array( +'srcID' => $params['to_remove_id'], +'dstID' => $params['to_keep_id'], + ), +), array(), $params['mode'], $params['auto_flip'])) != FALSE) { return civicrm_api3_create_success($result, $params); } throw new CiviCRM_API3_Exception('Merge failed'); } /** - * Adjust metadata for contact_proximity api function. + * Adjust metadata for contact_merge api function. * * @param array $params */ function