From: Eileen McNaughton Date: Tue, 11 Jan 2022 00:40:14 +0000 (+1300) Subject: Re-fix enotice on searchType to work with default modifiers X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=cc6ce9a19d93e643dafe152aef77cca7cceca763;p=civicrm-core.git Re-fix enotice on searchType to work with default modifiers Use a value that we ensure we assign --- diff --git a/CRM/Contact/Form/Task.php b/CRM/Contact/Form/Task.php index ae579b7d63..134379f81c 100644 --- a/CRM/Contact/Form/Task.php +++ b/CRM/Contact/Form/Task.php @@ -130,6 +130,8 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task { $form->_task = self::$_searchFormValues['task'] ?? NULL; + $isSelectedContacts = (self::$_searchFormValues['radio_ts'] ?? NULL) === 'ts_sel'; + $form->assign('isSelectedContacts', $isSelectedContacts); // all contacts or action = save a search if ((CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_all') || ($form->_task == CRM_Contact_Task::SAVE_SEARCH) @@ -152,7 +154,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task { } } } - elseif (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel') { + elseif ($isSelectedContacts) { // selected contacts only // need to perform action on only selected contacts $insertString = []; @@ -199,13 +201,11 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task { } } - if (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel' + if ($isSelectedContacts && ($form->_action != CRM_Core_Action::COPY) ) { - $sel = self::$_searchFormValues['radio_ts'] ?? NULL; - $form->assign('searchtype', $sel); $result = self::getSelectedContactNames(); - $form->assign("value", $result); + $form->assign('value', $result); } if (!empty($form->_contactIds)) { diff --git a/CRM/Contact/Form/Task/EmailTrait.php b/CRM/Contact/Form/Task/EmailTrait.php index b62a8c5163..1727bbd927 100644 --- a/CRM/Contact/Form/Task/EmailTrait.php +++ b/CRM/Contact/Form/Task/EmailTrait.php @@ -123,6 +123,10 @@ trait CRM_Contact_Form_Task_EmailTrait { // Currently only the contact email form is callable outside search context. parent::preProcess(); } + else { + // E-notice prevention in Task.tpl + $this->assign('isSelectedContacts', FALSE); + } $this->setContactIDs(); $this->assign('single', $this->_single); $this->assign('isAdmin', CRM_Core_Permission::check('administer CiviCRM')); diff --git a/CRM/Core/Form/Task.php b/CRM/Core/Form/Task.php index 3c134e608c..1526eda1fa 100644 --- a/CRM/Core/Form/Task.php +++ b/CRM/Core/Form/Task.php @@ -156,9 +156,10 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form { $searchFormValues = $form->getSearchFormValues(); $form->_task = $searchFormValues['task']; - + $isSelectedContacts = ($searchFormValues['radio_ts'] ?? NULL) === 'ts_sel'; + $form->assign('isSelectedContacts', $isSelectedContacts); $entityIds = []; - if ($searchFormValues['radio_ts'] == 'ts_sel') { + if ($isSelectedContacts) { foreach ($searchFormValues as $name => $value) { if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) { $entityIds[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN); diff --git a/templates/CRM/Contact/Form/Task.tpl b/templates/CRM/Contact/Form/Task.tpl index ec171e0810..80cdb64ade 100644 --- a/templates/CRM/Contact/Form/Task.tpl +++ b/templates/CRM/Contact/Form/Task.tpl @@ -9,7 +9,7 @@ *} {ts 1=$totalSelectedContacts}Number of selected contacts: %1{/ts} -{if !empty($searchtype) && $searchtype eq 'ts_sel'} +{if $isSelectedContacts}
@@ -32,7 +32,7 @@ {ts}View Selected Contacts{/ts} {/if} -{if !empty($searchtype) && $searchtype eq 'ts_sel'} +{if $isSelectedContacts} {literal}