);
CRM_Case_BAO_Case::processCaseActivity($caseParams);
- $activityContacts = CRM_Core_PseudoConstant::activityContacts('name');
- $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
- // create activity assignee records
- $assigneeParams = array(
- 'activity_id' => $activity->id,
- 'record_type_id' => $assigneeID
- );
-
- if (!CRM_Utils_Array::crmIsEmptyArray($params['assignee_contact_id'])) {
- //skip those assignee contacts which are already assigned
- //while sending a copy.CRM-4509.
- $activityAssigned = array_flip($params['assignee_contact_id']);
- $activityId = isset($this->_activityId) ? $this->_activityId : $activity->id;
- $assigneeContacts = CRM_Activity_BAO_ActivityAssignment::getAssigneeNames($activityId);
- $activityAssigned = array_diff_key($activityAssigned, $assigneeContacts);
-
- foreach ($params['assignee_contact_id'] as $key => $id) {
- $assigneeParams['contact_id'] = $id;
- CRM_Activity_BAO_ActivityContact::create($assigneeParams);
- }
- //modify assigne_contact as per newly assigned contact before sending copy. CRM-4509.
- $params['assignee_contact_id'] = $activityAssigned;
- }
-
// Insert civicrm_log record for the activity (e.g. store the
// created / edited by contact id and date for the activity)
// Note - civicrm_log is already created by CRM_Activity_BAO_Activity::create()
-
-
+
// send copy to selected contacts.
$mailStatus = '';
$mailToContacts = array();
//CRM-5695
//check for notification settings for assignee contacts
$selectedContacts = array('contact_check');
-
+ $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
+ $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
if (CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
'activity_assignee_notification'
)) {
$mailStatus = ts("A copy of the activity has also been sent to selected contacts(s).");
}
else {
- $this->_relatedContacts = CRM_Activity_BAO_ActivityAssignment::getAssigneeNames($activity->id, TRUE, FALSE);
+ $this->_relatedContacts = CRM_Activity_BAO_ActivityContact::getNames($activity->id, $assigneeID, TRUE, FALSE);
$mailStatus .= ' ' . ts("A copy of the activity has also been sent to assignee contacts(s).");
}
//build an associative array with unique email addresses.