Bug 18884: Advanced search on staff client, Availability limit not properly limiting
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / catalogue / advsearch.tt
1 [% USE Branches %]
2 [% SET footerjs = 1 %]
3 [% INCLUDE 'doc-head-open.inc' %]
4 <title>Koha &rsaquo; Catalog &rsaquo; Advanced search</title>
5 [% INCLUDE 'doc-head-close.inc' %]
6 </head>
7
8 <body id="catalog_advsearch" class="catalog">
9 [% INCLUDE 'header.inc' %]
10 [% INCLUDE 'adv-search.inc' %]
11 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; Advanced search</div>
12
13 <div id="doc" class="yui-t7">
14    <div id="bd">
15         
16 <form action="search.pl" method="get">
17 <div id="advanced-search">
18 <h1>Advanced search</h1>
19 <p>
20   <a href="/cgi-bin/koha/catalogue/itemsearch.pl">Go to item search</a>
21 </p>
22
23 <!-- SEARCH BUTTONS -->
24 <div id="toolbar" class="btn-toolbar">
25     <fieldset class="action" id="submit1">
26         <div class="btn-group">
27             <button class="btn btn-default btn-sm" type="submit" accesskey="s"><i class="fa fa-search"></i> Search</button>
28         </div>
29         <div class="btn-group">
30         [% IF ( expanded_options ) %]
31             <a href="/cgi-bin/koha/catalogue/search.pl?expanded_options=0" class="btn btn-sm btn-link"><i class="fa fa-search-minus"></i> Fewer options</a>
32         </div>
33         [% ELSE %]
34             <a href="/cgi-bin/koha/catalogue/search.pl?expanded_options=1" class="btn btn-sm btn-link"><i class="fa fa-search-plus"></i> More options</a>
35         </div>
36         [% END %]
37         <div class="btn-group">
38             <a href="/cgi-bin/koha/catalogue/search.pl?do=Clear&expanded_options=[% expanded_options %]" class="btn btn-sm btn-link"><i class="fa fa-trash"></i> Clear fields</a>
39         </div>
40     </fieldset>
41 </div>
42 <!-- /SEARCH BUTTONS -->
43
44
45 [% IF ( outer_servers_loop ) %]
46 <!-- DATABASES -->
47
48 <fieldset>
49         <legend>Select local databases</legend>
50                 [% FOREACH local_servers_loo IN local_servers_loop %]
51 [% IF ( local_servers_loo.checked ) %]<input type="checkbox" id="[% local_servers_loo.id %]" name="[% local_servers_loo.name %]" checked="checked" value="[% local_servers_loo.value %]" />[% ELSE %]<input type="checkbox" id="[% local_servers_loo.id %]" name="[% local_servers_loo.name %]" value="[% local_servers_loo.value %]" />[% END %]<label for="[% local_servers_loo.id %]"><img width="16" height="16" alt="[% local_servers_loo.id %]" src="[% themelang %]/img/[% local_servers_loo.icon %]" /> [% local_servers_loo.label %]</label>[% END %]
52 </fieldset>
53 <!-- /DATABASES -->
54 [% END %]
55
56 [% IF ( outer_servers_loop ) %]
57 <!-- REMOTE DATABASES -->
58 <fieldset id="databases">
59     <legend>Select remote databases</legend>
60                 [% FOREACH outer_servers_loo IN outer_servers_loop %]
61                 [% IF ( outer_servers_loo.checked ) %]<input type="checkbox" id="[% outer_servers_loo.id %]" name="[% outer_servers_loo.name %]" checked="checked" value="[% outer_servers_loo.value %]" />[% ELSE %]<input type="checkbox" id="[% outer_servers_loo.id %]" name="[% outer_servers_loo.name %]" value="[% outer_servers_loo.value %]" />[% END %]
62 <label for="[% outer_servers_loo.id %]"><img alt="[% outer_servers_loo.id %]" src="[% themelang %]/images/[% outer_servers_loo.icon %]" />[% outer_servers_loo.label %]</label>
63                 [% END %]
64     </fieldset>
65 <!-- /REMOTE DATABASES -->
66 [% END %]
67
68 <!-- BOOLEAN SEARCH OPTIONS -->
69     <fieldset id="searchterms">
70     <legend>Search for </legend>
71     [% FOREACH search_box IN search_boxes_loop %]
72         [% IF ( search_boxes_label ) %]<div style="text-indent: 4.5em;">[% ELSE %]<div>[% END %]
73                         [% IF ( expanded_options ) %]
74             [% IF ( search_box.boolean ) %]
75                 <select name="op">
76                     <option value="and" selected="selected">and</option>
77                     <option value="or">or</option>
78                     <option value="not">not</option>
79                 </select>
80             [% END %] 
81                         [% END %]
82                         [% INCLUDE 'search_indexes.inc' %]
83                         <input type="text" size="30" name="q" title="Enter search terms" value="" />
84             [% IF ( expanded_options ) %]
85                 [% IF ( search_box.add_field ) %]
86                     <a href="JavaScript:add_field();" id="ButtonPlus" title="Add another field">[+]</a>
87                                 [% END %]
88               [% IF ( search_box.scan_index ) %]
89                 <label for="scan">Scan indexes:</label> <input type="checkbox" name="scan" id="scan" value="1" />
90               [% END %]
91             [% END %]
92                 </div>
93     [% END %]
94     </fieldset>
95 <!-- /BOOLEAN SEARCH OPTIONS -->
96
97 </div>
98 <!-- MC-TYPE LIMITS -->
99     <div class="yui-g">
100       <div id="advsearches" class="toptabs">
101       <ul>
102       [% FOREACH advsearchloo IN advancedsearchesloop %]
103         <li id="advsearch-tab-[% advsearchloo.advanced_search_type %]">
104            <a href="#advsearch-[% advsearchloo.advanced_search_type %]">
105            [% IF ( advsearchloo.advanced_search_type == 'itemtypes' ) %]Item type
106            [% ELSIF ( advsearchloo.advanced_search_type == 'ccode' ) %]Collection
107            [% ELSIF ( advsearchloo.advanced_search_type == 'loc' ) %]Shelving location
108            [% ELSE %]Something else
109            [% END %]
110            </a>
111         </li>
112       [% END %]
113       </ul>
114     [% FOREACH advsearchloo IN advancedsearchesloop %]
115     <div id="advsearch-[% advsearchloo.advanced_search_type %]" class="advsearch">
116     <h4>Limit to any of the following:</h4>
117     <table>
118         <tr>
119     [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
120         <td><input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]" name="limit" value="mc-[% itemtypeloo.ccl %]:[% itemtypeloo.code %]"/><label for="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]">[% UNLESS ( noItemTypeImages ) %][% IF ( itemtypeloo.imageurl ) %]<img src="[% itemtypeloo.imageurl %]" alt="[% itemtypeloo.description %]" />[% END %]&nbsp;[% END %]
121         [% itemtypeloo.description %]</label></td>
122         [% IF ( loop.last ) %]</tr>[% ELSE %][% UNLESS ( loop.count % 5 ) %]</tr><tr>[% END %][% END %]
123     [% END %]
124     </table>
125     </div>
126     [% END %]
127 <!-- /MC-TYPE LIMIT -->
128 [% IF ( expanded_options ) %]
129 <!-- BASIC LIMITS -->
130  <fieldset id="basiclimits">
131         <legend>Limits</legend>
132 <fieldset id="pubrange">
133 <!-- PUB / COPY YEAR LIMIT --><!-- FIXME: add publication,copyright,acquisition options -->
134         <p><label for="limit-yr">Year: </label>
135                 <input type="text" size="15" name="limit-yr" id="limit-yr" value=""/>&nbsp;&nbsp;(format: yyyy-yyyy)</p>
136 <!-- /PUB / COPY YEAR LIMIT -->
137 </fieldset>
138 <fieldset id="language">
139 <!-- LANGUAGE LIMIT -->
140                 <p><label for="language-limit">Language: </label>                                        
141                 <select name="limit" id="language-limit">
142         <option value="">No limit</option>
143                 [% FOREACH search_languages_loo IN search_languages_loop %]
144                 [% IF ( search_languages_loo.selected ) %]
145                 <option value="ln,rtrn:[% search_languages_loo.iso639_2_code %]" selected="selected">[% search_languages_loo.language_description %]</option>
146                 [% ELSE %]
147                 <option value="ln,rtrn:[% search_languages_loo.iso639_2_code %]">[% search_languages_loo.language_description %]</option>
148                 [% END %]
149                 
150                 [% END %]
151                 </select></p><!-- <a href="">Show all languages</a>-->
152 <!-- /LANGUAGE LIMIT -->
153 </fieldset>
154 </fieldset>
155 <!-- /BASIC LIMITS -->
156 [% END %]
157
158
159 [% IF ( UNIMARC ) %]
160 [% INCLUDE 'subtypes_unimarc.inc' %]
161 [% ELSE %]
162 <!-- SUBTYPE LIMITS -->
163         <fieldset id="subtype">
164         <legend>Subtype limits</legend><p>
165         
166         <select name="limit" class="subtype">
167             <option value="" selected="selected" class="menuheader">Any audience</option>
168                         <option value="aud:a">Preschool</option>
169                         <option value="aud:b">Primary</option>
170                         <option value="aud:c">Pre-adolescent</option>
171                         <option value="aud:d">Adolescent</option>
172                         <option value="aud:e">Adult</option>
173                         <option value="aud:f">Specialized</option>
174                         <option value="aud:g">General</option>
175                         <option value="aud:j">Juvenile</option>
176         </select>
177         
178         <select name="limit" class="subtype">
179             <option value="" selected="selected" class="menuheader">Any content</option>
180             <option value="fic:1" >Fiction</option>
181             <option value="fic:0" >Non-fiction</option>
182             <option value="bio:b" >Biography</option>
183             <option value="mus:j" >Musical recording</option>
184             <option value="mus:i" >Non-musical recording</option>
185         </select>
186
187         
188         <select name="limit" class="subtype">
189             <option value="" selected="selected" class="menuheader">Any format</option>
190             <option value="l-format:ta" >Regular print</option>
191             <option value="l-format:tb" >Large print</option>
192             <option value="l-format:fk" >Braille</option>
193             <option value="" >-----------</option>
194             <option value="l-format:sd" >CD audio</option>
195             <option value="l-format:ss" >Cassette recording</option>
196             <option value="l-format:vf" >VHS tape / Videocassette</option>
197             <option value="l-format:vd" >DVD video / Videodisc</option>
198             <option value="l-format:co" >CD software</option>
199             <option value="l-format:cr" >Website</option>
200         </select>
201         
202         <select name="limit" class="subtype">
203             <option value="" >Additional content types</option>
204             <option value="ctype:a" >Abstracts / Summaries</option>
205             <option value="ctype:b" >Bibliographies</option>
206             <option value="ctype:c" >Catalogs</option>
207             <option value="ctype:d" >Dictionaries</option>
208             <option value="ctype:e" >Encyclopedias </option>
209             <option value="ctype:f" >Handbooks</option>
210             <option value="ctype:g" >Legal articles</option>
211             <option value="ctype:i" >Indexes</option>
212             <option value="ctype:j" >Patent document</option>
213             <option value="ctype:k" >Discographies</option>
214             <option value="ctype:l" >Legislation</option>
215             <option value="ctype:m" >Theses</option>
216             <option value="ctype:n" >Surveys</option>
217             <option value="ctype:o" >Reviews</option>
218             <option value="ctype:p" >Programmed texts</option>
219             <option value="ctype:q" >Filmographies</option>
220             <option value="ctype:r" >Directories</option>
221             <option value="ctype:s" >Statistics</option>
222             <option value="ctype:t" >Technical reports</option>
223             <option value="ctype:v" >Legal cases and case notes</option>
224             <option value="ctype:w" >Law reports and digests</option>
225             <option value="ctype:z" >Treaties </option>
226         </select>
227        </p>
228
229 </fieldset>
230 [% END %]
231
232 <!-- AVAILABILITY LIMITS -->
233     <fieldset id="availability"><legend>Location and availability</legend>
234 <fieldset id="currently-avail">
235         <p><label for="available-items">Only items currently available:</label> <input type="checkbox" id="available-items" name="limit" value="available" /></p>
236 </fieldset>
237
238 <fieldset id="select-libs">
239         <p><label for="branchloop">Individual libraries:</label><select name="limit" id="branchloop">
240         <option value="">All libraries</option>
241         [%# FIXME Should not we filter the libraries displayed? %]
242         [% PROCESS options_for_libraries prefix => "branch:" libraries => Branches.all( selected => selected_branchcode, unfiltered => 1 ) %]
243         </select></p>
244     <!-- <input type="hidden" name="limit" value="branch: MAIN" /> -->
245         [% IF ( searchdomainloop ) %]
246     <p>OR</p> <!-- should addjs to grey out group pulldown if a library is selected. -->
247         <p><label for="categoryloop">Groups of libraries: </label><select name="multibranchlimit" id="categoryloop">
248         <option value=""> -- none -- </option>
249         [% FOREACH searchdomainloo IN searchdomainloop %]
250         <option value="[% searchdomainloo.categorycode %]">[% searchdomainloo.categoryname %]</option>
251         [% END %]
252         </select></p>
253     [% END %]
254 </fieldset>
255     </fieldset>
256 <!-- /AVAILABILITY LIMITS -->
257
258 <!-- RANK LIMITS -->
259 <fieldset id="sortby"><legend>Sorting</legend>
260     <p>
261     <label for="sort_by">Sort by: </label><select id="sort_by" name="sort_by">
262   [% INCLUDE 'resort_form.inc' %]
263     </select>
264         </p>
265 </fieldset>
266 <!-- /RANK LIMITS -->
267 </div>
268 </div>
269 </form>
270 </div>
271
272 [% MACRO jsinclude BLOCK %]
273     <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
274     <script type="text/JavaScript">
275         /**
276          *  Function add_field();
277          *  This function allows to display a new field to search.
278          */
279         function add_field() {
280             var ButtonPlus = document.getElementById("ButtonPlus");
281             var line = ButtonPlus.parentNode;
282             var dad  = line.parentNode;
283             dad.appendChild(line.cloneNode(true));
284             line.removeChild(ButtonPlus);
285         }
286         $(document).ready(function() {
287             $("input[name=q]:eq(0)").focus();
288             $('#advsearches').tabs();
289             $('#toolbar').fixFloat();
290             $("#branchloop").on("change",function(){
291                 if( this.value != ""){
292                     document.getElementById("categoryloop").disabled=true;
293                 } else {
294                     document.getElementById("categoryloop").disabled=false;
295                 }
296             });
297         });
298     </script>
299 [% END %]
300
301 [% INCLUDE 'intranet-bottom.inc' %]