*
* Generated from xml/schema/CRM/Case/Case.xml
* DO NOT EDIT. Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:83be6db09d4f5220f74ccc72149dcab6)
+ * (GenCodeChecksum:b5dbbb96b15e9ff288890017d324b984)
*/
/**
*/
public static $_log = TRUE;
+ /**
+ * Paths for accessing this entity in the UI.
+ *
+ * @var string[]
+ */
+ protected static $_paths = [
+ 'view' => 'civicrm/contact/view/case?action=view&reset=1&id=[id]',
+ ];
+
/**
* Unique Case ID
*
*/
public $_contactID;
+ private $_caseClients;
+
/**
* ID of case being viewed
*
$this->_hasAccessToAllCases = CRM_Core_Permission::check('access all cases and activities');
$this->assign('hasAccessToAllCases', $this->_hasAccessToAllCases);
- $this->assign('contactID', $this->_contactID = (int) $this->get('cid'));
$this->assign('caseID', $this->_caseID = (int) $this->get('id'));
+ $this->_caseClients = CRM_Case_BAO_Case::getContactNames($this->_caseID);
+
+ $cid = $this->get('cid');
+
+ // If no cid supplied, use first case client
+ if (!$cid) {
+ $cid = array_keys($this->_caseClients)[0];
+ }
+ elseif (!isset($this->_caseClients[$cid])) {
+ CRM_Core_Error::statusBounce("Contact $cid not a client of case " . $this->_caseID);
+ }
+ $this->assign('contactID', $this->_contactID = (int) $cid);
+
// Access check.
if (!CRM_Case_BAO_Case::accessCase($this->_caseID, FALSE)) {
CRM_Core_Error::statusBounce(ts('You do not have permission to access this case.'));
"action=view&reset=1&id={$this->_caseID}&cid={$this->_contactID}&context=home"
);
- $displayName = CRM_Contact_BAO_Contact::displayName($this->_contactID);
+ $displayName = $this->_caseClients[$this->_contactID]['display_name'];
$this->assign('displayName', $displayName);
$this->setTitle($displayName . ' - ' . $caseType);
$this->assign('caseRelationships', $caseRelationships);
//also add client as role. CRM-4438
- $caseRoles['client'] = CRM_Case_BAO_Case::getContactNames($this->_caseID);
+ $caseRoles['client'] = $this->_caseClients;
$this->assign('caseRoles', $caseRoles);