From 92e9c781e62a17f8e5a7f64c449b5054a78f438d Mon Sep 17 00:00:00 2001 From: Allen Shaw Date: Tue, 13 Dec 2016 20:50:20 -0600 Subject: [PATCH] Fix CRM-19447: "Improve Activity Subject/Details text search to be similiar to Notes Subject/Body" --- CRM/Activity/BAO/Query.php | 23 ++++++------------- CRM/Activity/Form/Search.php | 2 -- CRM/Contact/BAO/Query.php | 4 +--- templates/CRM/Activity/Form/Search/Common.tpl | 4 ++-- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/CRM/Activity/BAO/Query.php b/CRM/Activity/BAO/Query.php index 8dc44b30ed..f863c96157 100644 --- a/CRM/Activity/BAO/Query.php +++ b/CRM/Activity/BAO/Query.php @@ -212,10 +212,8 @@ class CRM_Activity_BAO_Query { $query->_qill[$grouping][] = ts('%1 %2 %3', array(1 => $fields[$qillName]['title'], 2 => $op, 3 => $value)); break; - case 'activity': - case 'activity_details': - case 'activity_subject': - self::activity($values, $query); + case 'activity_text': + self::whereClauseSingleActivityText($values, $query); break; case 'activity_type': @@ -431,7 +429,7 @@ class CRM_Activity_BAO_Query { array('entity' => 'activity', 'multiple' => 'multiple', 'option_url' => NULL, 'placeholder' => ts('- any -')) ); $form->setDefaults(array('status_id' => array($activityStatus['Completed'], $activityStatus['Scheduled']))); - $form->addElement('text', 'activity', ts('Activity Text'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name')); + $form->addElement('text', 'activity_text', ts('Activity Text'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name')); $activity_options = array( 2 => ts('Details Only'), 3 => ts('Subject Only'), @@ -576,27 +574,20 @@ class CRM_Activity_BAO_Query { * * @param array $values */ - public static function activity(&$values, &$query) { + public static function whereClauseSingleActivityText(&$values, &$query) { list($name, $op, $value, $grouping, $wildcard) = $values; - $activityOptionValues = $query->getWhereValues('activity_option', $grouping); $activityOption = CRM_Utils_Array::value('2', $activityOptionValues, '6'); - $activityOption = ($name == 'activity_details') ? 2 : (($name == 'activity_subject') ? 3 : $activityOption); $query->_useDistinct = TRUE; $strtolower = function_exists('mb_strtolower') ? 'mb_strtolower' : 'strtolower'; $n = trim($value); $value = $strtolower(CRM_Core_DAO::escapeString($n)); - if ($wildcard) { - if (strpos($value, '%') === FALSE) { - $value = "%$value%"; - } - $op = 'LIKE'; - } - elseif ($op == 'IS NULL' || $op == 'IS NOT NULL') { - $value = NULL; + if (strpos($value, '%') === FALSE) { + $value = "%$value%"; } + $op = 'LIKE'; $label = NULL; $clauses = array(); diff --git a/CRM/Activity/Form/Search.php b/CRM/Activity/Form/Search.php index 25cb120f8c..11be078fe1 100644 --- a/CRM/Activity/Form/Search.php +++ b/CRM/Activity/Form/Search.php @@ -195,8 +195,6 @@ class CRM_Activity_Form_Search extends CRM_Core_Form_Search { $specialParams = array( 'activity_type_id', 'status_id', - 'activity_subject', - 'activity_details', ); $changeNames = array('status_id' => 'activity_status_id'); CRM_Contact_BAO_Query::processSpecialFormValue($this->_formValues, $specialParams, $changeNames); diff --git a/CRM/Contact/BAO/Query.php b/CRM/Contact/BAO/Query.php index b87ffbfaf2..67f9e997fd 100644 --- a/CRM/Contact/BAO/Query.php +++ b/CRM/Contact/BAO/Query.php @@ -1886,10 +1886,8 @@ class CRM_Contact_BAO_Query { case 'followup_parent_id': case 'parent_id': case 'source_contact_id': - case 'activity': + case 'activity_text': case 'activity_option': - case 'activity_details': - case 'activity_subject': case 'test_activities': case 'activity_type_id': case 'activity_type': diff --git a/templates/CRM/Activity/Form/Search/Common.tpl b/templates/CRM/Activity/Form/Search/Common.tpl index 70bacb3df4..48fceda25d 100644 --- a/templates/CRM/Activity/Form/Search/Common.tpl +++ b/templates/CRM/Activity/Form/Search/Common.tpl @@ -96,8 +96,8 @@ - {$form.activity.label}
- {$form.activity.html|crmAddClass:big}
+ {$form.activity_text.label}
+ {$form.activity_text.html|crmAddClass:big}
{$form.activity_option.html}
-- 2.25.1