From e237b7e7583c6e7ab35840050d8bd9ce71ac5a6f Mon Sep 17 00:00:00 2001 From: Gervase Markham Date: Thu, 27 Jan 2011 12:55:58 +0000 Subject: Allow extensions to alter quicksearch terms and search format. r=mkanat. https://bugzilla.mozilla.org/show_bug.cgi?id=621878 --- Bugzilla/Hook.pm | 15 +++++++++++++++ Bugzilla/Search/Quicksearch.pm | 2 ++ extensions/Example/Extension.pm | 8 ++++++++ 3 files changed, 25 insertions(+) diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index de46f9a25..cf81e9c7d 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -1136,6 +1136,21 @@ Params: =back +=head2 quicksearch_map + +This hook allows you to alter the Quicksearch syntax to include e.g. special +searches for custom fields you have. + +Params: + +=over + +=item C - a hash where the key is the name you want to use in +Quicksearch, and the value is the name from the C table that you +want it to map to. You can modify existing mappings or add new ones. + +=back + =head2 sanitycheck_check This hook allows for extra sanity checks to be added, for use by diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm index b2151ba3a..340421bbb 100644 --- a/Bugzilla/Search/Quicksearch.pm +++ b/Bugzilla/Search/Quicksearch.pm @@ -101,6 +101,8 @@ sub FIELD_MAP { status_whiteboard cclist_accessible reporter_accessible)}; + Bugzilla::Hook::process('quicksearch_map', {'map' => \%full_map} ); + $cache->{quicksearch_fields} = \%full_map; return $cache->{quicksearch_fields}; diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index 14bf6df87..f56416559 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -649,6 +649,14 @@ sub product_end_of_create { } } +sub quicksearch_map { + my ($self, $args) = @_; + my $map = $args->{'map'}; + + # This demonstrates adding a shorter alias for a long custom field name. + $map->{'impact'} = $map->{'cf_long_field_name_for_impact_field'}; +} + sub sanitycheck_check { my ($self, $args) = @_; -- cgit v1.2.3-24-g4f1b