6 [% INCLUDE 'doc-head-open.inc' %]
9 Contents of [% shelf.shelfname | html %] › [% END %]
11 [% IF op == 'add_form' %]
12 Create new list › [% END %]
14 [% IF op == 'edit_form' %]
15 Edit list [% shelf.shelfname | html %] › [% END %]
18 [% INCLUDE 'doc-head-close.inc' %]
19 <style>textarea { width: 100%; }</style>
21 [% BLOCK list_permissions %]
23 <label for="allow_changes_from">Allow changes to contents from: </label>
24 <select name="allow_changes_from" id="allow_changes_from" onchange="AdjustRemark()">
26 [% IF shelf.allow_change_from_owner %]<option value="0">Nobody</option>[% ELSE %]<option value="0" selected="selected">Nobody</option>[% END %]
28 [% IF shelf.allow_change_from_owner && (( !shelf.is_public && !shelf.is_shared ) || !shelf.allow_change_from_others ) %]
29 <option value="1" selected="selected">Owner only</option>
31 <option value="1">Owner only</option>
34 [% 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 %]
36 [% IF shelf.allow_change_from_staff %]<option value="3" selected="selected">Staff only</option>[% ELSE %]<option value="3">Staff only</option>[% END %]
39   <span id="anyone_remark" style="display:none;color:red;">The Anyone permission has no actual effect while this list is strictly private.</span>
40   <span id="staff_remark" style="display:none;color:red;">The Staff only permission has no actual effect while this list is strictly private.</span>
45 <body id="lists_shelves" class="lists">
46 [% INCLUDE 'header.inc' %]
47 [% INCLUDE 'cat-search.inc' %]
49 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
52 <a href="/cgi-bin/koha/mainpage.pl">Home</a>
57 <a href="/cgi-bin/koha/virtualshelves/shelves.pl">Lists</a>
61 <a href="#" aria-current="page">
67 [% IF shelf AND shelf.is_private %]
68 [% IF op == 'view' OR op == 'edit_form' %]
70 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=0">Your lists</a>
74 <a href="#" aria-current="page">
80 [% ELSIF shelf AND shelf.is_public %]
83 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=1">Public lists</a>
87 <a href="#" aria-current="page">
96 <a href="#" aria-current="page">
97 Contents of <em>[% shelf.shelfname | html %]</em>
102 [% IF op == 'add_form' %]
104 <a href="#" aria-current="page">
110 [% IF op == 'edit_form' %]
112 <a href="#" aria-current="page">
113 Edit list <em>[% shelf.shelfname | html %]</em>
120 <div class="main container-fluid">
122 <div class="col-sm-10 col-sm-push-1">
125 [% INCLUDE 'virtualshelves-toolbar.inc' %]
127 [% FOR m IN messages %]
128 <div class="dialog [% m.type | html %]">
130 [% CASE 'error_on_update' %]
131 <span>An error occurred when updating this list.</span>
132 [% CASE 'error_on_insert' %]
133 <span>An error occurred when creating this list.</span>
134 [% CASE 'error_on_delete' %]
135 <span>An error occurred when deleting this list.</span>
136 [% CASE 'error_on_add_biblio' %]
137 [% IF m.item_barcode %]
138 <span>The item ([% m.item_barcode | html %]) has not been added to the list. Please verify it is not already in the list.</span>
140 <span>The record ([% m.bibnum | html %]) has not been added to the list. Please verify it is not already in the list.</span>
142 [% CASE 'success_on_update' %]
143 <span>List updated.</span>
144 [% CASE 'success_on_insert' %]
145 <span>List created.</span>
146 [% CASE 'success_on_delete' %]
147 <span>List deleted.</span>
148 [% CASE 'success_on_add_biblio' %]
149 [% IF m.item_barcode %]
150 <span>The item ([% m.item_barcode | html %]) has been added to the list.</span>
152 <span>The record ([% m.bibnum | html %]) has been added to the list.</span>
154 [% CASE 'success_on_remove_biblios' %]
155 <span>The item has been removed from the list.</span>
156 [% CASE 'does_not_exist' %]
157 <span>This list does not exist.</span>
158 [% CASE 'item_does_not_exist' %]
159 [% IF m.item_barcode %]
160 <span>The item ([% m.item_barcode | html %]) does not exist.</span>
162 <span>The record ([% m.bibnum | html %]) does not exist.</span>
164 [% CASE 'unauthorized_on_view' %]
165 <span>You do not have permission to view this list.</span>
166 [% CASE 'unauthorized_on_update' %]
167 <span>You do not have permission to update this list.</span>
168 [% CASE 'unauthorized_on_delete' %]
169 <span>You do not have permission to delete this list.</span>
170 [% CASE 'unauthorized_on_add_biblio' %]
171 <span>You do not have permission to add a record to this list.</span>
172 [% CASE 'no_biblio_removed' %]
173 <span>No record was removed.</span>
174 [% CASE 'Koha::Exceptions::Virtualshelves::DuplicateObject' %]
175 <span>An error occurred when creating this list. The name [% shelfname | html %] already exists.</span>
176 [% CASE 'Koha::Exceptions::Virtualshelves::UseDbAdminAccount' %]
177 <span>List could not be created. (Do not use the database administrator account.)</span>
178 [% CASE 'DBIx::Class::Exception' %]
181 [% m.code | html %] [% m.msg | html %]
186 [% IF op == 'view' %]
189 <h3>Contents of <em>[% shelf.shelfname | html %]</em></h3>
190 <div class="pages">[% pagination_bar | $raw %]</div>
191 <form action="/cgi-bin/koha/virtualshelves/shelves.pl" id="listform" method="post">
192 <input type="hidden" name="op" value="remove_biblios" />
193 <input type="hidden" name="referer" value="view" />
194 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
196 [% IF direction == 'asc' %]
197 [% SET new_direction = 'desc' %]
199 [% SET direction = 'desc' %]
200 [% SET new_direction = 'asc' %]
204 <div id="searchheader" class="searchheader noprint">
205 <div id="selection_ops"><span class="checkall"></span> |
206 <span class="clearall"></span>
208 <span class="addto">| </span>
210 [% IF CAN_user_reserveforothers && Koha.Preference('DisplayMultiPlaceHold') %]
211 <div class="btn-group"><button class="btn btn-default btn-xs placehold"><i class="fa fa-sticky-note-o"></i> Place hold</button></div>
213 [% IF can_remove_biblios %]
214 <div class="btn-group"><button type="submit" class="btn btn-default btn-xs list-remove"><i class="fa fa-trash"></i> Remove selected</button></div>
216 [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<div class="btn-group"><button type="submit" class="btn btn-default btn-xs merge-items"><i class="fa fa-compress"></i> Merge selected</button></div>[% END %]
221 <table id="searchresults" class="dataTable">
224 [% IF ( itemsloop ) %]<th class="checkall"> </th>[% END %]
226 [% UNLESS ( item_level_itypes ) %]<th>Item type</th>[% END %]
227 [% IF sortfield == 'title' %]
228 <th class="sorting_[% direction | html %]">
232 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]&sortfield=title&direction=[% IF sortfield != 'title' %]asc[% ELSE %][% new_direction | uri %][% END %]">Title</a>
234 [% IF sortfield == 'author' %]
235 <th class="sorting_[% direction | html %]">
239 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]&sortfield=author&direction=[% IF sortfield != 'author' %]asc[% ELSE %][% new_direction | uri %][% END %]">Author</a>
241 [% IF sortfield == 'dateadded' %]
242 <th class="sorting_[% direction | html %]">
246 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]&sortfield=dateadded&direction=[% IF sortfield != 'dateadded' %]asc[% ELSE %][% new_direction | uri %][% END %]">Date added</a>
248 [% IF sortfield == 'itemcallnumber' %]
249 <th class="sorting_[% direction | html %]">
253 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]&sortfield=itemcallnumber&direction=[% IF sortfield != 'itemcallnumber' %]asc[% ELSE %][% new_direction | uri %][% END %]">Call number</a>
257 [% FOREACH itemsloo IN itemsloop %]
261 <input type="checkbox" class="selection" value="[% itemsloo.biblionumber | html %]" name="biblionumber" />
264 [% UNLESS ( item_level_itypes ) %]<td>
265 [% UNLESS ( noItemTypeImages || !itemsloo.imageurl ) %]<img src="[% itemsloo.imageurl | html %]" alt="[% itemsloo.description | html %]" title="[% itemsloo.description | html %]" />[% END %][% itemsloo.description | html %]
268 [% IF ( itemsloo.XSLTBloc ) %]
269 [% itemsloo.XSLTBloc | $raw %]
271 [% INCLUDE 'biblio-title.inc' biblio=itemsloo link = 1 %]
275 [% IF ( itemsloo.notforloan ) %]
276 <span class="noholdstext">No holds allowed</span>
278 [% IF ( itemsloo.ITEM_RESULTS.size ) %]
279 <a id="reserve_[% itemsloo.biblionumber | html %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber | html %]">Holds</a>
280 [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber | uri %]&findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></span>[% END %]
282 <span class="noholdstext">No holds allowed</span>
285 [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
286 | <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% itemsloo.biblionumber | uri %]">Edit record</a>
288 [% IF ( CAN_user_editcatalogue_edit_items ) %]
289 | <a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% itemsloo.biblionumber | uri %]">Edit items</a>
293 <td>[% itemsloo.author | html %]</td>
294 <td>[% itemsloo.dateadded | $KohaDates%]</td>
297 [% FOREACH result IN itemsloo.ITEM_RESULTS %]
299 [% result.holdingbranch | html %]
300 [% IF ( result.location_intranet ) %]<span class="shelvingloc">[% result.location_intranet | html %]</span>[% END %]
301 [% IF ( result.itemcallnumber ) %]
302 [<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% result.itemcallnumber |uri %]%22">[% result.itemcallnumber | html %]</a>]
309 [% END %]<!-- /itemsloop -->
311 <div class="pages">[% pagination_bar | $raw %]</div>
317 [% IF op == 'add_form' OR op == 'edit_form' %]
319 <form method="post" action="/cgi-bin/koha/virtualshelves/shelves.pl" class="validated">
320 <fieldset class="rows">
322 [% IF op == 'add_form' %]
323 <legend>Create a new list</legend>
324 <input type="hidden" name="op" value="add" />
326 <legend>Edit list <em>[% shelf.shelfname | html %]</em></legend>
327 <input type="hidden" name="op" value="edit" />
329 <input type="hidden" name="referer" value="[% referer | html %]" />
330 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
333 <label for="shelfname" class="required">Name: </label><input type="text" id="shelfname" name="shelfname" size="25" value="[% shelf.shelfname | html %]" required="required" class="focus required" />
334 <span class="required">Required</span>
337 <span class="label">Owner: </span>
338 [% IF op == 'add_form' %]
339 <input type="hidden" name="owner" id="owner" value="[% loggedinusernumber | html %]" />[% logged_in_user.userid | html %]
342 <input type="hidden" id="owner" name="owner" value="[% owner.borrowernumber | html %]" />[% owner.firstname _ ' ' _ owner.surname | html %]
344 <input type="hidden" id="owner" name="owner" value="[% loggedinusernumber | html %]" />[% logged_in_user.userid | html %]
348 <li><label for="sortfield" >Sort this list by: </label>
349 <select name="sortfield">
350 [% IF shelf.sortfield == "title" %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
351 [% IF shelf.sortfield == "author" %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
352 [% IF shelf.sortfield == "copyrightdate" %]<option value="copyrightdate" selected="selected">Copyrightdate</option>[% ELSE %]<option value="copyrightdate">Copyrightdate</option>[% END %]
353 [% IF shelf.sortfield == "itemcallnumber" %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
354 [% IF shelf.sortfield == "dateadded" %]<option value="dateadded" selected="selected">Date added</option>[% ELSE %]<option value="dateadded">Date added</option>[% END %]
356 <li><label for="public">Public: </label>
357 <select id="public" name="public" onchange="AdjustRemark()">
358 [% IF shelf.is_private %]
359 <option value="0" selected="selected">Private</option>
361 <option value="0">Private</option>
363 [% IF shelf.is_public %]
364 <option value="1" selected="selected">Public</option>
366 <option value="1">Public</option>
370 [% INCLUDE list_permissions %]
375 <fieldset class="action">
376 <input type="submit" value="Save" class="submit" />
377 [% IF referer == 'view' %]
378 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=[% shelf.shelfnumber | uri %]" class="cancel">Cancel</a>
381 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=1" class="cancel">Cancel</a>
383 <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=list&public=0" class="cancel">Cancel</a>
391 [% IF op == 'list' %]
393 <div id="tabs" class="toptabs">
395 <li id="privateshelves_tab" class="active"><a href="#tab_content">Your lists</a></li>
396 <li id="publicshelves_tab" class="active"><a href="#tab_content">Public lists</a></li>
399 <div id="tab_content">
400 <table id="listresultst">
403 <th class="NoVisible">Type</th>
409 <th>Creation date</th>
410 <th>Modification date</th>
411 <th class="noExport">Actions</th>
413 <tr class="filters_row">
415 <th><input class="filter text_filter" id="searchshelfname_filter" placeholder="List name"></th>
418 <th><input class="filter text_filter" id="searchowner_filter" placeholder="Owner"></th>
420 <select class="filter text_filter" id="searchsortby_filter">
421 <option value=""></option>
422 <option value="title">Title</option>
423 <option value="author">Author</option>
424 <option value="copyrightdate">Copyrightdate</option>
425 <option value="itemcallnumber">Call number</option>
426 <option value="dateadded">Date added</option>
440 <form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
441 <!-- Values will be set here by placeHold() -->
445 </div> <!-- /.col-sm-10.col-sm-push-2 -->
446 </div> <!-- /.row -->
448 [% IF ( can_add_biblios ) %]
450 <div class="modal" id="addToList" tabindex="-1" role="dialog" aria-labelledby="addToListLabel">
451 <div class="modal-dialog" role="document">
452 <form action="/cgi-bin/koha/virtualshelves/shelves.pl" method="post">
453 <div class="modal-content">
454 <div class="modal-header">
455 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
456 <h4 class="modal-title" id="addToListLabel">Add items</h4>
458 <div class="modal-body">
459 <fieldset class="brief">
462 <label for="barcodes">Barcodes:</label>
463 <textarea name="barcodes" id="barcodes" rows="5"></textarea>
464 <input type="hidden" name="op" value="add_biblio" />
465 <input type="hidden" name="referer" value="view" />
466 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
469 <label for="biblionumbers">Biblio numbers:</label>
470 <textarea name="biblionumbers" id="biblionumbers" rows="5"></textarea>
471 <input type="hidden" name="op" value="add_biblio" />
472 <input type="hidden" name="referer" value="view" />
473 <input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
478 <div class="modal-footer">
479 <button type="submit" class="btn btn-default">Save</button>
480 <a href="#" data-dismiss="modal" class="cancel">Cancel</a>
488 [% MACRO jsinclude BLOCK %]
489 [% INCLUDE 'datatables.inc' %]
490 [% Asset.js("lib/jquery/plugins/jquery.dataTables.columnFilter.js") | $raw %]
493 $( document ).ready(function() {
495 window.onafterprint = function () {
498 setTimeout('window.close()', 1000); // Hack for Chrome < 63
503 [% IF op == 'view' %]
504 [% Asset.js("lib/hc-sticky.js") | $raw %]
507 var MSG_NO_ITEM_SELECTED = _("Nothing is selected.");
508 var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
509 var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to remove this list?");
511 [% IF op == 'list' %]
512 $(document).ready(function(){
513 var public = [% public | html %];
515 var dtListResults = $("#listresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
516 "aaSorting": [[ 5, "asc" ]],
518 'sAjaxSource': "/cgi-bin/koha/svc/virtualshelves/search",
519 'fnServerData': function(sSource, aoData, fnCallback) {
525 'value': $("#searchshelfname_filter").val(),
528 'value': $("#searchowner_filter").val(),
531 'value': $("#searchsortby_filter").val(),
533 'name': 'template_path',
534 'value': 'virtualshelves/tables/shelves_results.tt',
536 'name': 'shelfname_sorton',
537 'value': 'vs.shelfname',
539 'name': 'is_shared_sorton',
540 'value': 'vs.public',
542 'name': 'owner_sorton',
545 'name': 'sortby_sorton',
546 'value': 'vs.sortfield',
548 'name': 'created_on_sorton',
549 'value': 'vs.created_on',
551 'name': 'modification_time_sorton',
552 'value': 'vs.lastmodified',
559 'success': function(json){
565 { 'mDataProp': 'dt_public' },
566 { 'mDataProp': 'dt_shelfname' },
567 { 'mDataProp': 'dt_count' },
568 { 'mDataProp': 'dt_is_shared' },
569 { 'mDataProp': 'dt_owner' },
570 { 'mDataProp': 'dt_sortby' },
571 { 'mDataProp': 'dt_created_on' },
572 { 'mDataProp': 'dt_modification_time' },
573 { 'mDataProp': 'dt_action', 'bSortable': false, 'sClass': 'actions' }
576 { "bVisible": false, "aTargets": [ 'NoVisible' ] }
579 'sPaginationType': 'full_numbers',
582 "bSortCellsTop": true
585 dtListResults.fnAddFilters("filter", 750);
587 var tabs = $("#tabs").tabs({
593 activate: function(e, ui) {
594 var active = tabs.tabs("option", "active" );
597 dtListResults.fnDraw();
598 } else if ( active == 1 ) {
600 dtListResults.fnDraw();
604 $("body").on("click", ".deleteshelf", function(){
605 return confirmDelete(MSG_CONFIRM_DELETE_LIST);
610 [% IF shelf AND op == 'view' %]
612 $(document).ready(function(){
613 Sticky = $("#searchheader");
615 stickTo: "#listform",
616 stickyClass: "floating"
618 $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-remove\"></i>"+_(" Clear all")+"<\/a>");
619 $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\"><i class=\"fa fa-check\"></i>"+_(" Select all")+"<\/a>");
620 $("#CheckAll").click(function(e){
622 $(".selection").each(function(){
623 $(this).prop("checked", true);
627 $("#CheckNone").click(function(e){
629 $(".selection").each(function(){
630 $(this).prop("checked", false);
633 $(".placehold").on("click",function(e){
637 $(".addtocart").show();
638 var param1 = "| <label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
639 [% IF (Koha.Preference("intranetbookbag")) %]
640 param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
642 [% IF Koha.Preference('virtualshelves') %]
643 [% IF add_to_some_private_shelves.count %]
644 param1 += "<optgroup label=\""+_("Your lists:")+"\">";
645 [% SET number_of_private_shelves = 0 %]
646 [% FOREACH s IN add_to_some_private_shelves %]
647 [% IF shelfnumber != s.shelfnumber %]
648 param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
649 [% SET number_of_private_shelves = number_of_private_shelves + 1 %]
650 [% IF number_of_private_shelves == 10 %][% LAST %][% END %]
653 param1 += "<\/optgroup>";
655 [% IF add_to_some_public_shelves.count %]
656 param1 += "<optgroup label=\""+_("Public lists:")+"\">";
657 [% SET number_of_public_shelves = 0 %]
658 [% FOREACH s IN add_to_some_public_shelves %]
659 [% IF shelfnumber != s.shelfnumber %]
660 param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
661 [% SET number_of_public_shelves = number_of_public_shelves + 1 %]
662 [% IF number_of_public_shelves == 10 %][% LAST %][% END %]
665 param1 += "<\/optgroup>";
667 [% IF add_to_some_private_shelves.count > 10 or add_to_some_public_shelves.count > 10 %]
668 param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
670 param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
672 param1 += "<\/select> <button id=\"cartsubmit\" type=\"submit\" class=\"btn btn-default btn-xs\">"+_("Save")+"</button>";
673 $("span.addto").html(param1);
674 $("#cartsubmit").on("click",function(e){
678 $("#addto").change(function(){
681 $(".addto").find("input:submit").click(function(e){
685 $("#selection_ops").show();
686 $(".merge-items").on("click",function(e){
690 $("#listform").on("submit",function(e){
693 $(".list-remove").on("click",function(e){
694 if($(".selection").filter(":checked").length > 0){
695 return confirm(MSG_REMOVE_FROM_LIST);
697 alert(MSG_NO_ITEM_SELECTED);
701 $("#addToList").on("shown.bs.modal", function(e){
702 $("#barcodes").focus();
707 [% IF shelf AND op == 'edit_form' %]
708 $(document).ready(function(){
714 * This function checks if the adequate number of records are checked for merging
716 function MergeItems() {
717 var checkboxes = $("input:checkbox:checked");
718 if (checkboxes.length < 2) {
719 alert(_("At least two records must be selected for merging."));
722 $(checkboxes).each(function() {
723 params.push('biblionumber=' + $(this).val());
725 var url = '/cgi-bin/koha/cataloguing/merge.pl?' + params.join('&');
732 * This function checks all checkboxes if all are empty,
733 * or unchecks all if any already checked.
736 var checkboxes = document.getElementsByTagName('input');
737 var nbCheckbox = checkboxes.length;
738 var check = areAllChecked();
739 for(var i=0;i<nbCheckbox;i++){
740 if(checkboxes[i].getAttribute('type') == "checkbox" ){
741 checkboxes[i].checked = (check) ? 0 : 1;
746 * This function returns true if ALL checkboxes are checked
748 function areAllChecked(){
749 var checkboxes = document.getElementsByTagName('input');
750 var nbCheckbox = checkboxes.length;
751 for(var i=0;i<nbCheckbox;i++){
752 if(checkboxes[i].getAttribute('type') == "checkbox" ){
753 if(checkboxes[i].checked == 0){
761 function placeHold () {
762 var checkedItems = $(".selection:checked");
763 if ($(checkedItems).size() == 0) {
764 alert(MSG_NO_ITEM_SELECTED);
767 $(checkedItems).each(function() {
768 var bib_param = $("<input>").attr("type", "hidden").attr("name", "biblionumber").val($(this).val());
769 $('#hold_form').append(bib_param);
771 $("#hold_form").submit();
776 var checkboxes = $("#searchresults").find(":checkbox");
777 var vshelf = vShelfAdd(checkboxes);
778 if($("#addto").find("option:selected").attr("value") == "addtolist"){
779 var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
781 openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber='+shelfnumber+'&confirm=1&' + vshelf,'popup',500,500);
784 } else if($("#addto").find("option:selected").attr("value") == "newlist"){
786 openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&' + vshelf,'popup',500,500);
789 } else if($("#addto").find("option:selected").attr("value") == "morelists"){
791 openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?' + vshelf,'popup',500,500);
795 if($("#addto").find("option:selected").attr("value") == "addtocart"){
796 addMultiple(checkboxes);
801 function AdjustRemark() {
802 var public = $("#public").val();
803 var perms = $("#allow_changes_from").val();
806 $("#anyone_remark").hide();
807 $("#staff_remark").hide();
808 } else if( public==0 ) {
809 // If we move to Private (without shares), show Anyone remark
810 // Note: the number of shares is not tested real-time
811 [% IF !shelf.is_shared %]
813 $("#anyone_remark").show();
814 $("#staff_remark").hide();
815 } else if ( perms==3 ) {
816 $("#anyone_remark").hide();
817 $("#staff_remark").show();
820 $("#anyone_remark").hide();
821 $("#staff_remark").hide();
823 } else { // public==1
824 $("#anyone_remark").hide();
825 $("#staff_remark").hide();
828 [% IF op == 'view' %]
831 open(CGIBIN+'virtualshelves/sendshelf.pl?shelfid=[% shelf.shelfnumber | html %]','win_form','scrollbars=no,resizable=no,height=300,width=450,top=50,left=100');
834 $(document).ready(function() {
835 $("#sendlist").click(function(){
839 $("#deleteshelf").click(function(e){
840 if(confirm(_("Are you sure you want to delete this list?"))){
852 [% INCLUDE 'intranet-bottom.inc' %]