Koha/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tmpl
Chris Nighswonger 9971756a24 kohabug 2159 Improving "Lists" button list refreshes after adding/changing lists/shelves
Adding code to refresh "Lists" button lists display in OPAC masthead.inc

Adding javascript to force refresh of parent window to update "Lists" button menu

Adding query limits and ability to specify row count and offset in queries related to Virtualshelves.
Also added the ability to return total record counts for specified virtualshelves.

Adding C4::VirtualShelves::GetRecentShelves which returns a list of the most recently modified shelves for
a given set of parameters. This allows the user to be offered active private and open lists to add books
to in drop down menus while also allowing drop down menus to be limited to a reasonable length.
This also limits the shelves stored in the user's session to a fixed number. A further enhancement might
be to add a syspref to enable a staff member to define the limit. Currently it is hardcoded at 10 per
list type (private/public-open).

Adding pagination to list/shelf related screens

Moving refresh shelves code into C4::VirtualShelves::RefreshShelvesSummary and tidying up a bit

Correcting several inconsistancies in the shelves templates as well as handling shelf management on
the intranet side correctly.

Correcting "Add To:" drop-down list to show only lists the patron has permission to add to

Correcting a few C4::VirtualShelves::GetShelvesSummary API calls

Modifications for template consistancy

Breaking up a 1367 char line of javascript in opac-results.tmpl

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-22 15:48:13 -05:00

388 lines
18 KiB
Cheetah

