From 7b9dceddcb62396e6abc28ec3835aef9edb7135b Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 21 Oct 2016 21:37:56 -0400 Subject: [PATCH] CRM-17869 - Support all entities with custom date search --- CRM/Activity/BAO/Query.php | 7 ++++++- CRM/Case/BAO/Query.php | 9 ++++++--- CRM/Contact/Form/Search/Criteria.php | 14 ++++++++++++-- CRM/Contribute/BAO/ContributionRecur.php | 7 ++++++- CRM/Contribute/BAO/Query.php | 7 ++++++- CRM/Event/BAO/Query.php | 7 ++++++- CRM/Grant/BAO/Query.php | 7 ++++++- CRM/Member/BAO/Query.php | 7 ++++++- CRM/Pledge/BAO/Query.php | 7 ++++++- 9 files changed, 60 insertions(+), 12 deletions(-) diff --git a/CRM/Activity/BAO/Query.php b/CRM/Activity/BAO/Query.php index 370c16dd70..b42e610c3e 100644 --- a/CRM/Activity/BAO/Query.php +++ b/CRM/Activity/BAO/Query.php @@ -465,7 +465,12 @@ class CRM_Activity_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Case/BAO/Query.php b/CRM/Case/BAO/Query.php index 4a27d40c03..d4e7a8bf09 100644 --- a/CRM/Case/BAO/Query.php +++ b/CRM/Case/BAO/Query.php @@ -677,8 +677,6 @@ case_relation_type.id = case_relationship.relationship_type_id )"; * @param CRM_Core_Form $form */ public static function buildSearchForm(&$form) { - $config = CRM_Core_Config::singleton(); - //validate case configuration. $configured = CRM_Case_BAO_Case::isCaseConfigured(); $form->assign('notConfigured', !$configured['configured']); @@ -727,7 +725,12 @@ case_relation_type.id = case_relationship.relationship_type_id )"; foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Contact/Form/Search/Criteria.php b/CRM/Contact/Form/Search/Criteria.php index 639814e63a..853579ac48 100644 --- a/CRM/Contact/Form/Search/Criteria.php +++ b/CRM/Contact/Form/Search/Criteria.php @@ -379,7 +379,12 @@ class CRM_Contact_Form_Search_Criteria { foreach ($groupDetails as $group) { foreach ($group['fields'] as $field) { $elementName = 'custom_' . $field['id']; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $field['id'], FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $field['id'], FALSE, TRUE); + } } } } @@ -455,7 +460,12 @@ class CRM_Contact_Form_Search_Criteria { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Contribute/BAO/ContributionRecur.php b/CRM/Contribute/BAO/ContributionRecur.php index ea40fa3d74..cb9a00bbe7 100644 --- a/CRM/Contribute/BAO/ContributionRecur.php +++ b/CRM/Contribute/BAO/ContributionRecur.php @@ -791,7 +791,12 @@ INNER JOIN civicrm_contribution con ON ( con.id = mp.contribution_id ) foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Contribute/BAO/Query.php b/CRM/Contribute/BAO/Query.php index 60769cedc8..7b2779cce8 100644 --- a/CRM/Contribute/BAO/Query.php +++ b/CRM/Contribute/BAO/Query.php @@ -1121,7 +1121,12 @@ class CRM_Contribute_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Event/BAO/Query.php b/CRM/Event/BAO/Query.php index 7bce9747f7..a0c96f329e 100644 --- a/CRM/Event/BAO/Query.php +++ b/CRM/Event/BAO/Query.php @@ -655,7 +655,12 @@ class CRM_Event_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Grant/BAO/Query.php b/CRM/Grant/BAO/Query.php index b03b65c25d..10222a9339 100644 --- a/CRM/Grant/BAO/Query.php +++ b/CRM/Grant/BAO/Query.php @@ -363,7 +363,12 @@ class CRM_Grant_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Member/BAO/Query.php b/CRM/Member/BAO/Query.php index 6a7ebb5cd1..c0f24dd299 100644 --- a/CRM/Member/BAO/Query.php +++ b/CRM/Member/BAO/Query.php @@ -514,7 +514,12 @@ class CRM_Member_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } diff --git a/CRM/Pledge/BAO/Query.php b/CRM/Pledge/BAO/Query.php index f2aec40dfd..024a3f01c0 100644 --- a/CRM/Pledge/BAO/Query.php +++ b/CRM/Pledge/BAO/Query.php @@ -586,7 +586,12 @@ class CRM_Pledge_BAO_Query { foreach ($group['fields'] as $field) { $fieldId = $field['id']; $elementName = 'custom_' . $fieldId; - CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + if ($field['data_type'] == 'Date' && $field['is_search_range']) { + CRM_Core_Form_Date::buildDateRange($form, $elementName, 1, '_from', '_to', ts('From:'), FALSE); + } + else { + CRM_Core_BAO_CustomField::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE); + } } } } -- 2.25.1