From e61022d71f37660c295dba9f423c3f83927023a8 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Tue, 5 Aug 2014 17:41:04 +0100 Subject: [PATCH] Add state/country custom field options to search builder --- CRM/Contact/Form/Search/Builder.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CRM/Contact/Form/Search/Builder.php b/CRM/Contact/Form/Search/Builder.php index e2a88eaded..380d04a269 100644 --- a/CRM/Contact/Form/Search/Builder.php +++ b/CRM/Contact/Form/Search/Builder.php @@ -450,10 +450,14 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search { foreach ($fields['values'] as $field => $info) { if (!empty($info['options']) || !empty($info['pseudoconstant']) || !empty($info['option_group_id'])) { $options[$field] = $entity; + // Hack for when search field doesn't match db field - e.g. "country" instead of "country_id" if (substr($field, -3) == '_id') { $options[substr($field, 0, -3)] = $entity; } } + elseif (!empty($info['data_type']) && in_array($info['data_type'], array('StateProvince', 'Country'))) { + $options[$field] = $entity; + } elseif (in_array(substr($field, 0, 3), array('is_', 'do_')) || CRM_Utils_Array::value('data_type', $info) == 'Boolean') { $options[$field] = 'yesno'; if ($entity != 'contact') { -- 2.25.1