From 5ff596c08471480a6053b96aa8490a8c2bf2b202 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 18 Oct 2017 12:06:47 -0400 Subject: [PATCH] CRM-20078 - Fix activity file on case button --- CRM/Activity/Form/Activity.php | 2 +- CRM/Case/Form/ActivityToCase.php | 6 ++++++ templates/CRM/Activity/Form/Activity.tpl | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CRM/Activity/Form/Activity.php b/CRM/Activity/Form/Activity.php index 7187c523d3..9cdfd4a74a 100644 --- a/CRM/Activity/Form/Activity.php +++ b/CRM/Activity/Form/Activity.php @@ -242,7 +242,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task { if (CRM_Contact_Form_Search::isSearchContext($this->_context)) { $this->_context = 'search'; } - elseif (!in_array($this->_context, array('dashlet', 'dashletFullscreen')) + elseif (!in_array($this->_context, array('dashlet', 'case', 'dashletFullscreen')) && $this->_currentlyViewedContactId ) { $this->_context = 'activity'; diff --git a/CRM/Case/Form/ActivityToCase.php b/CRM/Case/Form/ActivityToCase.php index 7951af7031..f33cfbdb8e 100644 --- a/CRM/Case/Form/ActivityToCase.php +++ b/CRM/Case/Form/ActivityToCase.php @@ -67,6 +67,12 @@ class CRM_Case_Form_ActivityToCase extends CRM_Core_Form { // If this contact has an open case, supply it as a default $cid = CRM_Utils_Request::retrieve('cid', 'Integer'); + if (!$cid) { + $act = civicrm_api3('Activity', 'getsingle', array('id' => $this->_activityId, 'return' => 'target_contact_id')); + if (!empty($act['target_contact_id'])) { + $cid = $act['target_contact_id'][0]; + } + } if ($cid) { $cases = civicrm_api3('CaseContact', 'get', array( 'contact_id' => $cid, diff --git a/templates/CRM/Activity/Form/Activity.tpl b/templates/CRM/Activity/Form/Activity.tpl index 937ef5fc5f..278475ca83 100644 --- a/templates/CRM/Activity/Form/Activity.tpl +++ b/templates/CRM/Activity/Form/Activity.tpl @@ -265,13 +265,13 @@ {ts}Delete{/ts} {/if} {/if} - {if $action eq 4 and call_user_func(array('CRM_Case_BAO_Case','checkPermission'), $activityId, 'File On Case', $atype)} + {if $action eq 4 and $context != 'case' and call_user_func(array('CRM_Case_BAO_Case','checkPermission'), $activityId, 'File On Case', $atype)} {ts}File on Case{/ts} + {include file="CRM/Case/Form/ActivityToCase.tpl"} {/if} {include file="CRM/common/formButtons.tpl" location="bottom"} - {include file="CRM/Case/Form/ActivityToCase.tpl"} {if $action eq 1 or $action eq 2 or $context eq 'search' or $context eq 'smog'} {*include custom data js file*} -- 2.25.1