Bug 30733: [22.05] Simplify translatable strings
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / catalogue / advsearch.tt
1 [% USE raw %]
2 [% USE Koha %]
3 [% USE Asset %]
4 [% USE Branches %]
5 [% SET footerjs = 1 %]
6 [% INCLUDE 'doc-head-open.inc' %]
7 <title>Advanced search &rsaquo; Catalog &rsaquo; Koha</title>
8 [% INCLUDE 'doc-head-close.inc' %]
9 </head>
10
11 [%- BLOCK language_limit_select -%]
12     <select name="limit" id="[% ln_id | html %]">
13         <option value="">No limit</option>
14         [% FOREACH ln_loo IN ln_loop %]
15             [% IF ( ln_loo.selected or selected == ln_loo.iso639_2_code ) %]
16                 <option value="[% ln_index | html %],rtrn:[% ln_loo.iso639_2_code | html %]" selected="selected">
17                     [% ln_loo.language_description | html %]
18                 </option>
19             [% ELSE %]
20                 <option value="[% ln_index | html %],rtrn:[% ln_loo.iso639_2_code | html %]">
21                     [% ln_loo.language_description | html %]
22                 </option>
23             [% END %]
24         [% END %]
25     </select>
26 [%- END -%]
27
28 <body id="catalog_advsearch" class="catalog">
29 [% INCLUDE 'header.inc' %]
30 [% INCLUDE 'adv-search.inc' %]
31
32 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
33     <ol>
34         <li>
35             <a href="/cgi-bin/koha/mainpage.pl">Home</a>
36         </li>
37         <li>
38             <a href="#" aria-current="page">
39                 Advanced search
40             </a>
41         </li>
42     </ol>
43 </nav>
44
45 <div class="main container-fluid">
46     <div class="row">
47         <div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
48
49             <form action="search.pl" method="get">
50                 <div id="advanced-search">
51                     <input type="hidden" name="advsearch" value="1"/>
52                     <h1>Advanced search</h1>
53                     <p>
54                         <a href="/cgi-bin/koha/catalogue/itemsearch.pl">Go to item search</a>
55                         [% IF searchid %]
56                             <div id="previous_search_link"></div>
57                         [% END %]
58                     </p>
59
60                     <!-- SEARCH BUTTONS -->
61                     <div id="toolbar" class="btn-toolbar">
62                         <fieldset class="action" id="submit1">
63                             <div class="btn-group">
64                                 <button class="btn btn-default" type="submit" accesskey="s"><i class="fa fa-search"></i> Search</button>
65                             </div>
66                             <div class="btn-group">
67                             [% IF ( expanded_options ) %]
68                                 <a href="/cgi-bin/koha/catalogue/search.pl?expanded_options=0" class="btn btn-link"><i class="fa fa-search-minus"></i> Fewer options</a>
69                             </div>
70                             [% ELSE %]
71                                 <a href="/cgi-bin/koha/catalogue/search.pl?expanded_options=1" class="btn btn-link"><i class="fa fa-search-plus"></i> More options</a>
72                             </div>
73                             [% END %]
74                             <div class="btn-group">
75                                 <a href="/cgi-bin/koha/catalogue/search.pl?do=Clear&expanded_options=[% expanded_options | uri %]" class="btn btn-link"><i class="fa fa-trash"></i> Clear fields</a>
76                             </div>
77                         </fieldset> <!-- /.action -->
78                     </div> <!-- /#toolbar -->
79                     <!-- /SEARCH BUTTONS -->
80
81                     [% IF ( outer_servers_loop ) %]
82                         <!-- DATABASES -->
83                         <fieldset>
84                             <legend>Select local databases</legend>
85                             [% FOREACH local_servers_loo IN local_servers_loop %]
86                                 [% IF ( local_servers_loo.checked ) %]
87                                     <input type="checkbox" id="[% local_servers_loo.id | html %]" name="[% local_servers_loo.name | html %]" checked="checked" value="[% local_servers_loo.value | html %]" />
88                                 [% ELSE %]
89                                     <input type="checkbox" id="[% local_servers_loo.id | html %]" name="[% local_servers_loo.name | html %]" value="[% local_servers_loo.value | html %]" />
90                                 [% END %]
91                                 <label for="[% local_servers_loo.id | html %]">
92                                     <img width="16" height="16" alt="[% local_servers_loo.id | html %]" src="[% themelang | html %]/img/[% local_servers_loo.icon | html %]" /> [% local_servers_loo.label | html %]
93                                 </label>
94                             [% END # /FOREACH local_servers_loo %]
95                         </fieldset>
96                         <!-- /DATABASES -->
97                     [% END # /IF ( outer_servers_loop ) %]
98
99                     [% IF ( outer_servers_loop ) %]
100                         <!-- REMOTE DATABASES -->
101                         <fieldset id="databases">
102                             <legend>Select remote databases</legend>
103                             [% FOREACH outer_servers_loo IN outer_servers_loop %]
104                                 [% IF ( outer_servers_loo.checked ) %]
105                                     <input type="checkbox" id="[% outer_servers_loo.id | html %]" name="[% outer_servers_loo.name | html %]" checked="checked" value="[% outer_servers_loo.value | html %]" />
106                                 [% ELSE %]
107                                     <input type="checkbox" id="[% outer_servers_loo.id | html %]" name="[% outer_servers_loo.name | html %]" value="[% outer_servers_loo.value | html %]" />
108                                 [% END %]
109                                 <label for="[% outer_servers_loo.id | html %]">
110                                     <img alt="[% outer_servers_loo.id | html %]" src="[% themelang | html %]/images/[% outer_servers_loo.icon | html %]" />[% outer_servers_loo.label | html %]
111                                 </label>
112                             [% END # /FOREACH outer_servers_loo %]
113                         </fieldset> <!-- /#databases -->
114                         <!-- /REMOTE DATABASES -->
115                     [% END %]
116
117                     <!-- BOOLEAN SEARCH OPTIONS -->
118                     <fieldset id="searchterms">
119                         <legend>Search for </legend>
120                         [% FOREACH query IN queries %]
121                             [% IF ( expanded_options ) %]
122                                 [% IF loop.first %]
123                                     <div class="search-term-row" style="text-indent: 4.25em;">
124                                 [% ELSE %]
125                                     <div class="search-term-row">
126                                         [% SET opindex = loop.index - 1 %]
127                                         <select name="op">
128                                             [% IF operators.$opindex == 'OR' %]
129                                                 <option value="AND">and</option>
130                                                 <option value="OR" selected="selected">or</option>
131                                                 <option value="NOT">not</option>
132                                             [% ELSIF operators.$opindex == 'NOT' %]
133                                                 <option value="AND">and</option>
134                                                 <option value="OR">or</option>
135                                                 <option value="NOT" selected="selected">not</option>
136                                             [% ELSE %]
137                                                 <option value="AND" selected="selected">and</option>
138                                                 <option value="OR">or</option>
139                                                 <option value="NOT">not</option>
140                                             [% END %]
141                                         </select>
142                                 [% END # /IF loop.first %]
143                             [% ELSE %]
144                                 <div>
145                             [% END # /IF ( expanded_options ) %]
146
147                             [% SET preselect = 'ms_' _ indexes.${loop.index}.replace(',','comma') %]
148                             [% INCLUDE 'search_indexes.inc' %]
149                             <input type="text" size="30" name="q" title="Enter search terms" value="[% query | html %]" />
150                             [% IF ( expanded_options ) %]
151                                 [% IF ( loop.last ) %]
152                                     <a href="JavaScript:add_field();" id="ButtonPlus" title="Add another field">[+]</a>
153                                 [% END %]
154                                 [% IF ( loop.first ) %]
155                                     <label for="scan">Scan indexes:</label> <input type="checkbox" name="scan" id="scan" value="1" />
156                                 [% END %]
157                             [% END # /IF ( expanded_options ) %]
158                             </div> <!-- /.search-term-row -->
159                         [% END # /FOREACH query IN queries %]
160
161                         [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %]
162                             [% IF ( expanded_options ) %]
163                                 <p>
164                                     [% IF Koha.Preference('ElasticsearchMARCFormat') == 'ARRAY' %]
165                                         <label><input type="checkbox" name="whole_record" /> Search entire MARC record</label>
166                                     [% END %]
167                                     <span id="weight_search">
168                                         <label><input type="checkbox" name="weight_search" checked="checked" /> Apply field weights to search</label>
169                                     </span>
170                                 <p>
171                             [% ELSE %]
172                                 <input type="hidden" name="weight_search" value="1" />
173                             [% END # /IF ( expanded_options ) %]
174                         [% END #/IF Koha.Preference('SearchEngine') %]
175                     </fieldset> <!-- /#searchterms -->
176                     <!-- /BOOLEAN SEARCH OPTIONS -->
177                 </div> <!-- /#advanced-search -->
178
179                 <!-- MC-TYPE LIMITS -->
180                 <div id="advsearches" class="toptabs">
181                     <ul class="nav nav-tabs" role="tablist">
182                         [% FOREACH advsearchloo IN advancedsearchesloop %]
183                             <li role="presentation" id="advsearch-tab-[% advsearchloo.advanced_search_type | html %]">
184                                 <a href="#advsearch-[% advsearchloo.advanced_search_type | uri %]" aria-controls="advsearch-[% advsearchloo.advanced_search_type | uri %]" role="tab" data-toggle="tab">
185                                     [% IF ( advsearchloo.advanced_search_type == 'itemtypes' ) %]<span>Item type</span>
186                                     [% ELSIF ( advsearchloo.advanced_search_type == 'ccode' ) %]<span>Collection</span>
187                                     [% ELSIF ( advsearchloo.advanced_search_type == 'loc' ) %]<span>Shelving location</span>
188                                     [% ELSE %]<span>Something else</span>
189                                     [% END %]
190                                 </a>
191                             </li>
192                         [% END # /FOREACH advsearchloo %]
193                     </ul>
194
195                     <div class="tab-content">
196                         [% FOREACH advsearchloo IN advancedsearchesloop %]
197                             <div id="advsearch-[% advsearchloo.advanced_search_type | html %]"  role="tabpanel" class="tab-pane advsearch">
198                                 <h4>Limit to any of the following:</h4>
199                                 <table>
200                                     <tr>
201                                         [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
202                                             <td>
203                                                 [% SET limit_key = 'mc-' _ itemtypeloo.ccl _ "_" _ itemtypeloo.code %]
204                                                 [% IF limits.$limit_key.defined %]
205                                                     [% limits.delete( limit_key ) %]
206                                                     <input type="checkbox" checked="checked" id="[% itemtypeloo.ccl FILTER remove(',') | html %]-[% itemtypeloo.number | html %]" name="limit" value="mc-[% itemtypeloo.ccl | html %]:[% itemtypeloo.code | html %]"/>
207                                                 [% ELSE %]
208                                                     <input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') | html %]-[% itemtypeloo.number | html %]" name="limit" value="mc-[% itemtypeloo.ccl | html %]:[% itemtypeloo.code | html %]"/>
209                                                 [% END # /IF limits.$limit_key.defined %]
210                                                 <label for="[% itemtypeloo.ccl FILTER remove(',') | html %]-[% itemtypeloo.number | html %]">
211                                                     [% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %]
212                                                         [% IF ( itemtypeloo.imageurl ) %]
213                                                             <img src="[% itemtypeloo.imageurl | html %]" alt="[% itemtypeloo.description | html %]" />
214                                                         [% END %]
215                                                             &nbsp;
216                                                     [% END %]
217                                                     [% itemtypeloo.description | html %]
218                                                 </label>
219                                             </td>
220                                             [% IF ( loop.last ) %]
221                                                 </tr>
222                                             [% ELSE %]
223                                                 [% UNLESS ( loop.count % 5 ) %]
224                                                     </tr>
225                                                     <tr>
226                                                 [% END %]
227                                             [% END # /IF ( loop.last ) %]
228                                         [% END # /FOREACH itemtypeloo %]
229                                 </table>
230                             </div> <!-- /#advsearch-[% advsearchloo.advanced_search_type | html %] -->
231                         [% END # /FOREACH advsearchloo %]
232                     </div> <!-- /.tab-content -->
233                 </div> <!-- /#advsearches -->
234                 <!-- /MC-TYPE LIMIT -->
235
236                 [% IF ( expanded_options ) %]
237                     <!-- BASIC LIMITS -->
238                     <fieldset id="basiclimits">
239                         <legend>Limits</legend>
240                         <fieldset id="pubrange">
241                             <!-- PUB / COPY YEAR LIMIT --><!-- FIXME: add publication,copyright,acquisition options -->
242                             <p>
243                                 <label for="limit-yr">Year: </label>
244                                 [% SET year_limit_key = 'yr,st-numeric' %]
245                                 <input type="text" size="15" name="limit-yr" id="limit-yr" value="[% limits.$year_limit_key.0 | html %]"/>&nbsp;&nbsp;(format: yyyy-yyyy)
246                                 [% IF limits.$year_limit_key.defined %]
247                                     [% limits.delete(year_limit_key) %]
248                                 [% END %]
249                             </p>
250                             <!-- /PUB / COPY YEAR LIMIT -->
251                         </fieldset> <!-- /#pubrange -->
252
253                         <fieldset id="language">
254                             <!-- LANGUAGE LIMIT -->
255                             <p>
256                                 <label for="language-limit">Language: </label>
257                                 [% PROCESS language_limit_select ln_loop=search_languages_loop ln_id='language-limit' ln_index='ln' selected = limits.${'ln,rtrn'}.0 %]
258                                 [% limits.delete( 'ln,rtrn' ) %]
259                                 <label for="language-original-limit">Language of original: </label>
260                                 [% PROCESS language_limit_select ln_loop=search_languages_loop ln_id='language-original-limit' ln_index='language-original' selected = limits.${'language-original,rtrn'}.0 %]
261                                 [% limits.delete( 'language-original,rtrn' ) %]
262                             </p>
263                             <!-- /LANGUAGE LIMIT -->
264                         </fieldset> <!-- /#language -->
265                     </fieldset> <!-- /#basiclimits -->
266                     <!-- /BASIC LIMITS -->
267                 [% END # /IF ( expanded_options ) %]
268
269                 [% IF ( UNIMARC ) %]
270                     [% INCLUDE 'subtypes_unimarc.inc' %]
271                 [% ELSE %]
272                     [% PROCESS 'subtype_limits.inc' %]
273                     <!-- SUBTYPE LIMITS -->
274                     <fieldset id="subtype">
275                         <legend>Subtype limits</legend><p>
276                         [% PROCESS subtype_dropdowns %]
277                         <fieldset id="current_subtype_limits">
278                             <legend>Current subtype limits</legend>
279                             [% FOREACH subtype IN ['aud','fic','bio','ctype','l-format'] %]
280                                 [% FOREACH limit IN limits.$subtype %]
281                                     <span>
282                                         <input name="limit" value="[% subtype | html %]:[% limit | html %]" type="hidden">
283                                         <label for="subtype_limit_[% loop.index() | html %]">[%# PROCESS subtype_limits_description subtype_limit = subtype _':' _ limit #%]</label>
284                                         <input type="checkbox" class="toggle_limit" name="subtype_limit_[% loop.index() | html %]" checked="checked">
285                                     </span>
286                                 [% END %]
287                                 [% limits.delete( subtype ) %]
288                             [% END # /FOREACH subtype %]
289                         </fieldset> <!-- #current_subtype_limits -->
290                     </fieldset> <!-- /#subtype -->
291                 [% END # /IF ( UNIMARC ) %]
292
293                 <!-- AVAILABILITY LIMITS -->
294                 <fieldset id="availability">
295                     <legend>Location and availability</legend>
296                     <fieldset id="currently-avail">
297                         [% IF limit_available %]
298                             <p><label for="available-items">Only items currently available:</label> <input type="checkbox" id="available-items" name="limit" value="available"  checked="checked" /></p>
299                         [% ELSE %]
300                             <p><label for="available-items">Only items currently available:</label> <input type="checkbox" id="available-items" name="limit" value="available" /></p>
301                         [% END %]
302                     </fieldset> <!-- /#currently-avail -->
303
304                     <fieldset id="select-libs">
305                         <p>
306                             <label for="branchloop">Individual libraries:</label>
307                             <select name="limit" id="branchloop">
308                                 <option value="">All libraries</option>
309                                 [%# FIXME Should not we filter the libraries displayed? %]
310                                 [% PROCESS options_for_libraries prefix => "branch:" libraries => Branches.all( unfiltered => 1, do_not_select_my_library => 1, selected => limits.branch.0 ) %]
311                                 [% limits.delete('branch') %]
312                             </select> <!-- /#branchloop -->
313                         </p>
314                         [% IF search_groups %]
315                             <p>OR</p>
316                             <p>
317                                 <label for="categoryloop">Groups of libraries: </label>
318                                 <select name="limit" id="categoryloop">
319                                     <option value=""> -- none -- </option>
320                                     [% FOREACH sg IN search_groups %]
321                                         [% UNLESS sg.branchcode %]
322                                             [% IF limits.multibranchlimit.0 == sg.id %]
323                                                 <option selected="selected" value="multibranchlimit:[% sg.id | html %]">[% sg.title | html %]</option>
324                                             [% ELSE %]
325                                                 <option value="multibranchlimit:[% sg.id | html %]">[% sg.title | html %]</option>
326                                             [% END %]
327                                         [% END %]
328                                     [% END %]
329                                     [% limits.delete('multibranchlimit') %]
330                                 </select> <!-- /#categoryloop -->
331                             </p>
332                         [% END # /search_groups %]
333                     </fieldset> <!-- /#select-libs -->
334                 </fieldset> <!-- /#availability -->
335                 <!-- /AVAILABILITY LIMITS -->
336
337                 <!-- OTHER LIMITS (facets, etc.) -->
338                 [% IF limits.size %]
339                     <fieldset id="">
340                         <legend>Other limits</legend>
341                         <p>
342                             [% FOREACH key IN limits.keys %]
343                                 [% FOREACH limit IN limits.$key %]
344                                     <span>
345                                         <input type="hidden" name="limit" value="[% key | html %]:[% limit | html %]">
346                                         <label for="other_[% key _ loop.index() | html %]">[% key | html %]:[% limit | html %]</label>
347                                         <input type="checkbox" class="toggle_limit" name="other_[% key _ loop.index() | html %]" checked="checked">
348                                     </span>
349                                 [% END %]
350                             [% END %]
351                         </p>
352                     </fieldset>
353                 [% END # /IF limits.size %]
354                 <!-- /OTHER LIMITS (facets, etc.) -->
355
356                 <!-- RANK LIMITS -->
357                 <fieldset id="sortby">
358                     <legend>Sorting</legend>
359                     <p>
360                         <label for="sort_by">Sort by: </label>
361                         <select id="sort_by" name="sort_by">
362                             [% INCLUDE 'resort_form.inc' sort_by = sort %]
363                         </select>
364                     </p>
365                 </fieldset> <!-- /#sortby -->
366                 <!-- /RANK LIMITS -->
367             </form>
368         </div>
369     </div>
370
371 [% MACRO jsinclude BLOCK %]
372     [% Asset.js("lib/hc-sticky.js") | $raw %]
373     [% Asset.js("js/browser.js") | $raw %]
374     <script>
375         /**
376          *  Function add_field();
377          *  This function allows to display a new field to search.
378          */
379         function add_field() {
380             var ButtonPlus = document.getElementById("ButtonPlus");
381             var line = ButtonPlus.parentNode;
382             var dad  = line.parentNode;
383             dad.appendChild(line.cloneNode(true));
384             line.removeChild(ButtonPlus);
385         }
386
387         var Sticky;
388         $(document).ready(function() {
389             $("input[name=q]:eq(0)").focus();
390             if( $(".tab-pane.active").length < 1 ){
391                 $("#advsearches a:first").tab("show");
392             }
393             Sticky = $("#toolbar");
394             Sticky.hcSticky({
395                 stickTo: ".main",
396                 stickyClass: "floating"
397             });
398             [% IF search_groups %]
399                 function branch_limit() {
400                     if( $("#branchloop").val() != "" ){
401                         $("#categoryloop").val("").prop('disabled',true);
402                     } else {
403                         $("#categoryloop").prop('disabled',false);
404                     }
405                     if ( $("#categoryloop").val() != "" ){
406                         $("#branchloop").val("").prop('disabled',true);
407                     } else {
408                         $("#branchloop").prop('disabled',false);
409                     }
410                 }
411                 branch_limit();
412                 $("#branchloop,#categoryloop").on("change",function(){
413                     branch_limit();
414                 });
415             [% END %]
416
417             if( $("#current_subtype_limits input").length == 0 ){
418                 $("#current_subtype_limits").hide();
419             }
420             $(".toggle_limit").on('click',function(){
421                 $(this).siblings("[type='hidden']").prop('disabled', !this.checked);
422             });
423
424             [% IF searchid %]
425                 browser = KOHA.browser('[% searchid | html %]');
426                 browser.show_back_link();
427             [% END %]
428
429         });
430     </script>
431 [% END %]
432
433 [% INCLUDE 'intranet-bottom.inc' %]