<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
<title>Koha &rsaquo; <!-- TMPL_IF NAME="viewshelf" -->Lists &rsaquo; Contents of <!-- TMPL_VAR NAME="shelfname" --><!-- TMPL_ELSE -->Lists<!-- /TMPL_IF --><!-- TMPL_IF NAME="shelves" --> &rsaquo; Create New List<!-- /TMPL_IF --><!-- TMPL_IF NAME="edit" --> &rsaquo; Edit List <!-- TMPL_VAR name="shelfname"--><!-- /TMPL_IF --></title>
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.checkboxes.pack.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$("#addbarcode").focus();
$("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;
});
});
function confirmDelete(message){
if (window.confirm(message)) {
location.href="/cgi-bin/koha/virtualshelves/shelves.pl?shelves=1&amp;DEL-<!-- TMPL_VAR NAME="shelfnumber" -->=1";
} else {
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;
}
//]]>
</script>
<style type="text/css">
input.confirm {
background:lightblue url(../../img/button-bg.gif) repeat-x scroll left top;
border-width:2pt;
}
</style>
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/virtualshelves/shelves.pl">Lists</a>
<!-- TMPL_IF NAME="viewshelf" -->&rsaquo; Contents of <i><!-- TMPL_VAR NAME="shelfname" --></i><!-- /TMPL_IF --><!-- TMPL_IF NAME="shelves" --> &rsaquo; Create New List<!-- /TMPL_IF --><!-- TMPL_IF NAME="edit" --> &rsaquo; Edit List <i><!-- TMPL_VAR name="shelfname"--></i><!-- /TMPL_IF --></div>
<div id="doc" class="yui-t7">
<div id="bd">
<div id="yui-main">
<div class="yui-g"><!-- TMPL_INCLUDE NAME="virtualshelves-toolbar.inc" -->
</div>
<!-- TMPL_IF NAME="paramsloop" -->
<!-- TMPL_LOOP NAME="paramsloop" -->
<div class="yui-ge">
<div class="yui-u first">
<!-- TMPL_IF NAME="already" --><div class="dialog alert">A List named <!-- TMPL_VAR NAME="already" --> already exists!</div><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="status" --><div class="dialog alert"><!-- TMPL_VAR NAME="string" --></div><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="nobarcode" --><div class="dialog alert">ERROR: No barcode given.</div><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="noshelfnumber" --><div class="dialog alert">ERROR: No shelfnumber given.</div><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="need_confirm" -->
<div class="dialog alert">The list <i><!-- TMPL_VAR NAME="need_confirm" --></i> is not empty.
<br />It has <b><!-- TMPL_VAR NAME="count" --></b> entries.
<br />Use the "Confirm" button below to confirm deletion.
</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="nopermission" -->
<div class="dialog alert">ERROR: You do not have adequate permission for that action on list <!-- TMPL_VAR NAME="nopermission" -->.</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="failgetitem" -->
<div class="dialog alert">ERROR: No item found with barcode <!-- TMPL_VAR NAME="failgetitem" -->.</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="duplicatebiblio" -->
<div class="dialog alert">A record matching barcode <b><!-- TMPL_VAR NAME="duplicatebiblio" --></b> has already been added.</div>
<!-- /TMPL_IF -->
</div>
</div>
<!-- /TMPL_LOOP -->
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="viewshelf" -->
<div class="yui-g">
<!-- TMPL_IF NAME="itemsloop" -->
<form action="/cgi-bin/koha/virtualshelves/shelves.pl" method="post" class="checkboxed">
<input type="hidden" name="viewshelf" value="<!-- TMPL_VAR NAME="shelfnumber" -->" />
<input type="hidden" name="modifyshelfcontents" value="1" />
<fieldset>
<legend>Contents of <i><!-- TMPL_VAR NAME="shelfname" --></i></legend>
<!--TMPL_IF NAME="manageshelf" --><p><span class="checkall"></span><span class="clearall"></span></p><!-- /TMPL_IF -->
<!-- TMPL_VAR name='pagination_bar'-->
<table>
<tr>
<!--TMPL_IF NAME="manageshelf" --><th class="checkall">&nbsp;</th><!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="item-level_itypes" --><th>Item Type</th><!-- /TMPL_UNLESS -->
<th>Title</th>
<th>Author</th>
<th>Date Added</th>
<th>&nbsp;</th>
</tr>
<!-- TMPL_LOOP NAME="itemsloop" -->
<!-- TMPL_IF NAME="toggle" -->
<tr class="highlight">
<!-- TMPL_ELSE -->
<tr>
<!-- /TMPL_IF -->
<!--TMPL_IF NAME="manageshelf" -->
<td>
<!-- TMPL_IF NAME="confirm" -->
<input type="hidden" name="CONFIRM-<!-- TMPL_VAR NAME="confirm" -->" />
<input type="checkbox" name="REM-<!-- TMPL_VAR NAME="biblionumber" -->" checked />
<!-- TMPL_ELSE -->
<input type="checkbox" name="REM-<!-- TMPL_VAR NAME="biblionumber" -->" />
<!-- /TMPL_IF -->
</td>
<!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="item-level_itypes" --><td>
<img src="<!-- TMPL_VAR NAME="imageurl" -->" alt="<!-- TMPL_VAR NAME="description" -->" title="<!-- TMPL_VAR NAME="description" -->" /><!-- TMPL_VAR NAME="description" -->
<!-- /TMPL_UNLESS --></td>
<td>
<!-- TMPL_IF name="BiblioDefaultViewmarc" -->
<a class="title" href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
<!-- TMPL_ELSE -->
<!-- TMPL_IF name="BiblioDefaultViewisbd" -->
<a class="title" href="/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
<!-- TMPL_ELSE -->
<a class="title" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="title" --> <!-- TMPL_VAR NAME="subtitle" --></a>
</td>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><!-- TMPL_VAR NAME="dateadded" --></td>
<td>
<!-- TMPL_UNLESS name="notforloan" -->
<a href="/cgi-bin/koha/reserve/request.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->">Holds</a>
<!-- /TMPL_UNLESS -->
</td>
</tr>
<!-- /TMPL_LOOP --><!-- /itemsloop -->
</table>
</fieldset>
<fieldset class="action">
<!-- TMPL_IF name="manageshelf" -->
<input type="submit" value="Remove selected Items" onclick='return confirm(_("Are you sure you want to remove these items from the shelf?"))' />
<!-- /TMPL_IF -->
</fieldset>
</form>
<!-- /TMPL_IF -->
</div>
<!-- /TMPL_IF --><!-- /viewshelf -->
<!-- TMPL_IF name="manageshelf" -->
<div class="yui-g">
<form action="/cgi-bin/koha/virtualshelves/shelves.pl" method="post">
<fieldset class="brief">
<legend>Add an item to <i><!-- TMPL_VAR NAME="shelfname" --></i></legend>
<ol>
<li>
<label for="addbarcode">Barcode:</label>
<input name="addbarcode" type="text" id="addbarcode" size="14" />
<input type="hidden" name="viewshelf" value="<!-- TMPL_VAR NAME="shelfnumber" -->" />
<input type="hidden" name="modifyshelfcontents" value="1" />
<input type="submit" value="Add" />
</li>
</ol>
</fieldset>
</form>
</div>
<!-- /TMPL_IF --><!-- /manageshelf -->
<!-- TMPL_IF name="debug" -->
<!-- TMPL_IF name="edit" --><div>Edit is on (<!-- TMPL_VAR name="shelfname" -->)</div><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="seflag" --><div>seflag is on (<!-- TMPL_VAR name="seflag" -->)</div><!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="seflag" -->
<div class="yui-ge">
<div class="yui-u first">
<form method="post" action="/cgi-bin/koha/virtualshelves/shelves.pl">
<fieldset class="rows">
<!-- TMPL_IF NAME="shelves" -->
<input type="hidden" name="shelves" value="1" />
<legend>Create a new List</legend>
<ol>
<li><label for="addshelf">Name: </label><input id="addshelf" type="text" name="addshelf" size="25" /></li>
<li><span class="label">Owner: </span><input type="hidden" name="owner" id="owner" value="<!-- TMPL_VAR name="loggedinuser" -->" /><!-- TMPL_VAR name="loggedinusername" --></li>
<li><label for="sortfield" >Sort this list by: </label>
<select name="sortfield">
<!-- TMPL_IF NAME="sort_title" --><option value="title" selected="selected">Title</option><!-- TMPL_ELSE --><option value="title">Title</option><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="sort_author" --><option value="author" selected="selected">Author</option><!-- TMPL_ELSE --><option value="author">Author</option><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="sort_copyrightdate" --><option value="copyrightdate" selected="selected">Copyrightdate</option><!-- TMPL_ELSE --><option value="copyrightdate">Copyrightdate</option><!-- /TMPL_IF -->
</select></li>
<li><label for="category">Category: </label>
<select name="category" id="category">
<option value="1">Private</option>
<option value="2">Public</option>
<option value="3">Open</option>
</select></li></ol>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="edit" -->
<input type="hidden" name="op" value="modifsave" />
<input type="hidden" name="shelfnumber" value="<!-- TMPL_VAR name="shelfnumber" -->" />
<legend>Edit List <i><!-- TMPL_VAR name="shelfname" --></i></legend>
<ol>
<li><label for="shelfname">Name: </label><input type="text" id="shelfname" name="shelfname" size="25" value='<!-- TMPL_VAR name="shelfname" ESCAPE="HTML" -->' /></li>
<li><label for="owner">Owner: </label><input type="hidden" id="owner" name="owner" value="<!-- TMPL_IF NAME="owner" --><!-- TMPL_VAR NAME="ownername" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="loggedinusername" --><!-- /TMPL_IF -->" /><!-- TMPL_IF NAME="owner" --><!-- TMPL_VAR NAME="ownername" --><!-- TMPL_ELSE --><!-- TMPL_VAR NAME="loggedinusername" --><!-- /TMPL_IF --></li>
<li><label for="sortfield" >Sort this list by: </label>
<select name="sortfield">
<!-- TMPL_IF NAME="sort_title" --><option value="title" selected="selected">Title</option><!-- TMPL_ELSE --><option value="title">Title</option><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="sort_author" --><option value="author" selected="selected">Author</option><!-- TMPL_ELSE --><option value="author">Author</option><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="sort_copyrightdate" --><option value="copyrightdate" selected="selected">Copyrightdate</option><!-- TMPL_ELSE --><option value="copyrightdate">Copyrightdate</option><!-- /TMPL_IF -->
</select></li>
<li><label for="category">Category: </label>
<select id="category" name="category">
<!-- TMPL_IF name="category1" -->
<option value="1" selected="selected">Private</option>
<!-- TMPL_ELSE -->
<option value="1">Private</option>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="category2" -->
<option value="2" selected="selected">Public</option>
<!-- TMPL_ELSE -->
<option value="2">Public</option>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="category3" -->
<option value="3" selected="selected">Open</option>
<!-- TMPL_ELSE -->
<option value="3">Open</option>
<!-- /TMPL_IF -->
</select></li></ol>
<!-- /TMPL_IF -->
</fieldset>
<fieldset class="action"><input type="submit" value="Save" /><a href="/cgi-bin/koha/virtualshelves/shelves.pl" class="cancel">Cancel</a></fieldset>
</form>
</div>
<div class="yui-u">
<div class="help"><ul>
<li>A <b>Private</b> List is managed by you and can be seen only by you.</li>
<li> A <b>Public</b> List can be seen by everybody, but managed only by you.</li>
<li> A <b>Open</b> List can be seen and managed by everybody.</li>
</ul></div>
</div>
</div>
<!-- /TMPL_IF --><!-- /seflag -->
<!-- TMPL_UNLESS NAME="vseflag" -->
<h2>Lists</h2>
<ul class="link-tabs">
<!-- TMPL_IF NAME="showprivateshelves" -->
<li id="privateshelves_tab" class="on"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your Lists</a></li>
<!-- TMPL_ELSE -->
<li id="privateshelves_tab" class="off"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=privateshelves">Your Lists</a></li>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="showpublicshelves" -->
<li id="publicshelves_tab" class="on"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public Lists</a></li>
<!-- TMPL_ELSE -->
<li id="publicshelves_tab" class="off"><a href="/cgi-bin/koha/virtualshelves/shelves.pl?display=publicshelves">Public Lists</a></li>
<!-- /TMPL_IF -->
</ul>
<!-- TMPL_IF NAME="showprivateshelves" -->
<div id="privateshelves" class="tab-container" style="display:block;">
<!-- TMPL_ELSE -->
<div id="privateshelves" class="tab-container" style="display:none;">
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="shelveslooppriv" -->
<!-- TMPL_VAR name='pagination_bar'-->
<table>
<tr><th>List Name</th><th>Contents</th><th>Sort by</th><th>Type</th><th>Options</th></tr>
<!-- TMPL_LOOP NAME="shelveslooppriv" -->
<!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!--TMPL_ELSE--><tr><!-- /TMPL_IF -->
<td><a href="shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
<td><!-- TMPL_VAR NAME="count" --> item(s)</td>
<td><!-- TMPL_VAR NAME="sortfield" --></td>
<td><!-- TMPL_IF NAME="viewcategory1" -->Private<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="viewcategory2" -->Public<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="viewcategory3" -->Open<!-- /TMPL_IF -->
</td>
<td>
<!-- TMPL_IF NAME="mine" -->
<form action="shelves.pl" method="get">
<input type="hidden" name="shelfnumber" value="<!-- TMPL_VAR NAME="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="shelves" value="1" />
<input type="hidden" name="DEL-<!-- TMPL_VAR NAME="shelf" -->" value="1" />
<!-- TMPL_IF NAME="confirm" -->
<input type="hidden" name="CONFIRM-<!-- TMPL_VAR NAME="confirm" -->" value="1" />
<input type="submit" class="confirm" value="Confirm" />
<!-- TMPL_ELSE -->
<input type="submit" class="deleteshelf" onclick="return confirmDelete(_('Are you sure you want to remove this List?'));" value="Delete" />
<!-- /TMPL_IF -->
</form>
<!-- TMPL_ELSE -->
None
<!-- /TMPL_IF -->
</td>
</tr>
<!-- /TMPL_LOOP -->
<!-- TMPL_ELSE -->
<tr><td colspan="4">No Private Lists.</td></tr>
<!-- /TMPL_IF --><!-- /shelveslooppriv -->
</table>
<a class="newshelf" href="/cgi-bin/koha/virtualshelves/shelves.pl?shelves=1">New List</a>
</div><!-- /privateshelves -->
<!-- TMPL_IF NAME="showpublicshelves" -->
<div id="publicshelves" class="tab-container" style="display:block;">
<!-- TMPL_ELSE -->
<div id="publicshelves" class="tab-container" style="display:none;">
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="shelvesloop" -->
<!-- TMPL_VAR name='pagination_bar'-->
<table>
<tr><th>List Name</th><th>Contents</th><th>Sort By</th><th>Type</th><th>Options</th></tr>
<!-- TMPL_LOOP NAME="shelvesloop" -->
<!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!--TMPL_ELSE--><tr><!-- /TMPL_IF -->
<td><a href="shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
<td><!-- TMPL_VAR NAME="count" --> item(s)</td>
<td><!-- TMPL_VAR NAME="sortfield" --></td>
<td><!-- TMPL_IF NAME="viewcategory1" -->Private<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="viewcategory2" -->Public<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="viewcategory3" -->Open<!-- /TMPL_IF -->
</td>
<td>
<!-- TMPL_IF NAME="manageshelf" -->
<form action="shelves.pl" method="get">
<input type="hidden" name="shelfnumber" value="<!-- TMPL_VAR NAME="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="shelves" value="1" />
<input type="hidden" name="DEL-<!-- TMPL_VAR NAME="shelf" -->" value="1" />
<!-- TMPL_IF NAME="confirm" -->
<input type="hidden" name="CONFIRM-<!-- TMPL_VAR NAME="confirm" -->" value="1" />
<input type="submit" class="confirm" value="Confirm" />
<!-- TMPL_ELSE -->
<input type="submit" class="deleteshelf" onclick="return confirmDelete(_('Are you sure you want to remove this List?'));" value="Delete" />
<!-- /TMPL_IF -->
</form>
<!-- TMPL_ELSE -->
None
<!-- /TMPL_IF -->
</td>
</tr>
<!-- /TMPL_LOOP -->
</table>
<!-- TMPL_ELSE -->
<!-- TMPL_IF NAME="showpublicshelves" -->No Public Lists.<!-- /TMPL_IF -->
<!-- /TMPL_IF --><!-- /shelvesloop -->
</div><!-- /publicshelves -->
<!-- /TMPL_UNLESS -->
</div>
</div>
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->