Fridolin Somers
3ce2c0235c
On intranet results page, the callnumber of items is a search like : /cgi-bin/koha/catalogue/search.pl?idx=callnum&q=[% result.itemcallnumber |url %] The callnumber should be URI-escaped to avoid special URI characters like & , ? ... If the callnumber contains some CCL words or parenthesis, the search will fail, it should be wrapped with double-quotes. This patch adds this to catalogue/results.pl and catalogue/shelves.pl : - uri TT filter instead of url - adds double-quotes using there URI code %22 since its in a HTML attribute using double-quotes Test plan : - Edit an item callnumber with : & ABC 123 - Index zebraqueue - Perform a search returning this item - Click on the callnumber => Without this patch you get no result, because URL parameters are : idx=callnum&q=& ABC 123 => With this patch you get results - Set syspref QueryWeightFields off (because this is no bug if on) - Edit an item callnumber with : AB(C) AND OR - Index zebraqueue - Perform a search returning this item - Click on the callnumber => Without this patch you get no result, because the search contains CCL words "OR" and "AND" => With this patch you get results Signed-off-by: Liz Rea <liz@catalyst.net.nz> Tested all with and without queryweightfields - all searches from clicked call numbers for given callnumbers fail without the patch, all are successful with the patch. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Works as described - no problems found. Passes tests and QA script. Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
642 lines
30 KiB
Text
642 lines
30 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › [% IF ( viewshelf ) %]Lists › Contents of [% shelfname | html %][% ELSE %]Lists[% END %][% IF ( shelves ) %] › Create new list[% END %][% IF ( edit ) %] › Edit list [% shelfname | html %][% END %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% IF ( viewshelf ) %]
|
|
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
|
|
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
|
|
[% END %]
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
|
|
var MSG_NO_ITEM_SELECTED = _("Nothing is selected.");
|
|
var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
|
|
var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to remove this list?");
|
|
[% IF ( viewshelf ) %]
|
|
$(document).ready(function(){
|
|
[% IF ( itemsloop ) %]$('#searchheader').fixFloat();[% END %]
|
|
$("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\">"+_("Clear all")+"<\/a>");
|
|
$("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\">"+_("Select all")+"<\/a>");
|
|
$("#CheckAll").click(function(){
|
|
$(".checkboxed").checkCheckboxes();
|
|
return false;
|
|
});
|
|
$("#CheckNone").click(function(){
|
|
$(".checkboxed").unCheckCheckboxes();
|
|
return false;
|
|
});
|
|
$(".placehold").on("click",function(e){
|
|
placeHold();
|
|
e.preventDefault();
|
|
});
|
|
$(".addtocart").show();
|
|
var param1 = "| <label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
|
|
[% IF ( intranetbookbag ) %]
|
|
param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
|
|
[% END %]
|
|
[% IF ( virtualshelves ) %]
|
|
[% IF ( addbarshelves ) %]
|
|
param1 += "<optgroup label=\""+_("Your lists:")+"\">";
|
|
[% FOREACH addbarshelvesloo IN addbarshelvesloop %]
|
|
[% IF ( shelfnumber != addbarshelvesloo.shelfnumber ) %]
|
|
param1 += "<option id=\"s[% addbarshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addbarshelvesloo.shelfname |html %]<\/option>";
|
|
[% END %]
|
|
[% END %]
|
|
param1 += "<\/optgroup>";
|
|
[% END %]
|
|
[% IF ( addpubshelves ) %]
|
|
param1 += "<optgroup label=\""+_("Public lists:")+"\">";
|
|
[% FOREACH addpubshelvesloo IN addpubshelvesloop %]
|
|
[% IF ( shelfnumber != addpubshelvesloo.shelfnumber ) %]
|
|
param1 += "<option id=\"s[% addpubshelvesloo.shelfnumber %]\" value=\"addtolist\">[% addpubshelvesloo.shelfname |html %]<\/option>";
|
|
[% END %]
|
|
[% END %]
|
|
param1 += "<\/optgroup>";
|
|
[% END %]
|
|
[% IF ( ( addbarshelvesloop && addbarshelvesloop.size > 9 ) || (addpubshelvesloop && addpubshelvesloop.size > 9 )) %]
|
|
param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
|
|
[% END %]
|
|
param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
|
|
[% END %]
|
|
param1 += "<\/select> <button id=\"cartsubmit\" type=\"submit\" class=\"btn btn-mini\">"+_("Save")+"</button>";
|
|
$("span.addto").html(param1);
|
|
$("#cartsubmit").on("click",function(e){
|
|
cartList();
|
|
e.preventDefault();
|
|
});
|
|
$("#addto").change(function(){
|
|
cartList();
|
|
});
|
|
$(".addto").find("input:submit").click(function(e){
|
|
e.preventDefault();
|
|
cartList();
|
|
});
|
|
$("#selection_ops").show();
|
|
$(".merge-items").on("click",function(e){
|
|
e.preventDefault();
|
|
MergeItems();
|
|
});
|
|
$("#listform").on("submit",function(e){
|
|
|
|
});
|
|
$(".list-remove").on("click",function(e){
|
|
if($(".selection").filter(":checked").length > 0){
|
|
return confirm(MSG_REMOVE_FROM_LIST);
|
|
} else {
|
|
alert(MSG_NO_ITEM_SELECTED);
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
});
|
|
[% END %]
|
|
|
|
function confirmDelete(message){
|
|
if (window.confirm(message)) {
|
|
location.href="/cgi-bin/koha/virtualshelves/shelves.pl?[% IF ( showprivateshelves ) %]display=privateshelves&[% END %]shelves=1&DEL-[% shelfnumber %]=1&shelfoff=[% shelfoff %]";
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function checks if the adequate number of records are checked for merging
|
|
*/
|
|
function MergeItems() {
|
|
var checkboxes = $("input:checkbox:checked");
|
|
var nbCheckbox = checkboxes.length;
|
|
if (nbCheckbox != 2) {
|
|
alert(_("Two records must be selected for merging."));
|
|
} else {
|
|
location.href='/cgi-bin/koha/cataloguing/merge.pl?biblionumber=' + checkboxes[0].value + '&biblionumber=' + checkboxes[1].value;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* This function checks all checkboxes if all are empty,
|
|
* or unchecks all if any already checked.
|
|
*/
|
|
function CheckAll(){
|
|
var checkboxes = document.getElementsByTagName('input');
|
|
var nbCheckbox = checkboxes.length;
|
|
var check = areAllChecked();
|
|
for(var i=0;i<nbCheckbox;i++){
|
|
if(checkboxes[i].getAttribute('type') == "checkbox" ){
|
|
checkboxes[i].checked = (check) ? 0 : 1;
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* This function returns true if ALL checkboxes are checked
|
|
*/
|
|
function areAllChecked(){
|
|
var checkboxes = document.getElementsByTagName('input');
|
|
var nbCheckbox = checkboxes.length;
|
|
for(var i=0;i<nbCheckbox;i++){
|
|
if(checkboxes[i].getAttribute('type') == "checkbox" ){
|
|
if(checkboxes[i].checked == 0){
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function placeHold () {
|
|
var checkedItems = $(".selection:checked");
|
|
if ($(checkedItems).size() == 0) {
|
|
alert(MSG_NO_ITEM_SELECTED);
|
|
return false;
|
|
}
|
|
var bibs = "";
|
|
$(checkedItems).each(function() {
|
|
bibs += $(this).val() + "/";
|
|
});
|
|
$("#hold_form_biblios").val(bibs);
|
|
$("#hold_form").submit();
|
|
return false;
|
|
}
|
|
|
|
function cartList(){
|
|
var checkboxes = $("#searchresults").find(":checkbox");
|
|
var vshelf = vShelfAdd(checkboxes);
|
|
if($("#addto").find("option:selected").attr("value") == "addtolist"){
|
|
var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
|
|
if (vshelf) {
|
|
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber='+shelfnumber+'&confirm=1&' + vshelf,'popup',500,500);
|
|
}
|
|
return false;
|
|
} else if($("#addto").find("option:selected").attr("value") == "newlist"){
|
|
if (vshelf) {
|
|
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&' + vshelf,'popup',500,500);
|
|
}
|
|
return false;
|
|
} else if($("#addto").find("option:selected").attr("value") == "morelists"){
|
|
if (vshelf) {
|
|
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?' + vshelf,'popup',500,500);
|
|
}
|
|
return false;
|
|
}
|
|
if($("#addto").find("option:selected").attr("value") == "addtocart"){
|
|
addMultiple(checkboxes);
|
|
return false;
|
|
}
|
|
}
|
|
//]]>
|
|
</script>
|
|
</head>
|
|
<body id="lists_shelves" class="lists">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-search.inc' %]
|
|
|
|
[% BLOCK list_permissions %]
|
|
<li>
|
|
<label for="permissions">Permissions: </label>
|
|
<select name="allow_add" id="allow_add">
|
|
[% IF allow_add %]<option value="0">Do not allow</option>[% ELSE %]<option value="0" selected="selected">Do not allow</option>[% END %]
|
|
[% IF allow_add %]<option value="1" selected="selected">Allow</option>[% ELSE %]<option value="1">Allow</option>[% END %]
|
|
</select>
|
|
<span>anyone else to add entries.</span>
|
|
</li>
|
|
<li>
|
|
<label> </label>
|
|
<select name="allow_delete_own" id="allow_delete_own">
|
|
[% IF allow_delete_own %]<option value="0">Do not allow</option>[% ELSE %]<option value="0" selected="selected">Do not allow</option>[% END %]
|
|
[% IF allow_delete_own %]<option value="1" selected="selected">Allow</option>[% ELSE %]<option value="1">Allow</option>[% END %]
|
|
</select>
|
|
<span>anyone to remove his own contributed entries.</span>
|
|
</li>
|
|
<li>
|
|
<label> </label>
|
|
<select name="allow_delete_other" id="allow_delete_other">
|
|
[% IF allow_delete_other %]<option value="0">Do not allow</option>[% ELSE %]<option value="0" selected="selected">Do not allow</option>[% END %]
|
|
[% IF allow_delete_other %]<option value="1" selected="selected">Allow</option>[% ELSE %]<option value="1">Allow</option>[% END %]
|
|
</select>
|
|
<span>anyone to remove other contributed entries.</span>
|
|
</li>
|
|
[% END %]
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/virtualshelves/shelves.pl">Lists</a> [% IF ( category1 ) %] › [% IF ( viewshelf || edit ) %] <a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your lists</a> [% ELSE %] Your lists [% END %] [% ELSIF ( category2 ) %] › [% IF ( viewshelf ) %] <a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public lists</a> [% ELSE %] Public lists [% END %] [% ELSIF ( showprivateshelves ) %] › [% IF ( viewshelf || edit ) %] <a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your lists</a> [% ELSE %] Your lists [% END %] [% ELSIF ( showpublicshelves ) %] › [% IF ( viewshelf || edit ) %] <a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public lists</a> [% ELSE %] Public lists [% END %] [% END %]
|
|
|
|
[% IF ( viewshelf ) %]› Contents of <i>[% shelfname | html %]</i>[% END %][% IF ( shelves ) %] › Create new list[% END %][% IF ( edit ) %] › Edit list <i>[% shelfname | html %]</i>[% END %]</div>
|
|
|
|
<div id="doc2" class="yui-t7">
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-g">[% INCLUDE 'virtualshelves-toolbar.inc' %]
|
|
</div>
|
|
[% IF ( paramsloop ) %]
|
|
[% FOREACH paramsloo IN paramsloop %]
|
|
<div class="yui-ge">
|
|
<div class="yui-u first">
|
|
[% IF ( paramsloo.already ) %]<div class="dialog alert">A List named [% paramsloo.already %] already exists!</div>[% END %]
|
|
[% IF ( paramsloo.addshelf_failed ) %]<div class="dialog alert">List could not be created. [% IF loggedinuser==0 %](Do not use the database administrator account.)[% END %]</div>[% END %]
|
|
[% IF ( paramsloo.status ) %]<div class="dialog alert">[% paramsloo.string %]</div>[% END %]
|
|
[% IF ( paramsloo.nobarcode ) %]<div class="dialog alert">ERROR: No barcode given.</div>[% END %]
|
|
[% IF ( paramsloo.noshelfnumber ) %]<div class="dialog alert">ERROR: No list number given.</div>[% END %]
|
|
[% IF ( paramsloo.need_confirm ) %]
|
|
<div class="dialog alert">The list <i>[% paramsloo.need_confirm %]</i> is not empty.
|
|
[% IF ( paramsloo.single ) %]
|
|
<br />It has <b>[% paramsloo.count %]</b> entry.
|
|
[% ELSE %]
|
|
<br />It has <b>[% paramsloo.count %]</b> entries.
|
|
[% END %]
|
|
<br />Use the "Confirm" button below to confirm deletion.
|
|
</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.nopermission ) %]
|
|
<div class="dialog alert">ERROR: You do not have adequate permission for that action on list [% paramsloo.nopermission %].</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.failgetitem ) %]
|
|
<div class="dialog alert">ERROR: No item found with barcode [% paramsloo.failgetitem %].</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.duplicatebiblio ) %]
|
|
<div class="dialog alert">A record matching barcode <b>[% paramsloo.duplicatebiblio %]</b> has already been added.</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.nothingdeleted) %]
|
|
<div class="dialog message">Warning: You could not delete any of the selected items from this list.</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.somedeleted) %]
|
|
<div class="dialog message">Warning: You could not delete all selected items from this list.</div>
|
|
[% END %]
|
|
[% IF ( paramsloo.modifyfailure) %]
|
|
<div class="dialog message">ERROR: List could not be modified.</div>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( viewshelf ) %]
|
|
<div class="yui-g">
|
|
[% IF ( itemsloop ) %]
|
|
|
|
<h3>Contents of <i>[% shelfname | html %]</i></h3>
|
|
<div class="pages">[% pagination_bar %]</div>
|
|
<form action="/cgi-bin/koha/virtualshelves/shelves.pl" id="listform" method="post" class="checkboxed">
|
|
<input type="hidden" name="viewshelf" value="[% shelfnumber %]" />
|
|
<input type="hidden" name="modifyshelfcontents" value="1" />
|
|
|
|
[% IF direction == 'asc' %]
|
|
[% SET new_direction = 'desc' %]
|
|
[% ELSE %]
|
|
[% SET direction = 'desc' %]
|
|
[% SET new_direction = 'asc' %]
|
|
[% END %]
|
|
|
|
<div id="searchheader">
|
|
[% IF ( itemsloop ) %]
|
|
<div id="selection_ops"><span class="checkall"></span> |
|
|
<span class="clearall"></span>
|
|
|
|
<span class="addto">| </span>
|
|
|
|
[% IF ( CAN_user_reserveforothers && DisplayMultiPlaceHold ) %]
|
|
<div class="btn-group"><button class="btn btn-mini placehold"><i class="icon-hold"></i> Place hold</button></div>
|
|
[% END %]
|
|
[% IF ( allowremovingitems ) %]
|
|
<div class="btn-group"><button type="submit" class="btn btn-mini list-remove"><i class="icon-remove-sign"></i> Remove selected</button></div>
|
|
[% END %]
|
|
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<div class="btn-group"><button type="submit" class="btn btn-mini merge-items"><i class="icon-merge"></i> Merge selected</button></div>[% END %]
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
|
|
<table id="searchresults">
|
|
<tr>
|
|
[% IF ( itemsloop ) %]<th class="checkall"> </th>[% END %]
|
|
|
|
[% UNLESS ( item_level_itypes ) %]<th>Item type</th>[% END %]
|
|
<th>
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% shelfnumber %]&sort=title&direction=[% IF sort != 'title' %]asc[% ELSE %][% new_direction %][% END %]">Title</a>
|
|
[% IF sort == 'title' %]
|
|
<img src="[% interface %]/[% theme %]/img/[% direction %].gif" alt="[% direction %] sort" />
|
|
[% ELSE %]
|
|
<img src="[% interface %]/[% theme %]/img/ascdesc.gif" alt="" />
|
|
[% END %]
|
|
</th>
|
|
<th>
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% shelfnumber %]&sort=author&direction=[% IF sort != 'author' %]asc[% ELSE %][% new_direction %][% END %]">Author</a>
|
|
[% IF sort == 'author' %]
|
|
<img src="[% interface %]/[% theme %]/img/[% direction %].gif" alt="[% direction %] sort" />
|
|
[% ELSE %]
|
|
<img src="[% interface %]/[% theme %]/img/ascdesc.gif" alt="" />
|
|
[% END %]
|
|
</th>
|
|
<th>Date added</th>
|
|
<th>
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% shelfnumber %]&sort=itemcallnumber&direction=[% IF sort != 'itemcallnumber' %]asc[% ELSE %][% new_direction %][% END %]">Call number</a>
|
|
[% IF sort == 'itemcallnumber' %]
|
|
<img src="[% interface %]/[% theme %]/img/[% direction %].gif" alt="[% direction %] sort" />
|
|
[% ELSE %]
|
|
<img src="[% interface %]/[% theme %]/img/ascdesc.gif" alt="" />
|
|
[% END %]
|
|
</th>
|
|
</tr>
|
|
[% FOREACH itemsloo IN itemsloop %]
|
|
[% UNLESS ( loop.odd ) %]
|
|
<tr class="highlight">
|
|
[% ELSE %]
|
|
<tr>
|
|
[% END %]
|
|
[% IF ( itemsloop ) %]
|
|
<td>
|
|
[% IF ( itemsloo.confirm ) %]
|
|
<input type="hidden" name="CONFIRM-[% itemsloo.confirm %]" />
|
|
<input type="checkbox" class="selection" value="[% itemsloo.biblionumber %]" name="REM-[% itemsloo.biblionumber %]" checked />
|
|
[% ELSE %]
|
|
<input type="checkbox" class="selection" value="[% itemsloo.biblionumber %]" name="REM-[% itemsloo.biblionumber %]" />
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
[% UNLESS ( item_level_itypes ) %]<td>
|
|
[% UNLESS ( noItemTypeImages || !itemsloo.imageurl ) %]<img src="[% itemsloo.imageurl %]" alt="[% itemsloo.description %]" title="[% itemsloo.description %]" />[% END %][% itemsloo.description %]
|
|
</td>[% END %]
|
|
<td>
|
|
[% IF ( itemsloo.XSLTBloc ) %]
|
|
[% itemsloo.XSLTBloc %]
|
|
[% ELSE %]
|
|
[% INCLUDE 'biblio-default-view.inc' biblionumber = itemsloo.biblionumber %]
|
|
[% itemsloo.title |html %][% FOREACH subtitl IN itemsloo.subtitle %] [% subtitl.subfield %][% END %]</a>
|
|
[% END %]
|
|
<p class="hold">
|
|
[% IF ( itemsloo.notforloan ) %]
|
|
<span class="noholdstext">No holds allowed</span>
|
|
[% ELSE %]
|
|
[% IF ( itemsloo.ITEM_RESULTS.size ) %]
|
|
<a id="reserve_[% itemsloo.biblionumber %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber %]">Holds</a>
|
|
[% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber %]&findborrower=[% holdfor_cardnumber %]">Place hold for [% holdfor_firstname %] [% holdfor_surname %] ([% holdfor_cardnumber %])</a></span>[% END %]
|
|
[% ELSE %]
|
|
<span class="noholdstext">No holds allowed</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
|
|
| <a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% itemsloo.biblionumber %]">Edit record</a>
|
|
[% END %]
|
|
[% IF ( CAN_user_editcatalogue_edit_items ) %]
|
|
| <a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% itemsloo.biblionumber %]">Edit items</a>
|
|
[% END %]
|
|
</p>
|
|
</td>
|
|
<td>[% itemsloo.author %]</td>
|
|
<td>[% itemsloo.dateadded %]</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH result IN itemsloo.ITEM_RESULTS %]
|
|
<li>[% result.holdingbranch %] [% IF ( result.location_intranet ) %] ([% result.location_intranet %]) [% END %]
|
|
[% IF ( result.itemcallnumber ) %]
|
|
[<a href="/cgi-bin/koha/catalogue/search.pl?idx=callnum&q=%22[% result.itemcallnumber |uri %]%22">[% result.itemcallnumber %]</a>]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
[% END %]<!-- /itemsloop -->
|
|
</table>
|
|
<div class="pages">[% pagination_bar %]</div>
|
|
</form>
|
|
|
|
[% END %]
|
|
</div>
|
|
[% END %]<!-- /viewshelf -->
|
|
|
|
[% IF ( allowaddingitem ) %]
|
|
<div class="yui-g">
|
|
<form action="/cgi-bin/koha/virtualshelves/shelves.pl" method="post">
|
|
<fieldset class="brief">
|
|
<legend>Add an item to <i>[% shelfname | html %]</i></legend>
|
|
<ol>
|
|
<li>
|
|
<label for="addbarcode">Barcode:</label>
|
|
<input name="addbarcode" type="text" id="addbarcode" size="14" />
|
|
<input type="hidden" name="viewshelf" value="[% shelfnumber %]" />
|
|
<input type="hidden" name="modifyshelfcontents" value="1" />
|
|
<input type="submit" value="Add" />
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
[% END %]<!-- /allowaddingitem -->
|
|
|
|
[% IF ( debug ) %]
|
|
[% IF ( edit ) %]<div>Edit is on ([% shelfname | html %])</div>[% END %]
|
|
[% IF ( seflag ) %]<div>seflag is on ([% seflag %])</div>[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( seflag ) %]
|
|
<div class="yui-ge">
|
|
<div class="yui-u first">
|
|
<form method="post" action="/cgi-bin/koha/virtualshelves/shelves.pl" class="validated">
|
|
<fieldset class="rows">
|
|
|
|
[% IF ( shelves ) %]
|
|
<legend>Create a new list</legend>
|
|
<input type="hidden" name="shelves" value="1" />
|
|
<ol>
|
|
<li><label class="required" for="addshelf">List name:</label><input id="addshelf" type="text" name="addshelf" size="25" required="required" class="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
<li><span class="label">Owner: </span><input type="hidden" name="owner" id="owner" value="[% loggedinuser %]" />[% loggedinusername %]</li>
|
|
<li><label for="sortfield" >Sort this list by: </label>
|
|
<select name="sortfield" id="sortfield">
|
|
<option value="title">Title</option>
|
|
<option value="author">Author</option>
|
|
<option value="copyrightdate">Copyrightdate</option>
|
|
<option value="itemcallnumber">Call number</option>
|
|
</select></li>
|
|
<li><label for="category">Category: </label>
|
|
<select name="category" id="category">
|
|
<option value="1">Private</option>
|
|
<option value="2">Public</option>
|
|
</select></li>
|
|
[% INCLUDE list_permissions %]
|
|
</ol>
|
|
[% END %]
|
|
|
|
[% IF ( edit ) %]
|
|
<legend>Edit list <i>[% shelfname | html %]</i></legend>
|
|
<input type="hidden" name="display" value="[% display %]" />
|
|
<input type="hidden" name="op" value="modifsave" />
|
|
[% IF ( showprivateshelves ) %]<input type="hidden" name="display" value="privateshelves" />[% END %]
|
|
<input type="hidden" name="shelfnumber" value="[% shelfnumber %]" />
|
|
<ol>
|
|
<li><label for="shelfname" class="required">Name: </label><input type="text" id="shelfname" name="shelfname" size="25" value="[% shelfname |html %]" required="required" class="required" />
|
|
<span class="required">Required</span>
|
|
</li>
|
|
<li><label for="owner">Owner: </label><input type="hidden" id="owner" name="owner" value="[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]" />[% IF ( owner ) %][% ownername %][% ELSE %][% loggedinusername %][% END %]</li>
|
|
<li><label for="sortfield" >Sort this list by: </label>
|
|
<select name="sortfield">
|
|
[% IF ( sortfield == "title" ) %]<option value="title" selected="selected">Title</option>[% ELSE %]<option value="title">Title</option>[% END %]
|
|
[% IF ( sortfield == "author" ) %]<option value="author" selected="selected">Author</option>[% ELSE %]<option value="author">Author</option>[% END %]
|
|
[% IF ( sortfield == "copyrightdate" ) %]<option value="copyrightdate" selected="selected">Copyrightdate</option>[% ELSE %]<option value="copyrightdate">Copyrightdate</option>[% END %]
|
|
[% IF ( sortfield == "itemcallnumber" ) %]<option value="itemcallnumber" selected="selected">Call number</option>[% ELSE %]<option value="itemcallnumber">Call number</option>[% END %]
|
|
</select></li>
|
|
<li><label for="category">Category: </label>
|
|
<select id="category" name="category">
|
|
[% IF ( category1 ) %]
|
|
<option value="1" selected="selected">Private</option>
|
|
[% ELSE %]
|
|
<option value="1">Private</option>
|
|
[% END %]
|
|
[% IF ( category2 ) %]
|
|
<option value="2" selected="selected">Public</option>
|
|
[% ELSE %]
|
|
<option value="2">Public</option>
|
|
[% END %]
|
|
</select></li>
|
|
[% INCLUDE list_permissions %]
|
|
</ol>
|
|
[% END %]
|
|
|
|
</fieldset>
|
|
|
|
<fieldset class="action"><input type="submit" value="Save" class="submit" />
|
|
[% IF ( showprivateshelves ) %]
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves" class="cancel">Cancel</a>
|
|
[% ELSE %]
|
|
[% IF ( display == "viewshelf" ) %]
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% shelfnumber %]" class="cancel">Cancel</a>
|
|
[% ELSE %]
|
|
<a href="/cgi-bin/koha/virtualshelves/shelves.pl" class="cancel">Cancel</a>
|
|
[% END %]
|
|
[% END %]
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
<div class="yui-u">
|
|
<div class="help"><ul>
|
|
<li><b>Private list:</b> Is managed by you and can be seen only by you.</li>
|
|
<li><b>Public list:</b> Can be seen by everybody, but managed only by you.</li>
|
|
<li>The owner of a list is always allowed to add entries, but needs permission to remove.</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% END %]<!-- /seflag -->
|
|
|
|
[% UNLESS ( vseflag ) %]
|
|
<h2>Lists</h2>
|
|
<div class="statictabs">
|
|
<ul>
|
|
[% IF ( showprivateshelves ) %]
|
|
<li id="privateshelves_tab" class="active"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your lists</a></li>
|
|
[% ELSE %]
|
|
<li id="privateshelves_tab" class=""><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your lists</a></li>
|
|
[% END %]
|
|
[% IF ( showpublicshelves ) %]
|
|
<li id="publicshelves_tab" class="active"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public lists</a></li>
|
|
[% ELSE %]
|
|
<li id="publicshelves_tab" class=""><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public lists</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% IF ( showprivateshelves ) %]
|
|
<div id="privateshelves" class="tabs-container" style="display:block;">
|
|
[% ELSE %]
|
|
<div id="privateshelves" class="tabs-container" style="display:none;">
|
|
[% END %]
|
|
[% IF ( shelveslooppriv ) %]
|
|
<div class="pages">[% pagination_bar %]</div>
|
|
<table>
|
|
<tr><th>List Name</th><th>Contents</th><th>Sort by</th><th>Type</th><th>Options</th></tr>
|
|
[% FOREACH shelveslooppri IN shelveslooppriv %]
|
|
[% IF ( shelveslooppri.toggle ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
|
|
<td><a href="shelves.pl?[% IF ( shelveslooppri.showprivateshelves ) %]display=privateshelves&[% END %]viewshelf=[% shelveslooppri.shelf %]&shelfoff=[% shelfoff %]">[% shelveslooppri.shelfname |html %]</a></td>
|
|
<td>[% shelveslooppri.count %] item(s)</td>
|
|
<td>[% IF ( shelveslooppri.sortfield == "author" ) %]Author[% ELSIF ( shelveslooppri.sortfield == "copyrightdate" ) %]Year[% ELSIF (shelveslooppri.sortfield == "itemcallnumber") %]Call number[% ELSE %]Title[% END %]</td>
|
|
<td>[% IF ( shelveslooppri.viewcategory1 ) %][% IF !shelveslooppri.shares %]Private[% ELSE %]Shared[% END %][% END %]
|
|
[% IF ( shelveslooppri.viewcategory2 ) %]Public[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF ( shelveslooppri.mine ) %]
|
|
<form action="merge.pl" method="get">
|
|
<input type="hidden" name="shelf" value="[% shelveslooppri.shelf %]" />
|
|
</form>
|
|
<form action="shelves.pl" method="get">
|
|
<input type="hidden" name="shelfnumber" value="[% shelveslooppri.shelf %]" />
|
|
<input type="hidden" name="op" value="modif" />
|
|
<input type="hidden" name="display" value="privateshelves" />
|
|
<input type="submit" class="editshelf" value="Edit" />
|
|
</form>
|
|
<form action="shelves.pl" method="post">
|
|
<input type="hidden" name="shelfoff" value="[% shelfoff %]" />
|
|
<input type="hidden" name="shelves" value="1" />
|
|
<input type="hidden" name="display" value="privateshelves" />
|
|
<input type="hidden" name="DEL-[% shelveslooppri.shelf %]" value="1" />
|
|
[% IF ( shelveslooppri.confirm ) %]
|
|
<input type="hidden" name="CONFIRM-[% shelveslooppri.confirm %]" value="1" />
|
|
<input type="submit" class="approve" value="Confirm" />
|
|
[% ELSE %]
|
|
<input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);" value="Delete" />
|
|
[% END %]
|
|
</form>
|
|
[% ELSE %]
|
|
None
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
[% ELSE %]
|
|
<p>No private lists.</p>
|
|
[% END %]<!-- /shelveslooppriv -->
|
|
</div><!-- /privateshelves -->
|
|
|
|
[% IF ( showpublicshelves ) %]
|
|
<div id="publicshelves" class="tabs-container" style="display:block;">
|
|
[% ELSE %]
|
|
<div id="publicshelves" class="tabs-container" style="display:none;">
|
|
[% END %]
|
|
[% IF ( shelvesloop ) %]
|
|
<div class="pages">[% pagination_bar %]</div>
|
|
<table>
|
|
<tr><th>List Name</th><th>Created by</th><th>Contents</th><th>Sort By</th><th>Type</th><th>Options</th></tr>
|
|
[% FOREACH shelvesloo IN shelvesloop %]
|
|
[% IF ( shelvesloo.toggle ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
|
|
<td><a href="shelves.pl?viewshelf=[% shelvesloo.shelf %]">[% shelvesloo.shelfname |html %]</a></td>
|
|
<td><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% shelvesloo.owner %]">[% shelvesloo.ownername %]</td>
|
|
<td>[% shelvesloo.count %] item(s)</td>
|
|
<td>[% IF ( shelvesloo.sortfield == "author" ) %]Author[% ELSIF ( shelvesloo.sortfield == "copyrightdate" ) %]Year[% ELSIF (shelvesloo.sortfield == "itemcallnumber") %]Call number[% ELSE %]Title[% END %]</td>
|
|
<td>[% IF ( shelvesloo.viewcategory1 ) %]Private[% END %]
|
|
[% IF ( shelvesloo.viewcategory2 ) %]Public[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF ( shelvesloo.manageshelf ) %]
|
|
<form action="shelves.pl" method="get">
|
|
<input type="hidden" name="shelfnumber" value="[% shelvesloo.shelf %]" />
|
|
<input type="hidden" name="op" value="modif" />
|
|
<input type="submit" class="editshelf" value="Edit" />
|
|
</form>
|
|
<form action="shelves.pl" method="post">
|
|
<input type="hidden" name="shelfoff" value="[% shelfoff %]" />
|
|
<input type="hidden" name="shelves" value="1" />
|
|
<input type="hidden" name="DEL-[% shelvesloo.shelf %]" value="1" />
|
|
[% IF ( shelvesloo.confirm ) %]
|
|
<input type="hidden" name="CONFIRM-[% shelvesloo.confirm %]" value="1" />
|
|
<input type="submit" class="approve" value="Confirm" />
|
|
[% ELSE %]
|
|
<input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);" value="Delete" />
|
|
[% END %]
|
|
</form>
|
|
[% ELSE %]
|
|
None
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</table>
|
|
[% ELSE %]
|
|
[% IF ( showpublicshelves ) %]<p>No public lists.</p>[% END %]
|
|
[% END %]<!-- /shelvesloop -->
|
|
</div><!-- /publicshelves -->
|
|
</div>
|
|
[% END %]
|
|
|
|
<form id="hold_form" method="get" action="/cgi-bin/koha/reserve/request.pl">
|
|
<!-- Value will be set here by placeHold() -->
|
|
<input id="hold_form_biblios" type="hidden" name="biblionumbers" value="" />
|
|
<input type="hidden" name="multi_hold" value="1"/>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|