Bug 19333: Fix XSS in opac-shelves
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-shelves.tt
1 [% USE Koha %]
2 [% SET PRIVATE = 1 %]
3 [% SET PUBLIC = 2 %]
4 [% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsShowOnList') ) %]
5 [% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsInputOnList') ) %]
6
7 [% INCLUDE 'doc-head-open.inc' %]
8 <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo;   [% IF op == 'view' %]Contents of [% shelf.shelfname |html %][% ELSE %]Your lists[% END %]</title>[% INCLUDE 'doc-head-close.inc' %]
9 [% BLOCK cssinclude %][% END %]
10 </head>
11 [% IF ( loggedinusername ) %][% INCLUDE 'bodytag.inc' bodyid='opac-userlists' bodyclass='scrollto' %][% ELSE %][% INCLUDE 'bodytag.inc' bodyid='opac-lists' bodyclass='scrollto' %][% END %]
12
13 [% BLOCK list_permissions %]
14     <li>
15         <label for="allow_changes_from">Allow changes to contents from: </label>
16         <select name="allow_changes_from" id="allow_changes_from" onchange="AdjustRemark()">
17
18             [% IF shelf.allow_change_from_owner %]<option value="0">Nobody</option>[% ELSE %]<option value="0" selected="selected">Nobody</option>[% END %]
19
20             [% IF shelf.allow_change_from_owner && (( !shelf.is_public && !shelf.is_shared ) || !shelf.allow_change_from_others ) %]
21                 <option value="1" selected="selected">Owner only</option>
22             [% ELSE %]
23                 <option value="1">Owner only</option>
24             [% END %]
25
26             [% IF shelf.allow_change_from_others %]<option value="2" selected="selected">Anyone seeing this list</option>[% ELSE %]<option value="2">Anyone seeing this list</option>[% END %]
27
28         </select>
29         &emsp; <span id="anyone_remark" style="display:none;color:red;">The Anyone permission has no actual effect while this list is strictly private.</span>
30     </li>
31 [% END %]
32
33 [% INCLUDE 'masthead.inc' %]
34 <div class="main">
35     <ul class="breadcrumb noprint">
36         <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
37         [% IF ( loggedinusername ) %]
38             <li><a href="/cgi-bin/koha/opac-user.pl">[% USER_INFO.title %] [% USER_INFO.firstname %] [% USER_INFO.surname %]</a> <span class="divider">&rsaquo;</span></li>
39         [% END %]
40
41         [% IF op != 'list' %]
42             <li><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a></li>
43         [% ELSE %]
44             <li>Lists</li>
45         [% END %]
46
47         [% IF shelf and shelf.is_private %]
48             [% IF op == 'view' OR op == 'edit_form' %]
49                 <li><span class="divider">&rsaquo;</span> <a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE %]">Your lists</a></li>
50             [% ELSE %]
51                 <li><span class="divider">&rsaquo;</span> Your lists</li>
52             [% END %]
53         [% ELSIF shelf AND shelf.is_public %]
54             [% IF op == 'view' %]
55                 <li><span class="divider">&rsaquo;</span> <a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC %]">Public lists</a></li>
56             [% ELSE %]
57                 <li><span class="divider">&rsaquo;</span> Public lists</li>
58             [% END %]
59         [% END %]
60
61         [% IF op == 'view' %]
62             <li><span class="divider">&rsaquo;</span> Contents of <i>[% shelf.shelfname | html %]</i></li>
63         [% END %]
64
65         [% IF op == 'add_form' %]
66             <li><span class="divider">&rsaquo;</span> Create new list</li>
67         [% END %]
68
69         [% IF op == 'edit_form' %]
70             <li><span class="divider">&rsaquo;</span> Edit list <i>[% shelf.shelfname | html %]</i></li>
71         [% END %]
72
73     </ul> <!-- / .breadcrumb -->
74
75     <div class="container-fluid">
76         <div class="row-fluid">
77             [% IF ( OpacNav||loggedinusername ) && !print %]
78                 <div class="span2">
79                     <div id="navigation">
80                         [% INCLUDE 'navigation.inc' IsPatronPage=1 %]
81                     </div>
82                 </div>
83             [% END %]
84
85             [% IF ( OpacNav||loggedinusername ) %]
86                 <div class="span10">
87             [% ELSE %]
88                 <div class="span12">
89             [% END %]
90                 <div id="usershelves" class="maincontent">
91
92                 [% FOR m IN messages %]
93                     [% SWITCH m.type %]
94                         [% CASE 'message' %]
95                             <div class="alert alert-success" role="alert">
96                         [% CASE 'error' %]
97                             <div class="alert alert-danger" role="alert">
98                     [% END %]
99                     [% SWITCH m.code %]
100                     [% CASE 'error_on_update' %]
101                         <span>An error occurred when updating this list.</span>
102                     [% CASE 'error_on_insert' %]
103                         <span>An error occurred when creating this list.</span>
104                     [% CASE 'error_on_delete' %]
105                         <span>An error occurred when deleting this list.</span>
106                     [% CASE 'error_on_add_biblio' %]
107                         <span>The item has not been added to the list. Please check it's not already in the list.</span>
108                     [% CASE 'error_on_remove_share' %]
109                         <span>The share has not been removed.</span>
110                     [% CASE 'success_on_update' %]
111                         <span>List updated.</span>
112                     [% CASE 'success_on_insert' %]
113                         <span>List created.</span>
114                     [% CASE 'success_on_delete' %]
115                         <span>List deleted.</span>
116                     [% CASE 'success_on_add_biblio' %]
117                         <span>The item has been added to the list.</span>
118                     [% CASE 'success_on_remove_biblios' %]
119                         <span>The item has been removed from the list.</span>
120                     [% CASE 'success_on_remove_share' %]
121                         <span>The share has been removed.</span>
122                     [% CASE 'does_not_exist' %]
123                         <span>This list does not exist.</span>
124                     [% CASE 'item_does_not_exist' %]
125                         <span>This item does not exist.</span>
126                     [% CASE 'unauthorized_on_view' %]
127                         <span>You do not have permission to view this list.</span>
128                     [% CASE 'unauthorized_on_insert' %]
129                         <span>You do not have permission to create a new list.</span>
130                     [% CASE 'unauthorized_on_update' %]
131                         <span>You do not have permission to update this list.</span>
132                     [% CASE 'unauthorized_on_delete' %]
133                         <span>You do not have permission to delete this list.</span>
134                     [% CASE 'unauthorized_on_add_biblio' %]
135                         <span>You do not have permission to add a record to this list.</span>
136                     [% CASE 'no_biblio_removed' %]
137                         <span>No record was removed.</span>
138                     [% CASE 'Koha::Exceptions::Virtualshelves::DuplicateObject' %]
139                         <span>An error occurred when creating the list. The name [% shelfname %] already exists.</span>
140                     [% CASE 'DBIx::Class::Exception' %]
141                         [% m.msg %]
142                     [% CASE %]
143                         [% m.code %]
144                         [% m.msg %]
145                     [% END %]
146                     </div>
147                 [% END %]
148
149                     [% IF shelf AND op == 'view' %]
150                         <h3>
151                             [% shelf.shelfname |html %]
152                             <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-shelves.pl?rss=1&amp;op=view&amp;shelfnumber=[% shelf.shelfnumber %]" class="rss-list-link noprint">
153                                 <img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png" alt="Subscribe to this list" title="Subscribe to this list" border="0" class="rsssearchicon"/>
154                             </a>
155                         </h3>
156
157                         [% IF ( itemsloop ) %]
158                             <div id="toolbar" class="toolbar clearfix">
159                                 <div class="list-actions">
160                                     <a class="newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form">New list</a> <span class="sep">|</span>
161                                     <a href="/cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=[% shelf.shelfnumber | html %]" class="download" data-toggle="modal" data-target="#modalWin">Download list</a>
162
163                                     [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
164                                         <span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | html %]" class="send" onclick="open('/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | html %]','win_form','scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false; ">Send list</a></span>
165                                     [% END %]
166
167                                     <a class="print-small" target="_blank" href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber %]&sortfield=[% sortfield %]&direction=[% direction |uri %]&print=1">Print list</a>
168
169                                     [% IF can_manage_shelf %]
170                                         <span class="sep">|</span>
171                                         <form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="form-inline">
172                                             <input type="hidden" name="op" value="edit_form" />
173                                             <input type="hidden" name="referer" value="view" />
174                                             <input type='hidden' name='category' value='[% category | html %]' />
175                                             <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
176                                             <input type="submit" class="editshelf" value="Edit list" />
177                                         </form>
178
179                                         <form method="post" action="/cgi-bin/koha/opac-shelves.pl" class="form-inline">
180                                             <input type="hidden" name="op" value="delete" />
181                                             <input type="hidden" name="referer" value="list" />
182                                             <input type='hidden' name='category' value='[% category | html %]' />
183                                             <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
184                                             <input type="submit" class="deleteshelf" value="Delete list" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);"/>
185                                         </form>
186                                         [% IF category == PRIVATE && Koha.Preference('OpacAllowSharingPrivateLists') %]
187                                             <a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% shelf.shelfnumber | html %]" class="">Share list</a>
188                                         [% END %]
189                                     [% ELSIF category == PRIVATE # not manageshelf and private means shared %]
190                                         <form action="/cgi-bin/koha/opac-shelves.pl" method="post" class="form-inline">
191                                             <input type="hidden" name="op" value="remove_share" />
192                                             <input type="hidden" name="referer" value="list" />
193                                             <input type='hidden' name='category' value='[% category | html %]' />
194                                             <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
195                                             <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_REMOVE_SHARE);" value="Remove share" />
196                                         </form>
197                                     [% END %]
198                                 </div>
199
200                                 <form action="/cgi-bin/koha/opac-shelves.pl" id="sorting-form" class="form-inline sort_by pull-right">
201                                     <input type="hidden" name="op" value="view" />
202                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
203
204                                     <label for="sortfield">Sort by: </label>
205                                     <select name="sortfield" id="sortfield" class="resort" onchange="$('#sorting-form').submit()">
206                                         <option value="">Default sorting</option>
207
208                                         [% IF sortfield == 'author' %]
209                                             <option value="author" selected="selected">Author</option>
210                                         [% ELSE %]
211                                             <option value="author">Author</option>
212                                         [% END %]
213
214                                         [% IF sortfield == 'title' %]
215                                             <option value="title" selected="selected">Title</option>
216                                         [% ELSE %]
217                                             <option value="title">Title</option>
218                                         [% END %]
219
220                                         [% IF sortfield == 'itemcallnumber' %]
221                                             <option value="itemcallnumber" selected="selected">Call number</option>
222                                         [% ELSE %]
223                                             <option value="itemcallnumber">Call number</option>
224                                         [% END %]
225
226                                         [% IF sortfield == 'copyrightdate' %]
227                                             <option value="copyrightdate" selected="selected">Copyright date</option>
228                                         [% ELSE %]
229                                             <option value="copyrightdate">Copyright date</option>
230                                         [% END %]
231                                     </select>
232
233                                     <select name="direction" class="resort" onchange="$('#sorting-form').submit()">
234                                         [% IF direction == 'asc' %]
235                                             <option value="asc" selected="selected">Ascending</option>
236                                         [% ELSE %]
237                                             <option value="asc">Ascending</option>
238                                         [% END %]
239
240                                         [% IF direction == 'desc' %]
241                                             <option value="desc" selected="selected">Descending</option>
242                                         [% ELSE %]
243                                             <option value="desc">Descending</option>
244                                         [% END %]
245                                     </select>
246
247                                     <input type="submit" class="btn btn-small" id="sort-submit" value="Resort list" />
248                                 </form>
249
250                             </div> <!-- / #toolbar -->
251
252                             <div id="selections-toolbar" class="toolbar noprint">
253                                 <span class="checkall"></span> <span class="clearall"></span> <span class="sep">|</span>
254                                 <span class="links">
255                                     <span id="selections">Select titles to: </span>
256                                     [% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
257                                         <span id="placehold"></span>
258                                     [% END %]
259                                     [% IF ( TagsInputEnabled && loggedinusername ) %]
260                                         <span id="addtags">
261                                           <a id="tagsel_tag" href="#" class="disabled">Tag</a>
262                                         </span>
263                                         <span id="tagsel_form" style="display:none">
264                                           <label for="tagsel_new">New tag(s), separated by a comma:</label>
265                                           <input name="tagsel_new" id="tagsel_new" maxlength="100" />
266                                           <input id="tagsel_button" name="tagsel_button" class="tagsel_button btn btn-small" title="tagsel_button" type="submit" value="Add" />
267                                           <a href="#" id="tagsel_cancel">Cancel</a>
268                                         </span>
269                                     [% END %]
270                                     [% IF loggedinusername && can_remove_biblios %]
271                                         <span id="removeitems"></span>
272                                     [% END %]
273                                 </span> <!-- / .links -->
274                             </div> <!-- / #selections-toolbar -->
275
276                             <form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="myform" name="myform" class="checkboxed">
277                                 [% IF can_manage_shelf %]
278                                     <input type="hidden" name="op" value="remove_biblios" />
279                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
280                                 [% END %]
281                                 <div class="searchresults">
282                                     <table id="listcontents" class="table">
283                                         <tbody>
284                                         [% FOREACH itemsloo IN itemsloop %]
285                                             <tr>
286                                                 <td class="select selectcol"><input type="checkbox" class="cb" name="biblionumber" value="[% itemsloo.biblionumber %]" /></td>
287                                                 [% UNLESS ( item_level_itypes ) %]
288                                                     <td>
289                                                         [% UNLESS ( noItemTypeImages ) %]
290                                                             <img src="[% itemsloo.imageurl %]" alt="[% itemsloo.description %]" title="[% itemsloo.description %]" />
291                                                         [% END %]
292                                                         [% itemsloo.description %]
293                                                     </td>
294                                                 [% END %]
295                                                 <td>
296                                                     <div class="coverimages">
297                                                         <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber %]">
298                                                             [% IF ( OPACLocalCoverImages ) %]
299                                                                 <span title="[% itemsloo.biblionumber |url %]" class="[% itemsloo.biblionumber %]" id="local-thumbnail[% loop.count %]"></span>
300                                                             [% END %]
301
302                                                             [% IF ( OPACAmazonCoverImages ) %]
303                                                                 [% IF ( itemsloo.normalized_isbn ) %]
304                                                                     <span title="[% itemsloo.biblionumber %]" id="amazon-thumbnail[% loop.count %]"><img src="https://images-na.ssl-images-amazon.com/images/P/[% itemsloo.normalized_isbn %].01.TZZZZZZZ.jpg" alt="" /></span>
305                                                                 [% ELSE %]
306                                                                     <span class="no-image">No cover image available</span>
307                                                                 [% END %]
308                                                             [% END %]
309
310                                                             [% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
311                                                                 [% IF ( using_https ) %]
312                                                                     <span title="[% itemsloo.biblionumber %]" id="syndetics-thumbnail[% loop.count %]"><img src="https://secure.syndetics.com/index.aspx?isbn=[% itemsloo.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% itemsloo.normalized_upc %]&amp;oclc=[% itemsloo.normalized_oclc %]" alt="" /></span>
313                                                                 [% ELSE %]
314                                                                     <span title="[% itemsloo.biblionumber %]" id="syndetics-thumbnail[% loop.count %]"><img src="http://www.syndetics.com/index.aspx?isbn=[% itemsloo.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% itemsloo.normalized_upc %]&amp;oclc=[% itemsloo.normalized_oclc %]" alt="" /></span>
315                                                                 [% END %]
316                                                             [% END %]
317
318                                                             [% IF ( GoogleJackets ) %]
319                                                                 [% IF ( itemsloo.normalized_isbn ) %]
320                                                                     <div title="[% itemsloo.biblionumber |url %]" class="[% itemsloo.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div>
321                                                                 [% ELSE %]
322                                                                     <span class="no-image">No cover image available</span>
323                                                                 [% END %]
324                                                             [% END %]
325
326                                                             [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
327                                                                 [% coce_id = itemsloo.normalized_ean || itemsloo.normalized_isbn %]
328                                                                 [% IF ( coce_id ) %]
329                                                                     <span title="[% itemsloo.biblionumber |url %]" class="[% coce_id %]" id="coce-thumbnail[% loop.count %]"></span>
330                                                                 [% ELSE %]
331                                                                     <span class="no-image">No cover image available</span>
332                                                                 [% END %]
333                                                             [% END %]
334
335
336                                                             [% IF OpenLibraryCovers %]
337                                                                 [% IF itemsloo.normalized_isbn %]
338                                                                     <span title="[% itemsloo.biblionumber %]" class="[% itemsloo.normalized_isbn %]" id="openlibrary-thumbnail[% loop.count %]"></span>
339                                                                 [% ELSE %]
340                                                                     <span class="no-image">No cover image available</span>
341                                                                 [% END %]
342                                                             [% END %]
343
344                                                         </a> <!-- / .p1 -->
345                                                         [% IF ( BakerTaylorEnabled ) %]
346                                                             [% bt_id = ( itemsloo.normalized_upc || itemsloo.normalized_isbn ) %]
347                                                             [% IF ( bt_id ) %]
348                                                                 <a href="https://[% BakerTaylorBookstoreURL |html %][% bt_id %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL |html %][% bt_id %]" /></a>
349                                                             [% ELSE %]
350                                                                 <span class="no-image">No cover image available</span>
351                                                             [% END %]
352                                                         [% END %]
353                                                     </div>
354                                                     [% IF ( itemsloo.XSLTBloc ) %]
355                                                         [% itemsloo.XSLTBloc %]
356                                                     [% ELSE %]
357
358                                                         [% IF ( itemsloo.BiblioDefaultViewmarc ) %]
359                                                             <a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% itemsloo.biblionumber |url %]" title="View details for this title">
360                                                         [% ELSE %]
361                                                             [% IF ( itemsloo.BiblioDefaultViewisbd ) %]
362                                                                 <a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% itemsloo.biblionumber |url %]" title="View details for this title">
363                                                             [% ELSE %]
364                                                                 <a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber |url %]" title="View details for this title">
365                                                             [% END %]
366                                                         [% END %]
367
368                                                         [% IF ( itemsloo.title ) %]
369                                                             [% itemsloo.title |html %]
370                                                         [% ELSE %]
371                                                             No title
372                                                         [% END %]
373
374                                                         [% FOREACH subtitl IN itemsloo.subtitle %]
375                                                             [% subtitl.subfield|html %]
376                                                         [% END %]
377                                                         </a>
378
379                                                         [% IF ( itemsloo.author ) %]
380                                                             by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% itemsloo.author |url %]" title="Search for works by this author" class="author">[% itemsloo.author %]</a>
381                                                         [% ELSE %]
382                                                             &nbsp;
383                                                         [% END %]
384
385                                                         <span class="results_summary">
386                                                             <span class="label">Publication:</span>
387                                                             [% IF ( itemsloo.place ) %]
388                                                                 [% itemsloo.place %]
389                                                             [% END %]
390                                                             [% IF ( itemsloo.publishercode ) %]
391                                                                 [% itemsloo.publishercode|html %]
392                                                             [% END %]
393                                                             [% IF ( itemsloo.publicationyear ) %]
394                                                                 [% itemsloo.publicationyear %]
395                                                             [% ELSE %]
396                                                                 [% IF ( itemsloo.copyrightdate ) %]
397                                                                     [% itemsloo.copyrightdate %]
398                                                                 [% END %]
399                                                             [% END %]
400                                                             [% IF ( itemsloo.pages ) %]. [% itemsloo.pages %][% END %]
401                                                             [% IF ( itemsloo.notes ) %], [% itemsloo.notes|html %][% END %]
402                                                             [% IF ( itemsloo.item('size') ) %] [% itemsloo.item('size') %][% END %]
403                                                         </span>
404                                                         <span class="results_summary">
405                                                             <span class="label">Holdings:</span>
406                                                             [% IF ( itemsloo.ITEM_RESULTS ) %]
407                                                                 [% FOREACH ITEM_RESULT IN itemsloo.ITEM_RESULTS %]
408                                                                     [% ITEM_RESULT.homebranch %]
409                                                                     [% IF ( ITEM_RESULT.location_opac ) %]
410                                                                         , [% ITEM_RESULT.location_opac %]
411                                                                     [% END %]
412                                                                     [% IF ( ITEM_RESULT.itemcallnumber ) %]
413                                                                         ([% ITEM_RESULT.itemcallnumber %])
414                                                                             [% IF ( loop.last ) %].[% ELSE %],[% END %]
415                                                                     [% END %]
416                                                                 [% END %]
417                                                             [% ELSE %]
418                                                                 This record has no items.
419                                                             [% END %]
420                                                         </span>
421                                                     [% END # / IF itemsloo.XSLTBloc %]
422
423                                                     [% IF ( TagsShowEnabled && itemsloo.TagLoop.size ) %]
424                                                         <div class="results_summary tags">
425                                                             <span class="label">Tags:</span>
426                                                             <ul>
427                                                                 [% FOREACH TagLoo IN itemsloo.TagLoop %]
428                                                                     <li><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term %]</a> <span class="weight">([% TagLoo.weight_total %])</span></li>
429                                                                 [% END %]
430                                                             </ul>
431                                                         </div>
432                                                     [% END %]
433
434                                                     <span class="results_summary">
435
436                                                         [% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
437                                                             [% UNLESS ( itemsloo.norequests ) %]
438                                                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
439                                                                     [% IF ( itemsloo.allow_onshelf_holds ) %]
440                                                                         <span class="actions"><a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% itemsloo.biblionumber %]">Place hold</a><!-- add back when available 0 holds in queue--></span>
441                                                                     [% ELSE %]
442                                                                         [% IF ( itemsloo.itemsissued ) %]
443                                                                             <span class="actions"><a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% itemsloo.biblionumber %]">Place hold</a><!-- add back when available 0 holds in queue--></span>
444                                                                         [% END %]
445                                                                     [% END %]
446                                                                 [% END # / IF opacuserlogin %]
447                                                             [% END # / UNLESS itemsloo.norequests %]
448                                                         [% END # / RequestOnOpac %]
449
450                                                         [% IF ( TagsInputEnabled ) %]
451                                                             [% IF ( loggedinusername ) %]
452                                                                 <span class="actions"><a class="tag_add hidden" id="tag_add[% itemsloo.biblionumber %]" href="#">Add tag</a></span>
453                                                                 <div id="tagform[% itemsloo.biblionumber %]" class="tag_results_input" style="display:none;">
454                                                                     <label for="newtag[% itemsloo.biblionumber %]">New tag(s), separated by a comma:</label>
455                                                                     <input name="newtag[% itemsloo.biblionumber %]" id="newtag[% itemsloo.biblionumber %]" maxlength="100" />
456                                                                     <input name="tagbutton" class="tagbutton btn btn-small" title="[% itemsloo.biblionumber %]" type="submit" value="Add" />
457                                                                     <a class="cancel_tag_add" id="cancel[% itemsloo.biblionumber %]" href="#">(done)</a>
458                                                                 </div>
459                                                                 <div id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus" style="display:none;">
460                                                                 Tag status here.
461                                                                 </div>
462                                                             [% ELSIF ( loop.first ) %]
463                                                                 <span class="tagstatus" id="login4tags">Log in to add tags.</span>
464                                                             [% END # / IF loggedinusername %]
465                                                         [% END # / IF TagsInputEnabled %]
466
467                                                         [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && loggedinusername && ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
468                                                             <span class="actions"><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% itemsloo.biblionumber %]'); return false;">Save to another list</a></span>
469                                                         [% END %]
470
471                                                         [% IF can_remove_biblios %]
472                                                             <span class="actions"><a class="removefromlist" href="/cgi-bin/koha/opac-shelves.pl?op=remove_biblios&amp;shelfnumber=[% shelf.shelfnumber %]&amp;biblionumber=[% itemsloo.biblionumber %]">Remove from this list</a></span>
473                                                         [% END %]
474
475                                                         [% IF Koha.Preference( 'opacbookbag' ) == 1 %]
476                                                             [% IF ( itemsloo.incart ) %]
477                                                                 <span class="actions"><a class="addtocart cart[% itemsloo.biblionumber %] hidden" href="#" onclick="addRecord('[% itemsloo.biblionumber %]'); return false;">In your cart</a> <a class="cartRemove cartR[% itemsloo.biblionumber %] hidden" href="#" onclick="delSingleRecord('[% itemsloo.biblionumber %]'); return false;">(remove)</a></span>
478                                                             [% ELSE %]
479                                                                 <span class="actions"><a class="addtocart cart[% itemsloo.biblionumber %] hidden" href="#" onclick="addRecord('[% itemsloo.biblionumber %]'); return false;">Add to cart</a> <a style="display:none;" class="cartRemove cartR[% itemsloo.biblionumber %] hidden" href="#" onclick="delSingleRecord('[% itemsloo.biblionumber %]'); return false;">(remove)</a></span>
480                                                             [% END %]
481                                                         [% END # / IF opacbookbag %]
482                                                     </span> <!-- / .results_summary .actions -->
483
484                                                     <!-- COinS / Openurl -->
485                                                     <span class="Z3988" title="[% itemsloo.coins %]"></span>
486                                                 </td>
487                                             </tr>
488                                         [% END # / FOREACH itemsloop %]
489                                         </tbody>
490                                     </table> <!-- / #listcontents -->
491                                 </div><!-- / .searchresults -->
492
493                             [% IF ( pagination_bar ) %]
494                                 <div class="pages">[% pagination_bar %]</div>
495                             [% END %]
496
497                         [% ELSE %]
498                             <div id="toolbar" class="toolbar clearfix">
499                                 <div class="list-actions">
500                                     <a class="newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form">New list</a> <span class="sep"></span>
501                                     [% IF can_manage_shelf %]
502                                         <span class="sep">|</span>
503                                         <form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="form-inline">
504                                             <input type="hidden" name="op" value="edit_form" />
505                                             <input type="hidden" name="referer" value="view" />
506                                             <input type="hidden" name="category" value="category" />
507                                             <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
508                                             <input type="submit" class="editshelf" value="Edit list" />
509                                         </form>
510
511                                         <form method="post" action="/cgi-bin/koha/opac-shelves.pl" class="form-inline">
512                                             <input type="hidden" name="op" value="delete" />
513                                             <input type="hidden" name="shelfnumber" value="[% shelfnumber | html  %]"/>
514                                             <input type="hidden" name="category" value="category" />
515                                             <input type="submit" class="deleteshelf" value="Delete list" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);"/>
516                                         </form>
517                                     [% END %]
518                                 </div> <!-- / .list-actions -->
519                             </div> <!-- / #toolbar -->
520
521                             <div class="alert alert-info">
522                                 This list is empty.
523                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
524                                     You can add to your lists from the results of any <a href="opac-main.pl">search</a>.
525                                 [% END %]
526                             </div>
527                         [% END # / IF itemsloop %]
528                     [% END %]
529
530                     [% IF itemsloop && can_remove_biblios %]
531                         <input type="hidden" name="op" value="remove_biblios" />
532                         <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
533                         <input type="hidden" name="modifyshelfcontents" value="1" />
534                         <input type="submit" value="Remove selected items" id="remove-selected" class="btn btn-danger"/>
535                         </form>
536                     [% ELSIF !itemsloop && can_manage_shelf %]
537                         <form method="post" action="opac-shelves.pl">
538                         <input type="hidden" name="op" value="delete" />
539                         <input type="hidden" name="referer" value="list" />
540                         <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html  %]"/>
541                         <input type="submit" class="btn btn-danger" value="Delete this list" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST)" />
542                         </form>
543                     [% END %]
544
545                     [% IF op == 'add_form' OR op == 'edit_form' %]
546                         <form method="post" action="/cgi-bin/koha/opac-shelves.pl">
547                             <fieldset class="rows">
548                                 [% IF op == 'add_form' %]
549                                     <div id="addshelf">
550                                     <legend>Create a new list</legend>
551                                     <input type="hidden" name="op" value="add" />
552                                 [% ELSE %]
553                                     <legend>Editing <em>[% shelf.shelfname |html %]</em></legend>
554                                     <input type="hidden" name="op" value="edit" />
555                                     <input type="hidden" name="referer" value="[% referer | html %]" />
556                                     <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
557                                 [% END %]
558                                 <input type="hidden" name="owner" id="owner" value="[% loggedinusernumber %]" />
559                                 <ol>
560                                     <li>
561                                         <label class="required" for="shelfname">List name: </label>
562                                         <input type="text" id="shelfname" name="shelfname" maxlength="255" value="[% shelf.shelfname |html %]" required="required" class="required"/> <span class="required">Required</span></li>
563                                     <li>
564                                         <label for="sortfield" >Sort this list by: </label>
565                                         <select name="sortfield" id="sortfield">
566                                             [% IF shelf.sortfield == "title" %]
567                                                 <option value="title" selected="selected">Title</option>
568                                             [% ELSE %]
569                                                 <option value="title">Title</option>
570                                             [% END %]
571                                             [% IF shelf.sortfield == "author" %]
572                                                 <option value="author" selected="selected">Author</option>
573                                             [% ELSE %]
574                                                 <option value="author">Author</option>
575                                             [% END %]
576                                             [% IF shelf.sortfield == "copyrightdate" %]
577                                                 <option value="copyrightdate" selected="selected">Year</option>
578                                             [% ELSE %]
579                                                 <option value="copyrightdate">Year</option>
580                                             [% END %]
581                                             [% IF shelf.sortfield == "itemcallnumber" %]
582                                                 <option value="itemcallnumber" selected="selected">Call number</option>
583                                             [% ELSE %]
584                                                 <option value="itemcallnumber">Call number</option>
585                                             [% END %]
586                                         </select>
587                                     </li>
588                                     [% IF Koha.Preference('OpacAllowPublicListCreation') OR category == PUBLIC %]
589                                         <li>
590                                             <label for="category">Category:</label>
591                                             <select name="category" id="category" onchange="AdjustRemark()">
592                                                 [% IF shelf.is_private %]
593                                                         <option value="1" selected="selected">Private</option>
594                                                     [% ELSE %]
595                                                         <option value="1">Private</option>
596                                                     [% END %]
597                                                 [% IF shelf.is_public %]
598                                                     <option value="2" selected="selected">Public</option>
599                                                 [% ELSE %]
600                                                     <option value="2">Public</option>
601                                                 [% END %]
602                                             </select>
603                                             [% IF shelf.is_public AND NOT Koha.Preference('OpacAllowPublicListCreation') %]
604                                                 <span class="hint alert alert-info">The library has disabled the ability for patrons to create new public lists.  If you make your list private, you will not be able to make it public again.</span>
605                                             [% END %]
606                                         </li>
607                                     [% END %]
608                                     [% INCLUDE list_permissions %]
609                                 </ol>
610                                 [% UNLESS Koha.Preference('OpacAllowPublicListCreation') OR category == PUBLIC %]
611                                     <input type="hidden" name="category" value="[% PRIVATE %]" />
612                                 [% END %]
613                             </fieldset>
614
615                             <fieldset class="action">
616                                 <input type="submit" value="Save" class="btn" />
617                                 [% IF referer == 'view' %]
618                                     <a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber %]" class="cancel">Cancel</a>
619                                 [% ELSE %]
620                                      <a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE %]" class="cancel">Cancel</a>
621                                  [% END %]
622
623                             </fieldset>
624                         </form>
625
626                     [% ELSIF op == 'list' %]
627                         <h2>Lists</h2>
628                         <div class="toptabs ui-tabs ui-widget ui-widget-content ui-corner-all">
629                         <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
630                             [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
631                                 [% IF category == PRIVATE %]
632                                     <li id="privateshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=listamp;category=[% PRIVATE %]">Your lists</a></li>
633                                 [% ELSE %]
634                                     <li id="privateshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE %]">Your lists</a></li>
635                                 [% END %]
636                             [% END %]
637                             [% IF category == PUBLIC %]
638                                 <li id="publicshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC %]">Public lists</a></li>
639                             [% ELSE %]
640                                 <li id="publicshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC %]">Public lists</a></li>
641                             [% END %]
642                         </ul>
643
644                         [% IF category == PRIVATE %]
645                             <div id="privateshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
646                         [% ELSE %]
647                             <div id="publicshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
648                         [% END %]
649
650                             [% IF loggedinusername %]
651                                 <div id="toolbar" class="toolbar"><a class="newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form">New list</a></div>
652                             [% ELSE %]
653                                 [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
654                                     <div class="alert alert-info"><a href="/cgi-bin/koha/opac-user.pl">Log in</a> to create new lists.</div>
655                                 [% END %]
656                             [% END %]
657
658                             [% IF shelves.count %]
659                                 <table class="table">
660                                     <thead>
661                                         <tr>
662                                             <th>List name</th>
663                                             <th>Contents</th>
664                                             <th>Type</th>
665                                             <th>&nbsp;</th>
666                                         </tr>
667                                     </thead>
668                                     <tbody>
669                                         [% FOREACH s IN shelves %]
670                                             [% SET contents = s.get_contents %]
671                                             <tr>
672                                                 <td><a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber %]">[% s.shelfname |html %]</a></td>
673                                                 <td>[% IF contents.count %][% contents.count %] [% IF contents.count == 1 %]item[% ELSE %]items[% END %][% ELSE %]Empty[% END %]</td>
674                                                 <td>
675                                                     [% IF s.is_private %]
676                                                         [% IF s.is_shared %]Shared[% ELSE %]Private[% END %]
677                                                     [% ELSE %]
678                                                         Public
679                                                     [% END %]
680                                                 </td>
681                                                 <td>
682                                                     [% IF s.can_be_managed( loggedinusernumber ) %]
683                                                         <form action="/cgi-bin/koha/opac-shelves.pl" method="get" class="form-inline">
684                                                             <input type="hidden" name="shelfnumber" value="[% s.shelfnumber |html %]" />
685                                                             <input type="hidden" name="category" value="[% s.category %]" />
686                                                             <input type="hidden" name="op" value="edit_form" />
687                                                             <input type="hidden" name="referer" value="list" />
688                                                             <input type="submit" class="editshelf" value="Edit" />
689                                                         </form>
690                                                     [% END %]
691                                                     [% IF s.can_be_deleted( loggedinusernumber ) %]
692                                                         <form action="/cgi-bin/koha/opac-shelves.pl" method="post" class="form-inline">
693                                                             <input type="hidden" name="op" value="delete" />
694                                                             <input type="hidden" name="referer" value="list" />
695                                                             <input type='hidden' name='category' value='[% category | html %]' />
696                                                             <input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
697                                                             <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);" value="Delete" />
698                                                         </form>
699                                                     [% END %]
700                                                     [% IF s.is_private AND s.can_be_managed( loggedinusernumber ) AND Koha.Preference('OpacAllowSharingPrivateLists') %]
701                                                         <a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% s.shelfnumber |html %]" class="">Share</a>
702                                                     [% END %]
703                                                     [% IF s.is_shared_with( loggedinusernumber ) %]
704                                                         <form action="opac-shelves.pl" method="post" class="form-inline">
705                                                             <input type="hidden" name="op" value="remove_share" />
706                                                             <input type="hidden" name="referer" value="list" />
707                                                             <input type='hidden' name='category' value='[% category | html %]' />
708                                                             <input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
709                                                             <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_REMOVE_SHARE);" value="Remove share" />
710                                                         </form>
711                                                     [% END %]&nbsp;
712                                                 </td>
713                                             </tr>
714                                         [% END %]
715                                     </tbody>
716                                 </table>
717                                 <div class="pages">[% pagination_bar %]</div>
718                             [% ELSE %]
719                                 [% IF category == PUBLIC %]
720                                     <p>No public lists.</p>
721                                 [% ELSIF loggedinusernumber %]
722                                     <p>No private lists.</p>
723                                 [% END %]
724                             [% END %]
725                             <div> [%# privateshelves or publicshelves %]
726                             </div> [%# <div class="toptabs ui-tabs ui-widget ui-widget-content ui-corner-all"> %]
727                         [% ELSIF NOT loggedinusernumber %]
728                             [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
729                                 <div class="alert alert-info"><a href="/cgi-bin/koha/opac-user.pl">Log in</a> to create new lists.</div>
730                             [% END %]
731                         [% END  # IF loggedinusername %]
732                 </div> <!-- / #usershelves -->
733                 </div> <!-- / .span10/12 -->
734       </div> <!-- / .row-fluid -->
735     </div> <!-- / .container-fluid -->
736   </div> <!-- / .main -->
737
738 <div class="modal hide" id="modalWin" role="dialog" aria-hidden="true" tabindex="-1">
739     <div class="modal-content">
740         <div class="modal-body">
741             <div style="margin:1em;padding:1em;font-size:150%;">
742                 <img src="[% interface %]/[% theme %]/images/loading.gif" /> Loading
743             </div>
744         </div>
745     </div>
746 </div>
747
748 <!-- DEBUG -->
749     <div id="debug"></div>
750 <!-- /DEBUG -->
751
752 [% INCLUDE 'opac-bottom.inc' %]
753 [% BLOCK jsinclude %]
754 <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
755 <script type="text/javascript">
756 //<![CDATA[
757 var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
758 var MSG_REMOVE_ONE_FROM_LIST = _("Are you sure you want to remove this item from the list?");
759 var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to delete this list?");
760 var MSG_CONFIRM_REMOVE_SHARE = _("Are you sure you want to remove this share?");
761
762 [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) ) %]
763     function holdSelections() {
764         var checkedBoxes = $("input:checkbox:checked");
765         if ($(checkedBoxes).size() == 0) {
766             alert(MSG_NO_RECORD_SELECTED);
767         } else {
768             var bibs = "";
769             $(checkedBoxes).each(function(){
770                 bibs += $(this).val() + "/";
771             });
772             document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers="+bibs;
773         }
774     }
775 [% END %]
776 [% IF ( TagsInputEnabled && loggedinusername ) %]
777     function tagSelected() {
778         var checkedBoxes = $("input:checkbox:checked");
779         if ($(checkedBoxes).size()) {
780             $("#tagsel_tag").hide();
781             $(".tag_hides").hide();
782             $("#tagsel_form").show();
783         } else {
784             alert(MSG_NO_RECORD_SELECTED);
785         }
786     }
787
788     function tagCanceled() {
789         $("#tagsel_form").hide();
790         $("#tagsel_tag").show();
791         $(".tag_hides").show();
792         $("#tagsel_new").val("");
793         $(".tagstatus").empty().hide();
794     }
795
796     function tagAdded() {
797         var checkedBoxes = $("input:checkbox:checked");
798         if (!$(checkedBoxes).size()) {
799             alert(MSG_NO_RECORD_SELECTED);
800             return false;
801         }
802
803         var tag = $("#tagsel_new").val();
804         if (!tag || (tag == "")) {
805             alert(MSG_NO_TAG_SPECIFIED);
806             return false;
807         }
808
809         var bibs = [];
810         for (var i = 0; i < $(checkedBoxes).size(); i++) {
811             var box = $(checkedBoxes).get(i);
812             bibs[i] = $(box).val();
813         }
814
815         KOHA.Tags.add_multitags_button(bibs, tag);
816         return false;
817     }
818 [% END %]
819
820 function enableCheckboxActions(){
821     // Enable/disable controls if checkboxes are checked
822     var checkedBoxes = $(".checkboxed input:checkbox:checked");
823     if ($(checkedBoxes).size()) {
824       $("#selections").html(_("With selected titles: "));
825       $("#selections-toolbar .links a").removeClass("disabled");
826     } else {
827       $("#selections").html(_("Select titles to: "));
828       $("#selections-toolbar .links a").addClass("disabled");
829     }
830 }
831
832 $(function() {
833     [% IF Koha.Preference( 'opacbookbag' ) == 1 %]$(".addtocart,.cartRemove").removeClass("hidden");[% END %]
834     $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
835     $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
836     $("a.print").show();
837
838     [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) ) %]
839         $("#placehold").html("<a href=\"#\" class=\"hold tag_hides disabled\">"+_("Place hold")+"<\/a>");
840         $("#selections-toolbar a.hold").click(function(){
841             holdSelections();
842             return false;
843         });
844     [% END %]
845
846     // If JS is enabled add parameter to download link
847     var dialoglink = $(".download").attr("href");
848     dialoglink += "&context=modal";
849     $(".download").attr("href",dialoglink);
850
851     $("#CheckAll").click(function(){
852         $(".checkboxed").checkCheckboxes();
853         enableCheckboxActions();
854         return false;
855     });
856     $("#CheckNone").click(function(){
857         $(".checkboxed").unCheckCheckboxes();
858         enableCheckboxActions();
859         return false;
860     });
861
862     $(".cb").click(function(){
863       enableCheckboxActions();
864     });
865     enableCheckboxActions();
866
867     [% IF ( TagsInputEnabled && loggedinusername ) %]
868         var tagAdd = $(".tag_add");
869         tagAdd.removeClass("hidden");
870         $("#tagsel_tag").click(function(){
871             tagSelected();
872             return false;
873         });
874         $("#tagsel_cancel").click(function(){
875             tagCanceled();
876             return false;
877         });
878         $("#tagsel_button").click(function(){
879             tagAdded();
880             return false;
881         });
882
883         tagAdd.click(function(){
884             var thisid = $(this).attr("id");
885             thisid = thisid.replace("tag_add","");
886             $(this).hide();
887             $("#tagform"+thisid).show();
888             $("#newtag"+thisid).focus();
889             $("#newtag"+thisid+"_status").empty().hide();
890             return false;
891         });
892         $(".cancel_tag_add").click(function(){
893             var thisid = $(this).attr("id");
894             thisid = thisid.replace("cancel","");
895             $("#tagform"+thisid).hide();
896             $("#tag_add"+thisid).show();
897             $("#newtag"+thisid).val("");
898             $("#newtag"+thisid+"_status").empty().hide();
899             return false;
900         });
901         $(".tagbutton").click(function(){
902           var thisid = $(this).attr("title");
903           var tag = $("#newtag"+thisid).val();
904           if (!tag || (tag == "")) {
905               alert(MSG_NO_TAG_SPECIFIED);
906               return false;
907           }
908           KOHA.Tags.add_tag_button(thisid, tag);
909           return false;
910         });
911     [% END %]
912
913     [% IF loggedinusername && can_remove_biblios %]
914         $(".removefromlist").on("click", function(e){
915             return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
916         });
917
918         $("#myform").submit(function(){
919             var checkedBoxes = $(".checkboxed input:checkbox:checked");
920             var numchecked = $(checkedBoxes).size();
921             if (numchecked) {
922                 if( numchecked > 1 ){
923                     return confirmDelete(MSG_REMOVE_FROM_LIST);
924                 } else {
925                     return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
926                 }
927             } else {
928                 alert(MSG_NO_RECORD_SELECTED);
929                 return false;
930             }
931         });
932         $("#removeitems").html("<a href=\"#\" class=\"removeitems tag_hides disabled\">"+_("Remove from list")+"</a>")
933         .click(function(){
934             $("#myform").submit();
935             return false;
936         });
937     [% END %]
938     [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
939     [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
940     [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
941     [% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
942         KOHA.coce.getURL('[% Koha.Preference('CoceHost') %]', '[% Koha.Preference('CoceProviders') %]');
943     [% END %]
944
945     $('#sort-submit').hide();
946
947     [% IF print %]
948         window.print();
949         setTimeout('window.close()', 1);
950     [% END %]
951
952     AdjustRemark();
953 }); // document.ready
954
955 function AdjustRemark() {
956     var category;
957     if( $("#category").length > 0 ) {
958         category = $("#category").val();
959     } else {
960         category = [% category | html %];
961     }
962     var perms = $("#allow_changes_from").val();
963
964     if( perms < 2 ) {
965         $("#anyone_remark").hide();
966     } else if( category==1 ) {
967         // If we move to Private (without shares), show Anyone remark
968         // Note: the number of shares is not tested real-time
969         [% IF !shelf.is_shared %]
970             $("#anyone_remark").show();
971         [% ELSE %]
972             $("#anyone_remark").hide();
973         [% END %]
974     } else { // category==2
975         $("#anyone_remark").hide();
976     }
977 }
978 //]]>
979 </script>
980 [% END %]