X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContact%2FForm%2FSearch%2FBuilder.php;h=3b0a639d3122099a97038192d0d316f00110e407;hb=a969ba2b3fc64eebf12a98e3bfc69212d832ee19;hp=e2a88eaded998ac030815779a672b973d8642f03;hpb=d10b2c65fedfc3bac77085a1639acc2188de2926;p=civicrm-core.git diff --git a/CRM/Contact/Form/Search/Builder.php b/CRM/Contact/Form/Search/Builder.php index e2a88eaded..3b0a639d31 100644 --- a/CRM/Contact/Form/Search/Builder.php +++ b/CRM/Contact/Form/Search/Builder.php @@ -105,7 +105,7 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search { } // Add javascript CRM_Core_Resources::singleton() - ->addScriptFile('civicrm', 'templates/CRM/Contact/Form/Search/Builder.js') + ->addScriptFile('civicrm', 'templates/CRM/Contact/Form/Search/Builder.js', 1, 'html-header') ->addSetting(array( 'searchBuilder' => array( // Index of newly added/expanded block (1-based index) @@ -182,7 +182,7 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search { foreach ($grpId as $val) { $error = CRM_Utils_Type::validate($val, 'Integer', FALSE); if ($error != $val) { - $errorMsg["value[$v[3]][$v[4]]"] = ts("Please enter valid value."); + $errorMsg["value[$v[3]][$v[4]]"] = ts("Please enter a valid value."); break; } } @@ -443,17 +443,21 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search { 'member_is_pay_later' => 'yesno', 'is_override' => 'yesno', ); - $entities = array('contact', 'address', 'activity', 'participant', 'pledge', 'member', 'contribution'); + $entities = array('contact', 'address', 'activity', 'participant', 'pledge', 'member', 'contribution', 'case', 'grant'); CRM_Contact_BAO_Query_Hook::singleton()->alterSearchBuilderOptions($entities, $options); foreach ($entities as $entity) { $fields = civicrm_api3($entity, 'getfields'); 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') {