Merge pull request #1625 from pradpnayak/CRM-13340
[civicrm-core.git] / CRM / Activity / BAO / ActivityAssignment.php
index 34e8bf5c482d1554ca4b774b69e8a86f708183f5..82516493353c28bdd22d692baed1911efa98cd06 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.4                                                |
  +--------------------------------------------------------------------+
  | Copyright CiviCRM LLC (c) 2004-2013                                |
  +--------------------------------------------------------------------+
@@ -57,13 +57,13 @@ class CRM_Activity_BAO_ActivityAssignment extends CRM_Activity_DAO_ActivityConta
    *
    */
   public static function create(&$params) {
-    $assignment = new CRM_Activity_BAO_ActivityAssignment();
+    $assignment = new CRM_Activity_BAO_ActivityContact();
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
+    $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
 
     $assignment->copyValues($params);
-    $assignment->record_type = 'Assignee';
-    if (isset($assignment->assignee_contact_id)) {
-      $assignment->contact_id = $assignment->assignee_contact_id;
-    }
+    $assignment->record_type_id = $assigneeID;
+
     return $assignment->save();
   }
 
@@ -83,12 +83,15 @@ class CRM_Activity_BAO_ActivityAssignment extends CRM_Activity_DAO_ActivityConta
       return $assigneeArray;
     }
 
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
+    $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
+
     $sql = "
 SELECT     contact_id
 FROM       civicrm_activity_contact
 INNER JOIN civicrm_contact ON contact_id = civicrm_contact.id
 WHERE      activity_id = %1
-AND        record_type = 'Assignee'
+AND        record_type_id = $assigneeID
 AND        civicrm_contact.is_deleted = 0
 ";
     $assignment = CRM_Core_DAO::executeQuery($sql, array(1 => array($activity_id, 'Integer')));
@@ -116,6 +119,8 @@ AND        civicrm_contact.is_deleted = 0
     if (empty($activityID)) {
       return $assigneeNames;
     }
+    $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
+    $assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
 
     $whereClause = "";
     if (!$skipDetails) {
@@ -129,7 +134,7 @@ INNER JOIN civicrm_activity_contact ON civicrm_activity_contact.contact_id = con
 LEFT JOIN  civicrm_email ce ON ce.contact_id = contact_a.id
 WHERE      civicrm_activity_contact.activity_id = %1
 AND        contact_a.is_deleted = 0
-AND        civicrm_activity_contact.record_type = 'Assignee'
+AND        civicrm_activity_contact.record_type_id = $assigneeID
            {$whereClause}
 ";