CRM-20102 - Fix case role lookup by name instead of label
authorColeman Watts <coleman@civicrm.org>
Tue, 21 Mar 2017 01:43:24 +0000 (21:43 -0400)
committerColeman Watts <coleman@civicrm.org>
Tue, 21 Mar 2017 01:43:24 +0000 (21:43 -0400)
CRM/Case/BAO/Case.php

index de60d0c338b0854346a6b1cf4e7182deb58d2e0e..e76b348cd38c4e8982bf2fd785db4a1175af79e8 100644 (file)
@@ -1225,7 +1225,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
     }
     $values = array();
     $query = '
-      SELECT cc.display_name as name, cc.sort_name as sort_name, cc.id, cr.relationship_type_id, crt.label_b_a as role, ce.email
+      SELECT cc.display_name as name, cc.sort_name as sort_name, cc.id, cr.relationship_type_id, crt.label_b_a as role, crt.name_b_a, ce.email
       FROM civicrm_relationship cr
       LEFT JOIN civicrm_relationship_type crt
         ON crt.id = cr.relationship_type_id
@@ -1253,7 +1253,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
           'email' => $dao->email,
         );
         // Add more info about the role (creator, manager)
-        $role = CRM_Utils_Array::value($details['role'], $caseRoles);
+        $role = CRM_Utils_Array::value($dao->name_b_a, $caseRoles);
         if ($role) {
           unset($role['name']);
           $details += $role;