From 1adb1bc9f01b33ca26fe6ccdf4daaaff464710dc Mon Sep 17 00:00:00 2001 From: yashodha Date: Wed, 29 May 2013 11:51:10 +0530 Subject: [PATCH] CRM-12697 --- CRM/Activity/Form/Task.php | 14 +++++++++----- CRM/Activity/Form/Task/Batch.php | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/CRM/Activity/Form/Task.php b/CRM/Activity/Form/Task.php index dbe9b61942..7673b06f8a 100644 --- a/CRM/Activity/Form/Task.php +++ b/CRM/Activity/Form/Task.php @@ -151,14 +151,18 @@ class CRM_Activity_Form_Task extends CRM_Core_Form { */ public function setContactIDs() { $IDs = implode(',', $this->_activityHolderIds); + + $activityContacts = CRM_Core_PseudoConstant::activityContacts('name'); + $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); $query = " -SELECT source_contact_id - FROM civicrm_activity - WHERE id IN ( $IDs ) -"; +SELECT contact_id +FROM civicrm_activity_contact +WHERE activity_id IN ( $IDs ) AND + record_type_id = {$sourceID}"; + $dao = CRM_Core_DAO::executeQuery($query); while ($dao->fetch()) { - $contactIDs[] = $dao->source_contact_id; + $contactIDs[] = $dao->contact_id; } $this->_contactIds = $contactIDs; } diff --git a/CRM/Activity/Form/Task/Batch.php b/CRM/Activity/Form/Task/Batch.php index 6a41ef7963..37d95262d0 100755 --- a/CRM/Activity/Form/Task/Batch.php +++ b/CRM/Activity/Form/Task/Batch.php @@ -257,10 +257,14 @@ class CRM_Activity_Form_Task_Batch extends CRM_Activity_Form_Task { } $query = " -SELECT activity_type_id , source_contact_id -FROM civicrm_activity -WHERE id = %1"; - $params = array(1 => array($key, 'Integer')); +SELECT a.activity_type_id, ac.contact_id +FROM civicrm_activity a +JOIN civicrm_activity_contact ac ON ( ac.activity_id = a.id +AND ac.record_type_id = %2 ) +WHERE a.id = %1 "; + $activityContacts = CRM_Core_PseudoConstant::activityContacts('name'); + $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); + $params = array(1 => array($key, 'Integer'), 2 => array($sourceID, 'Integer')); $dao = CRM_Core_DAO::executeQuery($query, $params); $dao->fetch(); @@ -268,7 +272,7 @@ WHERE id = %1"; $value['activity_type_id'] = $dao->activity_type_id; // Get Conatct ID - $value['source_contact_id'] = $dao->source_contact_id; + $value['source_contact_id'] = $dao->contact_id; // make call use API 3 $value['version'] = 3; -- 2.25.1