+[% USE KohaDates %]
+[% USE AuthorisedValues %]
+[% USE KohaDates %]
+
+[% ShowCourseReserves = 0 %]
+[% IF UseCourseReserves %]
+ [% FOREACH item IN itemloop %]
+ [% IF item.course_reserves %]
+ [% FOREACH r IN item.course_reserves %]
+ [% IF r.course.enabled == 'yes' %]
+ [% ShowCourseReserves = 1 %]
+ [% END %]
+ [% END %]
+ [% END %]
+ [% END %]
+[% END %]
+
[% INCLUDE 'doc-head-open.inc' %]
[% INCLUDE 'greybox.inc' %]
<title>Koha › Catalog ›
Details for [% title |html %] [% FOREACH subtitl IN subtitle %] [% subtitl.subfield %][% END %]
[% END %]
</title>
-[% INCLUDE 'doc-head-close.inc' %]<script type="text/JavaScript" language="JavaScript">
+[% INCLUDE 'doc-head-close.inc' %]<script type="text/JavaScript">
//<![CDATA[
// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
function verify_images() {
}
});
}
+
+ function removeLocalImage(imagenumber) {
+
+ $.ajax({
+ url: "/cgi-bin/koha/svc/cover_images?action=delete&biblionumber=" + [% biblionumber %] + "&imagenumber=" + imagenumber,
+ success: function(data) {
+ $(data).each( function(i) {
+ if ( this.deleted == 1 ) {
+ $('#imagenumber-' + this.imagenumber).remove();
+ }
+ });
+ },
+ error: function(data) {
+ alert(_("An error occurred on deleting this image"));
+ }
+ });
+
+ }
+
+ [% IF StaffDetailItemSelection %]
+ function selectAllItems(div) {
+ $("input[name='itemnumber'][type='checkbox']", div).attr('checked', 'checked');
+ itemSelectionBuildActionLinks(div);
+ }
+
+ function clearAllItems(div) {
+ $("input[name='itemnumber'][type='checkbox']", div).removeAttr('checked');
+ itemSelectionBuildActionLinks(div);
+ }
+
+ function itemSelectionBuildDeleteLink(div) {
+ var itemnumbers = new Array();
+ $("input[name='itemnumber'][type='checkbox']:checked", div).each(function() {
+ itemnumbers.push($(this).val());
+ });
+ if (itemnumbers.length > 0) {
+ var url = '/cgi-bin/koha/tools/batchMod.pl?op=show&del=1';
+ url += '&itemnumber=' + itemnumbers.join('&itemnumber=');
+ url += '&src=' + '[% "/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber" |uri %]';
+ $('a.itemselection_action_delete').attr('href', url);
+ $('a.itemselection_action_delete').show();
+ } else {
+ $('a.itemselection_action_delete').hide();
+ return false;
+ }
+ return true
+ }
+
+ function itemSelectionBuildModifyLink(div) {
+ var itemnumbers = new Array();
+ $("input[name='itemnumber'][type='checkbox']:checked", div).each(function() {
+ itemnumbers.push($(this).val());
+ });
+ if (itemnumbers.length > 0) {
+ var url = '/cgi-bin/koha/tools/batchMod.pl?op=show';
+ url += '&itemnumber=' + itemnumbers.join('&itemnumber=');
+ url += '&src=' + '[% "/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber" |uri %]';
+ $('a.itemselection_action_modify').attr('href', url);
+ $('a.itemselection_action_modify').show();
+ } else {
+ $('a.itemselection_action_modify').hide();
+ return false;
+ }
+ return true;
+ }
+
+ function itemSelectionBuildActionLinks(div) {
+ var delete_link_ok = itemSelectionBuildDeleteLink(div);
+ var modify_link_ok = itemSelectionBuildModifyLink(div);
+ if (modify_link_ok || delete_link_ok) {
+ $('.itemselection_actions', div).show();
+ } else {
+ $('.itemselection_actions', div).hide();
+ }
+ }
+
+ $(document).ready(function() {
+ $('table.items_table').each(function() {
+ var div = $(this).parent().parent();
+ itemSelectionBuildActionLinks(div);
+ });
+ $("input[name='itemnumber'][type='checkbox']").change(function() {
+ var div = $(this).parents('table').parent().parent();
+ itemSelectionBuildActionLinks(div);
+ });
+ });
+ [% END %]
+
$(document).ready(function() {
$('#bibliodetails').tabs();
$('#search-form').focus();
- });
+ $('.thumbnails > li > a > span.remove').click(function() {
+ var result = confirm(_("Are you sure you want to delete this cover image?"));
+
+ if ( result == true ) {
+ var imagenumber = $(this).parent().parent().attr('id').split('-')[1];
+ removeLocalImage(imagenumber);
+ }
+
+ return false;
+ });
+ });
+
[% IF ( AmazonCoverImages ) %]$(window).load(function() {
verify_images();
});[% END %]
//]]>
</script>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+[% INCLUDE 'datatables.inc' %]
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
+[% INCLUDE 'browser-strings.inc' %]
+<!--[if lt IE 9]>
+<script type="text/javascript" src="[% interface %]/lib/shims/json2.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="[% interface %]/js/browser.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+ var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
+ browser.show();
+
+ function activate_filters(id) {
+ table = $("#" + id + " table");
+ if (table.length == 1) {
+ filters_row = table.find('thead tr.filters_row');
+
+ [% IF StaffDetailItemSelection %]
+ var aoColumns = [];
+ filters_row.find('th').each(function() {
+ aoColumns.push('text');
+ });
+ aoColumns[0] = null;
+ [% END %]
+
+ if (table.find('thead tr.columnFilter').length == 0) {
+ table.dataTable().columnFilter({
+ 'sPlaceHolder': 'head:after'
+ [% IF StaffDetailItemSelection %]
+ , 'aoColumns': aoColumns
+ [% END %]
+ });
+ filters_row.addClass('columnFilter');
+ }
+ filters_row.show();
+ }
+
+ $('#' + id + '_activate_filters')
+ .text(_("Deactivate filters"))
+ .unbind('click')
+ .click(function() {
+ deactivate_filters(id);
+ return false;
+ });
+ }
+
+ function deactivate_filters(id) {
+ filters_row = $("#" + id + " table").find('thead tr.filters_row');
+
+ filters_row.find('input[type="text"]')
+ .val('') // Empty filter text boxes
+ .trigger('keyup') // Filter (display all rows)
+ .trigger('blur'); // Reset value to the column name
+ filters_row.hide();
+
+ $('#' + id + '_activate_filters')
+ .text(_("Activate filters"))
+ .unbind('click')
+ .click(function() {
+ activate_filters(id);
+ return false;
+ });
+ }
+
+ $(document).ready(function() {
+ var ids = ['holdings', 'otherholdings'];
+ for (var i in ids) {
+ var id = ids[i];
+ table = $('#' + id + ' table');
+
+ // Duplicate the table header row for columnFilter
+ thead_row = table.find('thead tr');
+ clone = thead_row.clone().addClass('filters_row');
+ thead_row.before(clone);
+
+ // Enable sorting
+ table.dataTable($.extend(true, {}, dataTablesDefaults, {
+ 'sDom': 't',
+ 'bPaginate': false,
+ 'bAutoWidth': false
+ [% IF StaffDetailItemSelection %]
+ , "aoColumnDefs": [
+ { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false }
+ ]
+ [% END %]
+ }));
+
+ // Show a link to activate filtering
+ link = $('<a>')
+ .attr('href', '#')
+ .attr('id', id + '_activate_filters');
+ table.before(link);
+ deactivate_filters(id);
+ }
+ [% IF AcquisitionDetails %]
+ $("#orders").dataTable($.extend(true, {}, dataTablesDefaults, {
+ 'sDom': 't',
+ 'bPaginate': false,
+ 'bAutoWidth': false,
+ "aaSorting": [[ 2, "desc" ]],
+ "aoColumnDefs": [
+ { "aTargets": [ 2, 3 ], "sType": "title-string" }
+ ]
+ }));
+
+ [% END %]
+ });
+//]]>
+</script>
</head>
<body id="catalog_detail" class="catalog">
[% ELSE %]
<li><a href="#holdings">Holdings</a></li>
[% END %]
-<li><a href="#description">Descriptions</a></li>
+[% IF ( MARCNOTES || notes ) %]<li><a href="#description">Descriptions</a></li>[% END %]
[% IF ( subscriptionsnumber ) %]<li><a href="#subscriptions">Subscriptions</a></li>[% END %]
+[% IF AcquisitionDetails %]<li><a href="#acq_details">Acquisition details</a></li>[% END %]
[% IF ( FRBRizeEditions ) %][% IF ( XISBNS ) %]<li><a href="#editions">Editions</a></li>[% END %][% END %]
[% IF ( LocalCoverImages ) %][% IF ( localimages || CAN_user_tools_upload_local_cover_images ) %]<li><a href="#images">Images</a></li>[% END %][% END %]
[% IF ( HTML5MediaEnabled ) %][% IF ( HTML5MediaSets ) %]<li><a href="#html5media">Play media</a></li>[% END %][% END %]
</ul>
+[% items_table_block_iter = 0 %]
[% BLOCK items_table %]
- <table>
+ [% items_table_block_iter = items_table_block_iter + 1 %]
+ [% IF (StaffDetailItemSelection) %]
+ <a href="#" onclick="selectAllItems($(this).parent()); return false;">Select all</a> |
+ <a href="#" onclick="clearAllItems($(this).parent()); return false;">Clear all</a>
+ <span class="itemselection_actions">
+ | Actions:
+ [% IF CAN_user_tools_items_batchdel %]
+ <a class="itemselection_action_delete">Delete selected items</a>
+ [% END %]
+ [% IF CAN_user_tools_items_batchmod %]
+ <a class="itemselection_action_modify">Modify selected items</a>
+ [% END %]
+ </span>
+ [% END %]
+ <table class="items_table">
<thead>
<tr>
+ [% IF (StaffDetailItemSelection) %]<th></th>[% END %]
[% IF ( item_level_itypes ) %]<th>Item type</th>[% END %]
<th>Current location</th>
- <th>Home Library</th>
+ <th>Home library</th>
[% IF ( itemdata_ccode ) %]<th>Collection</th>[% END %]
<th>Call number</th>
<th>Status</th>
[% IF ( SpineLabelShowPrintOnBibDetails ) %]<th>Spine label</th>[% END %]
[% IF ( hostrecords ) %]<th>Host records</th>[% END %]
[% IF ( analyze ) %]<th>Used in</th><th></th>[% END %]
+ [% IF ( ShowCourseReserves ) %]<th>Course Reserves</th>[% END %]
</tr>
</thead>
<tbody>
[% FOREACH item IN items %]
<tr>
+ [% IF (StaffDetailItemSelection) %]
+ <td style="text-align:center;vertical-align:middle">
+ <input type="checkbox" value="[% item.itemnumber %]" name="itemnumber" />
+ </td>
+ [% END %]
[% IF ( item_level_itypes ) %]
<td class="itype">
[% IF !noItemTypeImages && item.imageurl %]
: due [% item.datedue %]
</span>
[% ELSIF ( item.transfertwhen ) %]
- In transit from [% item.transfertfrom %],
- to [% item.transfertto %], since [% item.transfertwhen %]
- <!-- FIXME: the "since" clause is redundant w/ lastseen field -->
+ <span class="intransit">In transit from [% item.transfertfrom %] to [% item.transfertto %] since [% item.transfertwhen %]</span>
[% END %]
[% IF ( item.itemlost ) %]
[% END %]
[% END %]
- [% IF ( item.wthdrawn ) %]
+ [% IF ( item.withdrawn ) %]
<span class="wdn">Withdrawn</span>
[% END %]
[% END %]
[% item.ExpectedAtLibrary %]
[% IF ( item.waitingdate ) %]
- since [% item.waitingdate %]
+ since [% item.waitingdate | $KohaDates %]
[% ELSE %]
[% IF ( item.reservedate ) %]
(placed [% item.reservedate %])
[% END %]
[% END %]
[% END %]
- [% UNLESS ( item.itemnotforloan or item.onloan or item.itemlost or item.wthdrawn or item.damaged or item.transfertwhen or item.reservedate ) %]
+ [% UNLESS ( item.itemnotforloan or item.onloan or item.itemlost or item.withdrawn or item.damaged or item.transfertwhen or item.reservedate ) %]
Available
[% END %]
<td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?hostbiblionumber=[% item.biblionumber %]&hostitemnumber=[% item.itemnumber %]">Create analytics</a></td>
[% END %]
+ [% IF ShowCourseReserves %]
+ <td>
+ [% IF item.course_reserves %]
+ [% FOREACH r IN item.course_reserves %]
+ [% IF r.course.enabled == 'yes' %]
+ <p>
+ <a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% r.course.course_id %]">
+ [% r.course.course_name %]
+ <!--[% IF r.course.course_number %] [% r.course.course_number %] [% END %]-->
+ [% IF r.course.section %] [% r.course.section %] [% END %]
+ [% IF r.course.term %] [% AuthorisedValues.GetByCode( 'TERM', r.course.term ) %] [% END %]
+ </a>
+ </p>
+ [% END %]
+ [% END %]
+ [% END %]
+ </td>
+ [% END %]
</tr>
[% END %]
</tbody>
[% END %]
</div>
[% END %]
-
+
+[% IF ( MARCNOTES || notes ) %]
+
<div id="description">
<div class="content_set">
</div>
</div>
+[% END %]
+
[% IF ( subscriptionsnumber ) %]
<div id="subscriptions">
<div class="yui-g">
<table>
<tr>
<th>Issue #</th>
- <th>Date</th>
+ <th>Date arrived</th>
+ <th>Date published</th>
<th>Status</th>
<th>Note</th>
</tr>
<tr>
<td>[% latestserial.serialseq %]</td>
<td>[% latestserial.planneddate %]</td>
+ <td>[% latestserial.publisheddate%]</td>
<td>
[% IF ( latestserial.status1 ) %]Expected[% END %]
[% IF ( latestserial.status2 ) %]Arrived[% END %]
</div>
[% END %]
+[% IF AcquisitionDetails %]
+<div id="acq_details">
+ [% IF orders %]
+ <table id="orders">
+ <thead>
+ <tr>
+ <th>Basket</th>
+ <th>Order number</th>
+ <th>Creation date</th>
+ <th>Receive date</th>
+ <th>Status</th>
+ <th>Quantity / items</th>
+ </tr>
+ </thead>
+ <tbody>
+ [% FOR order IN orders %]
+ <tr>
+ <td>[% IF CAN_user_acquisition_order_manage %]
+ <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% order.basketno %]">[% order.basketname %]</a>
+ [% ELSE %]
+ [% order.basketname %]
+ [% END %]</td>
+ <td>[% order.ordernumber %]</td>
+ <td><span title="[% order.creationdate %]">[% order.creationdate | $KohaDates%]</span></td>
+ <td><span title="[% order.datereceived %]">[% order.datereceived | $KohaDates%]</span></td>
+ <td>
+ [% SWITCH order.orderstatus %]
+ [% CASE 'new' %]New
+ [% CASE 'ordered' %]Ordered
+ [% CASE 'partial' %]Partial
+ [% CASE 'complete' %]Complete
+ [% CASE 'cancelled' %]Cancelled
+ [% END %]
+ </td>
+ <td>
+ [% order.quantity %]
+ [% IF order.itemnumbers.size > 0 && order.orderstatus != 'cancelled' %]
+ (
+ [% FOR itemnumber IN order.itemnumbers %]
+ <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% biblionumber %]#item[% itemnumber %]">[% itemnumber %]</a>
+ [%- UNLESS loop.last %],[% END %]
+ [% END %]
+ )
+ [% END %]
+ </th>
+ </tr>
+ [% END %]
+ </tbody>
+ </table>
+ [% ELSE %]
+ There is no order for this biblio.
+ [% END %]
+</div>
+[% END %]
+
[% IF ( FRBRizeEditions ) %][% IF ( XISBNS ) %]
<div id="editions"><h4>Editions</h4>
<table>
[% IF ( LocalCoverImages ) %]
<div id="images">
[% IF ( localimages.0 ) %]
-<p>Click on an image to view it in the image viewer</p>
+ <p>Click on an image to view it in the image viewer</p>
+ <ul class="thumbnails">
[% FOREACH image IN localimages %]
-[% IF image %]
-<a class="localimage" href="/cgi-bin/koha/catalogue/imageviewer.pl?biblionumber=[% biblionumber %]&imagenumber=[% image %]"><img alt="" src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&imagenumber=[% image %]" /></a>
-[% END %]
+ [% IF image %]
+ <li id="imagenumber-[% image %]">
+ <a class="thumbnail" href="/cgi-bin/koha/catalogue/imageviewer.pl?biblionumber=[% biblionumber %]&imagenumber=[% image %]">
+ <img alt="remove this image" src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&imagenumber=[% image %]" />
+ [% IF CAN_user_tools_upload_local_cover_images %]
+ <span class="remove" title="remove this image">Delete image</span>
+ [% END %]
+ </a>
+ </li>
+ [% END %]
[% END %]
+ </ul>
[% ELSE %]
[% IF ( CAN_user_tools_upload_local_cover_images ) %]
-<p>No images have been uploaded for this bibliographic record yet. Please <a href='/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&filetype=image'>upload</a> one.</p>
+ <p>No images have been uploaded for this bibliographic record yet. Please <a href='/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&filetype=image'>upload</a> one.</p>
[% END %]
[% END %]
</div>
[% IF ( HTML5MediaEnabled ) %]
<div id="html5media">
<p>
- <[% HTML5MediaParent %][% HTML5MediaWidth %] controls preload=none>
+ <[% HTML5MediaParent %] controls preload=none>
[% FOREACH HTML5MediaSet IN HTML5MediaSets %]
<[% HTML5MediaSet.child %] src="[% HTML5MediaSet.srcblock %]"[% HTML5MediaSet.typeblock %] />
[% END %]