1 package SL::Controller::TopQuickSearch::Base;
4 use parent qw(Rose::Object);
6 sub auth { die 'must be overwritten' }
8 sub name { die 'must be overwritten' }
10 sub description_config { die 'must be overwritten' }
12 sub description_field { die 'must be overwritten' }
14 sub query_autocomplete { die 'must be overwritten' }
16 sub select_autocomplete { die 'must be overwritten' }
18 sub do_search { die 'must be overwritten' }
28 SL::Controller::TopQuickSearch::Base - base interface class for quick search plugins
32 see L<SL::Controller::TopQuickSearch>
36 An implementation must provide these functions.
42 Must return a string used for access checks. Empty string or undef will mean
47 Internal name, must be plain ASCII.
49 =item C<description_config>
51 Localized name used in the configuration.
53 =item C<description_field>
55 Localized name used in the search field as hint. Should fit into an input of
58 =item C<query_autocomplete>
60 Needs to take C<term> from C<$::form> and must return an arrayref of JSON
61 serializable matches fit for jquery autocomplete.
63 =item C<select_autocomplete>
65 Needs to take C<id> from C<$::form> and must return a redirect string to be
66 used with C<SL::Controller::Base::redirect_to> pointing to a representation of
71 Needs to take C<term> from C<$::form> and must return a redirect string to be
72 used with C<SL::Controller::Base::redirect_to> pointing to a representation of
73 the search results. If the search will display only only one match, it should
74 instead return the same result as if that object was selected directly using
75 C<select_autocomplete>.
85 Sven Schöling E<lt>s.schoeling@linet-services.deE<gt>