Activity search - convert priority_id to a metadata field and add location
authoreileen <emcnaughton@wikimedia.org>
Tue, 2 Jul 2019 05:22:39 +0000 (17:22 +1200)
committereileen <emcnaughton@wikimedia.org>
Tue, 2 Jul 2019 05:25:10 +0000 (17:25 +1200)
The location field on activity in a generally exposed field so it makes sense it should be in the search. Priority_id
conversion is part of ongoing standardisation which includes adding url parameter support for the field

CRM/Activity/BAO/Query.php
templates/CRM/Activity/Form/Search/Common.tpl

index 2c4a0440a7af07fd83dae95c64f6db930415cdef..c096ebc8196cf00679f7c4ad384681a9a9e57692 100644 (file)
@@ -463,7 +463,7 @@ class CRM_Activity_BAO_Query {
    * rather than a static function.
    */
   public static function getSearchFieldMetadata() {
-    $fields = ['activity_type_id', 'activity_date_time'];
+    $fields = ['activity_type_id', 'activity_date_time', 'priority_id', 'activity_location'];
     $metadata = civicrm_api3('Activity', 'getfields', [])['values'];
     return array_intersect_key($metadata, array_flip($fields));
   }
@@ -515,17 +515,6 @@ class CRM_Activity_BAO_Query {
     $form->addRadio('activity_option', '', CRM_Core_SelectValues::activityTextOptions());
     $form->setDefaults(['activity_option' => 'both']);
 
-    $priority = CRM_Core_PseudoConstant::get('CRM_Activity_DAO_Activity', 'priority_id');
-    $form->addSelect('priority_id',
-      [
-        'entity' => 'activity',
-        'label' => ts('Priority'),
-        'multiple' => 'multiple',
-        'option_url' => NULL,
-        'placeholder' => ts('- any -'),
-      ]
-    );
-
     $form->addYesNo('activity_test', ts('Activity is a Test?'));
     $activity_tags = CRM_Core_BAO_Tag::getColorTags('civicrm_activity');
 
@@ -680,7 +669,9 @@ class CRM_Activity_BAO_Query {
    * Where/qill clause for notes
    *
    * @param array $values
-   * @param object $query
+   * @param CRM_Contact_BAO_Query $query
+   *
+   * @throws \CRM_Core_Exception
    */
   public static function whereClauseSingleActivityText(&$values, &$query) {
     list($name, $op, $value, $grouping, $wildcard) = $values;
index 15f597a10159456e5d0f5e6997d20438f8cde4de..b62d8c1da066f15604bab5542c5bc1e67d17d0d2 100644 (file)
     &nbsp; {$form.activity_test.html}
   </td>
 </tr>
+<tr>
+<td>{$form.activity_location.label}<br />
+  {$form.activity_location.html}</td>
+<td></td>
+</tr>
 {if $buildSurveyResult }
   <tr>
     <td id="activityResult">