Bug 16415 - Layout problem on staff client detail page if local cover images are...
[koha_ffzg] / koha-tmpl / intranet-tmpl / prog / en / modules / catalogue / detail.tt
index 539c4f1..d79398e 100644 (file)
@@ -1,7 +1,7 @@
 [% USE Koha %]
 [% USE KohaDates %]
 [% USE AuthorisedValues %]
-[% USE KohaDates %]
+[% USE Branches %]
 
 [% ShowCourseReserves = 0 %]
 [% IF UseCourseReserves %]
 //<![CDATA[
 // http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
 function verify_images() {
-    $("#bookcoverimg img").each(function(i){
-           if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0)) {
-            w = this.width;
-            h = this.height;
-            if ((w == 1) || (h == 1)) {
-                $("#bookcoverimg").remove();
-                $(".yui-gb").attr("class","yui-g");
-            } else if ((this.complete != null) && (!this.complete)) {
-                $("#bookcoverimg").remove();
-                $(".yui-gb").attr("class","yui-g");
+    $("#bookcoverimg").each(function(i){
+        $(this).find('img').each(function(i){
+           if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0) || (this.src.indexOf('images-na.ssl-images-amazon.com'))) {
+                w = this.width;
+                h = this.height;
+                if ((w == 1) || (h == 1)) {
+                    $("#amazon-bookcoverimg").remove();
+                    $(".yui-gb").attr("class","yui-g");
+                } else if ((this.complete != null) && (!this.complete)) {
+                    $("#amazon-bookcoverimg").remove();
+                    $(".yui-gb").attr("class","yui-g");
+                }
             }
-        }
         });
+        if( $(this).find('img').length < 1 ) $(this).remove();
+    });
        $("#editions img").each(function(i){
-           if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0)) {
+           if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0) || (this.src.indexOf('images-na.ssl-images-amazon.com'))) {
             w = this.width;
             h = this.height;
             if ((w == 1) || (h == 1)) {
-                               this.src = 'http://g-images.amazon.com/images/G/01/x-site/icons/no-img-sm.gif';
+                          this.src = 'https://images-na.ssl-images-amazon.com/images/G/01/x-site/icons/no-img-sm.gif';
             } else if ((this.complete != null) && (!this.complete)) {
-                               this.src = 'http://g-images.amazon.com/images/G/01/x-site/icons/no-img-sm.gif';
+                             this.src = 'https://images-na.ssl-images-amazon.com/images/G/01/x-site/icons/no-img-sm.gif';
             }
         }
         });
@@ -64,6 +67,9 @@ function verify_images() {
                     if ( this.deleted == 1 ) {
                         $('#imagenumber-' + this.imagenumber).remove();
                     }
+                    if ( $('ul.thumbnails > li').length == 0 ) {
+                        showNoImageMessage();
+                    }
                 });
             },
             error: function(data) {
@@ -73,16 +79,21 @@ function verify_images() {
 
     }
 
-    [% IF StaffDetailItemSelection %]
-        function selectAllItems(div) {
-            $("input[name='itemnumber'][type='checkbox']", div).attr('checked', 'checked');
-            itemSelectionBuildActionLinks(div);
-        }
+    function showNoImageMessage() {
 
-        function clearAllItems(div) {
-            $("input[name='itemnumber'][type='checkbox']", div).removeAttr('checked');
-            itemSelectionBuildActionLinks(div);
-        }
+        var no_images_msg = _("No images have been uploaded for this bibliographic record yet.");
+        no_images_msg = '<p>' + no_images_msg + '</p>';
+    [% IF ( CAN_user_tools_upload_local_cover_images ) %]
+        var please_upload = _("Please select the image file to upload. %sUpload%s").format(
+            "<a class='btn' href='/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&amp;filetype=image'>",
+            "</a>");
+        no_images_msg += "<p id='upload_image'>" + please_upload + '</p>';
+    [% END %]
+
+        $('#images').html(no_images_msg);
+    }
+
+    [% IF StaffDetailItemSelection %]
 
         function itemSelectionBuildDeleteLink(div) {
             var itemnumbers = new Array();
@@ -94,9 +105,7 @@ function verify_images() {
                   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
@@ -112,15 +121,14 @@ function verify_images() {
                   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) {
+        function itemSelectionBuildActionLinks(tab) {
+            var div = $("#" + tab);
           var delete_link_ok = itemSelectionBuildDeleteLink(div);
           var modify_link_ok = itemSelectionBuildModifyLink(div);
           if (modify_link_ok || delete_link_ok) {
@@ -131,18 +139,35 @@ function verify_images() {
         }
 
         $(document).ready(function() {
+
           $('table.items_table').each(function() {
-            var div = $(this).parent().parent();
+            var div = $(this).parent().attr("id");
             itemSelectionBuildActionLinks(div);
           });
+
           $("input[name='itemnumber'][type='checkbox']").change(function() {
-            var div = $(this).parents('table').parent().parent();
+            var div = $(this).parents('table').parent().parent().attr("id");
             itemSelectionBuildActionLinks(div);
           });
+
+            $(".SelectAll").on("click",function(e){
+                e.preventDefault();
+                var tab = $(this).data("tab");
+                $("input[name='itemnumber'][type='checkbox']", $("#"+tab)).prop('checked', true);
+                itemSelectionBuildActionLinks(tab);
+            });
+
+            $(".ClearAll").on("click",function(e){
+                e.preventDefault();
+                var tab = $(this).data("tab");
+                $("input[name='itemnumber'][type='checkbox']", $("#"+tab)).prop('checked', false);
+                itemSelectionBuildActionLinks(tab);
+            });
+
         });
     [% END %]
 
-     $(document).ready(function() {
+    $(document).ready(function() {
         $('#bibliodetails').tabs();
         $('#search-form').focus();
         $('.thumbnails > li > a > span.remove').click(function() {
@@ -155,14 +180,30 @@ function verify_images() {
 
             return false;
         });
+    [%# inject no images message %]
+    [% IF ( LocalCoverImages && ! localimages.0 ) %]
+        showNoImageMessage();
+    [% END %]
+    [% IF LocalCoverImages %]
+        KOHA.LocalCover.GetCoverFromBibnumber(true);
+    [% END %]
+        $("body").on("click",".previewMARC", function(e){
+            e.preventDefault();
+            var page = $(this).attr("href");
+            $("#marcPreview .modal-body").load(page + " table");
+            $('#marcPreview').modal({show:true});
+        });
+        $("#marcPreview").on("hidden", function(){
+            $("#marcPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/loading-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
+        });
     });
 
-     [% IF ( AmazonCoverImages ) %]$(window).load(function() {
+     [% IF ( AmazonCoverImages || LocalCoverImages ) %]$(window).load(function() {
         verify_images();
      });[% END %]
 //]]>
 </script>
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
 [% INCLUDE 'datatables.inc' %]
 <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
 [% INCLUDE 'browser-strings.inc' %]
@@ -176,24 +217,23 @@ function verify_images() {
     browser.show();
 
     function activate_filters(id) {
-        table = $("#" + id + " table");
+        var 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');
+                    if(this.className === "NoSort"){
+                        aoColumns.push(null);
+                    } else {
+                        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');
             }
@@ -201,7 +241,7 @@ function verify_images() {
         }
 
         $('#' + id + '_activate_filters')
-            .text(_("Deactivate filters"))
+            .html('<i class="fa fa-filter"></i> ' + _("Deactivate filters") )
             .unbind('click')
             .click(function() {
                 deactivate_filters(id);
@@ -219,7 +259,7 @@ function verify_images() {
         filters_row.hide();
 
         $('#' + id + '_activate_filters')
-            .text(_("Activate filters"))
+            .html('<i class="fa fa-filter"></i> ' + _("Activate filters") )
             .unbind('click')
             .click(function() {
                 activate_filters(id);
@@ -231,30 +271,29 @@ function verify_images() {
         var ids = ['holdings', 'otherholdings'];
         for (var i in ids) {
             var id = ids[i];
-            table = $('#' + id + ' table');
+            var table = $('#' + id + ' table');
 
             // Duplicate the table header row for columnFilter
             thead_row = table.find('thead tr');
             clone = thead_row.clone().addClass('filters_row');
+            clone.find("th.NoSort").html('');
             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 %]
+                'bAutoWidth': false,
+                "aoColumnDefs": [
+                    { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] }
+                ]
             }));
 
             // Show a link to activate filtering
             link = $('<a>')
                 .attr('href', '#')
                 .attr('id', id + '_activate_filters');
-            table.before(link);
+            $("." + id + "_table_controls").prepend(link);
             deactivate_filters(id);
         }
         [% IF Koha.Preference('AcquisitionDetails') %]
@@ -262,9 +301,9 @@ function verify_images() {
                 'sDom': 't',
                 'bPaginate': false,
                 'bAutoWidth': false,
-                "aaSorting": [[ 3, "desc" ]],
+                "aaSorting": [[ 4, "desc" ]],
                 "aoColumnDefs": [
-                    { "aTargets": [ 3, 4 ], "sType": "title-string" }
+                    { "aTargets": "title-string", "sType": "title-string" }
                 ]
             }));
 
@@ -302,7 +341,7 @@ function verify_images() {
         <span class="Z3988" title="[% ocoins %]"></span>
     [% END %]
 
-    [% IF ( AmazonCoverImages ) %]
+    [% IF ( AmazonCoverImages  || LocalCoverImages ) %]
         [% IF ( XSLTDetailsDisplay ) %]
             <div class="yui-gc">
             <div id="catalogue_detail_biblio" class="yui-u first">
@@ -323,10 +362,10 @@ function verify_images() {
     [% IF ( XSLTDetailsDisplay ) %]
         [% XSLTBloc %]
 
-        [% IF ( GetShelves ) %]
+        [% IF shelves.count %]
             <span class="results_summary"><span class="label">Lists that include this title: </span>
-            [% FOREACH GetShelve IN GetShelves %]
-                <a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% GetShelve.shelfnumber %]">[% GetShelve.shelfname %]</a>
+            [% FOREACH s IN shelves %]
+                <a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber %]">[% s.shelfname %]</a>
                 [% IF ( loop.last ) %][% ELSE %]|[% END %]
             [% END %]
             </span>
@@ -343,18 +382,27 @@ function verify_images() {
                     [% END %]
                     </span>
         [% END %]
-        <span id="catalogue_detail_marc_preview" class="results_summary"><span class="label">MARC Preview:</span> <a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Show</a></span>
-        [% IF ( holdcount ) %]<span class="results_summary"><span class="label">Holds:</span> <span class="holdcount"><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]">[% holdcount %]</a></span></span>[% ELSE %][% END %]
+        <span id="catalogue_detail_marc_preview" class="results_summary"><span class="label">MARC Preview:</span> <a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% biblionumber %]&amp;viewas=html" title="MARC" class="previewMARC">Show</a></span>
 
-        [% IF ( AmazonCoverImages ) %]</div><div class="yui-u" id="bookcoverimg">
-        <a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="" /></a>[% END %]
+        [% IF ( AmazonCoverImages  || LocalCoverImages ) %]
+        </div><div class="yui-u" id="bookcoverimg">
+        [% IF ( LocalCoverImages ) %]
+            <div title="[% biblionumber |url %]" class="[% biblionumber %]" id="local-thumbnail-preview"></div>
+        [% END %]
+        [% IF ( AmazonCoverImages ) %]
+            <div id="amazon-bookcoverimg">
+            <a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link">
+                <img src="https://images-na.ssl-images-amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="" />
+        </a></div>
+        [% END %]
+        [% END %]
     [% ELSE %]
 
     <h3>[% title |html %]</h3>
     [% FOREACH subtitl IN subtitle %]
        <h4>[% subtitl.subfield %]</h4>
     [% END %]
-            [% UNLESS ( item_level_itypes ) %]<img src="[% imageurl %]" alt="[% description %]" title="[% description %]">[% END %]
+            [% UNLESS ( item_level_itypes ) %]<img src="[% imageurl %]" alt="[% translated_description %]" title="[% translated_description %]">[% END %]
             [% IF ( unititle ) %]<p>[% unititle |html %]</p>[% END %]
             [% IF ( author ) %]<p>By <a href="/cgi-bin/koha/catalogue/search.pl?q=au:[% author |url %]">[% author %]</a></p>[% END %]
         <ul>
@@ -397,12 +445,12 @@ function verify_images() {
             [% END %]</ul>
 </li>
     [% END %]
-    
-    [% IF ( OpacUrl ) %]
+
+    [% IF ( OPACBaseURL ) %]
         <li><strong>OPAC view:</strong>
-       <a href="http://[% OpacUrl %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber %]" target="_blank">Open in new window</a>
-               </li>
-       [% END %]
+        <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber %]" target="_blank">Open in new window</a>
+        </li>
+    [% END %]
         <li id="catalogue_detail_marc_preview">
             <strong>MARC Preview:</strong>
             <a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Show</a>
@@ -410,13 +458,25 @@ function verify_images() {
         </ul>
         </div>
        
-[% IF ( AmazonCoverImages ) %]<div class="yui-u" id="bookcoverimg">
-<a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="" /></a></div>[% END %]
+    [% IF ( AmazonCoverImages  || LocalCoverImages ) %]
+        <div class="yui-u" id="bookcoverimg">
+        [% IF ( LocalCoverImages ) %]
+            <div title="[% biblionumber |url %]" class="[% biblionumber %]" id="local-thumbnail-preview"></div>
+        [% END %]
+        [% IF ( AmazonCoverImages ) %]
+            <div id="amazon-bookcoverimg">
+            <a href="http://www.amazon[% AmazonTld %]/gp/reader/[% normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link">
+            <img src="https://images-na.ssl-images-amazon.com/images/P/[% normalized_isbn %].01.MZZZZZZZ.jpg" alt="" />
+            </a>
+        </div>
+        [% END %]
+        </div>
+    [% END %]
         
         <div class="yui-u" style="margin-top: 1em;">
         <ul>
         [% IF ( MARCISBNS ) %]
-            <li><strong>ISBN:</strong><ul>[% FOREACH MARCISBN IN MARCISBNS %]<li>[% MARCISBN.marcisbn %]</li>[% END %]</ul></li>
+            <li><strong>ISBN:</strong><ul>[% FOREACH MARCISBN IN MARCISBNS %]<li>[% MARCISBN %]</li>[% END %]</ul></li>
         [% ELSE %]
             [% IF ( normalized_isbn ) %]
                 <li><strong>ISBN:</strong> [% normalized_isbn %]</li>
@@ -457,14 +517,14 @@ function verify_images() {
             </li>
         [% END %]
         <!--This grabs all of the lists a bib record appears in -->
-        [% IF ( GetShelves ) %]
-               <li><strong>Lists that include this title: </strong>
-               <ul>
-               [% FOREACH GetShelve IN GetShelves %]
-                       <li><a href="/cgi-bin/koha/virtualshelves/shelves.pl?viewshelf=[% GetShelve.shelfnumber %]">[% GetShelve.shelfname %]</a></li>
-               [% END %]
-               </ul>
-               </li>
+        [% IF shelves %]
+            <li><strong>Lists that include this title: </strong>
+            <ul>
+            [% FOREACH s IN shelves %]
+                <li><a href="/cgi-bin/koha/virtualshelves/shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber %]">[% s.shelfname %]</a></li>
+            [% END %]
+            </ul>
+            </li>
         [% END %]
         [% IF ( TagsEnabled &&  TagsShowOnDetail &&  TagLoop ) %]
                 <li><strong>Tags:</strong>
@@ -506,23 +566,25 @@ function verify_images() {
 [% items_table_block_iter = 0 %]
 [% BLOCK items_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 %]
+    <div class="[% tab %]_table_controls">
+        [% IF (StaffDetailItemSelection) %]
+            | <a href="#" class="SelectAll" data-tab="[% tab %]"><i class="fa fa-check"></i> Select all</a> |
+            <a href="#" class="ClearAll" data-tab="[% tab %]"><i class="fa fa-remove"></i> Clear all</a>
+            <span class="itemselection_actions">
+              | Actions:
+              [% IF CAN_user_tools_items_batchdel %]
+                <a class="itemselection_action_delete"><i class="fa fa-trash"></i> Delete selected items</a>
+              [% END %]
+              [% IF CAN_user_tools_items_batchmod %]
+                <a class="itemselection_action_modify"><i class="fa fa-pencil"></i> Modify selected items</a>
+              [% END %]
+            </span>
+        [% END %]
+    </div>
     <table class="items_table">
         <thead>
             <tr>
-                [% IF (StaffDetailItemSelection) %]<th></th>[% END %]
+                [% IF (StaffDetailItemSelection) %]<th class="NoSort"></th>[% END %]
                 [% IF ( item_level_itypes ) %]<th>Item type</th>[% END %]
                 <th>Current location</th>
                 <th>Home library</th>
@@ -533,13 +595,16 @@ function verify_images() {
                 <th>Barcode</th>
                 [% IF ( volinfo ) %]<th>Publication details</th>[% END %]
                 [% IF ( itemdata_uri ) %]<th>url</th>[% END %]
-                [% IF ( itemdata_copynumber ) %]<th>Copy no.</th>[% END %]
+                [% IF ( itemdata_copynumber ) %]<th>Copy number</th>[% END %]
+                [% IF ( itemdata_stocknumber ) %]<th>Inventory number</th>[% END %]
                 [% IF materials %]<th>Materials specified</th>[% END %]
                 [% IF ( itemdata_itemnotes ) %]<th>Public notes</th>[% END %]
+                [% IF ( itemdata_nonpublicnotes ) %]<th>Non-public notes</th>[% END %]
                 [% 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 %]
+                [% IF ( CAN_user_editcatalogue_edit_items ) %]<th class="NoSort">&nbsp;</th>[% END %]
             </tr>
         </thead>
         <tbody>
@@ -553,21 +618,29 @@ function verify_images() {
                     [% IF ( item_level_itypes ) %]
                         <td class="itype">
                             [% IF !noItemTypeImages && item.imageurl %]
-                                <img src="[% item.imageurl %]" alt="[% item.description %]" title="[% item.description %]" />
+                                <img src="[% item.imageurl %]" alt="[% item.translated_description %]" title="[% item.translated_description %]" />
                             [% END %]
-                            [% item.description %]
+                            [% item.translated_description %]
                         </td>
                     [% END %]
                     <td class="location">[% UNLESS ( singlebranchmode ) %][% item.branchname %] [% END %]</td>
-                    <td class="homebranch">[% item.homebranch %]<span class="shelvingloc">[% item.location %]</span> </td>
+                    <td class="homebranch">[% Branches.GetName(item.homebranch) %]<span class="shelvingloc">[% item.location %]</span> </td>
                     [% IF ( itemdata_ccode ) %]<td>[% item.ccode %]</td>[% END %]
                     <td class="itemcallnumber">[% IF ( item.itemcallnumber ) %] [% item.itemcallnumber %][% END %]</td>
                     <td class="status">
 
                         [% IF ( item.datedue ) %]
+                          [% IF item.onsite_checkout %]
+                            <span>Currently in local use
+                          [% ELSE %]
                             <span class="datedue">Checked out
+                          [% END %]
                                 [% UNLESS ( item.NOTSAMEBRANCH ) %]
+                                  [% IF item.onsite_checkout %]
+                                    by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% item.borrowernumber %]">
+                                  [% ELSE %]
                                     to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% item.borrowernumber %]">
+                                  [% END %]
                                         [% IF ( item.hidepatronname ) %]
                                             [% item.cardnumber %]
                                         [% ELSE %]
@@ -578,13 +651,13 @@ function verify_images() {
                                 : due [% item.datedue %]
                             </span>
                         [% ELSIF ( item.transfertwhen ) %]
-                            <span class="intransit">In transit from [% item.transfertfrom %] to [% item.transfertto %] since [% item.transfertwhen %]</span>
+                            <span class="intransit">In transit from [% item.transfertfrom %] to [% item.transfertto %] since [% item.transfertwhen | $KohaDates %]</span>
                         [% END %]
 
                         [% IF ( item.itemlost ) %]
-                            [% IF ( item.itemlostloop ) %]
-                                [% FOREACH itemlostloo IN item.itemlostloop %]
-                                    [% IF ( itemlostloo.selected ) %]
+                            [% IF itemlostloop %]
+                                [% FOREACH itemlostloo IN itemlostloop %]
+                                    [% IF itemlostloo.authorised_value == item.itemlost %]
                                         <span class="lost">[% itemlostloo.lib %]</span>
                                     [% END %]
                                 [% END %]
@@ -598,9 +671,9 @@ function verify_images() {
                         [% END %]
 
                         [% IF ( item.damaged ) %]
-                            [% IF ( item.itemdamagedloop ) %]
-                                [% FOREACH itemdamagedloo IN item.itemdamagedloop %]
-                                    [% IF ( itemdamagedloo.selected ) %]
+                            [% IF itemdamagedloop %]
+                                [% FOREACH itemdamagedloo IN itemdamagedloop %]
+                                    [% IF itemdamagedloo.authorised_value == item.damaged %]
                                         <span class="dmg">[% itemdamagedloo.lib %]</span>
                                     [% END %]
                                 [% END %]
@@ -609,7 +682,7 @@ function verify_images() {
                             [% END %]
                         [% END %]
 
-                        [% IF ( item.itemnotforloan ) %]
+                        [% IF ( item.itemnotforloan || item.notforloan_per_itemtype ) %]
                             Not for loan
                             [% IF ( item.notforloanvalue ) %]
                                 ([% item.notforloanvalue %])
@@ -639,11 +712,20 @@ function verify_images() {
                                 since [% item.waitingdate | $KohaDates %]
                             [% ELSE %]
                                 [% IF ( item.reservedate ) %]
-                                    (placed [% item.reservedate %])
+                                    (placed [% item.reservedate | $KohaDates %])
                                 [% END %]
                             [% END %]
                         [% END %]
-                        [% UNLESS ( item.itemnotforloan or item.onloan or item.itemlost or item.withdrawn or item.damaged or item.transfertwhen or item.reservedate ) %]
+                        [% UNLESS (
+                               item.itemnotforloan
+                            or item.notforloan_per_itemtype
+                            or item.onloan
+                            or item.itemlost
+                            or item.withdrawn
+                            or item.damaged
+                            or item.transfertwhen
+                            or item.reservedate
+                        ) %]
                             Available
                         [% END %]
 
@@ -652,17 +734,25 @@ function verify_images() {
                         [% END %]
 
                     </td>
-                    <td class="datelastseen">[% item.datelastseen %]</td>
+                    <td class="datelastseen">[% item.datelastseen | $KohaDates %]</td>
                     <td><a href="/cgi-bin/koha/catalogue/moredetail.pl?type=[% item.type %]&amp;itemnumber=[% item.itemnumber %]&amp;biblionumber=[% item.biblionumber %]&amp;bi=[% item.biblioitemnumber %]#item[% item.itemnumber %]">[% item.barcode %]</a></td>
                     [% IF ( volinfo ) %]
                         <td class="enumchron">
                             [% IF ( itemdata_enumchron ) %]
-                                [% IF ( item.enumchron ) %]
-                                    [% item.enumchron %]
-                                    [% IF ( item.serialseq ) %] -- [% END %]
+                                [% IF item.enumchron && item.serialseq %]
+                                    <span class="enum">[% item.enumchron %]</span>
+                                    [% IF ( item.serialseq && item.enumchron!=item.serialseq ) %]
+                                        <span class="sep"> -- </span>
+                                        <span class="serialseq">[% item.serialseq %]</span>
+                                    [% END %]
+                                [% ELSIF item.enumchron %]
+                                    <span class="enum">[% item.enumchron %]</span>
+                                [% ELSIF item.serialseq %]
+                                    <span class="serialseq">[% item.serialseq %]</span>
+                                [% END %]
+                                [% IF ( item.publisheddate ) %]
+                                    <span class="pubdate">([% item.publisheddate | $KohaDates %])</span>
                                 [% END %]
-                                [% item.serialseq %]
-                                [% IF ( item.publisheddate ) %] ([% item.publisheddate %])[% END %]
                             [% END %]
                         </td>
                     [% END %]
@@ -672,12 +762,18 @@ function verify_images() {
                     [% IF ( itemdata_copynumber ) %]
                         <td class="copynumber">[% item.copynumber %]</td>
                     [% END %]
+                    [% IF ( itemdata_stocknumber ) %]
+                        <td class="stocknumber">[% item.stocknumber %]</td>
+                    [% END %]
                     [% IF materials %]
                         <td class="materials"> [% item.materials %] </td>
                     [% END %]
                     [% IF ( itemdata_itemnotes ) %]
                         <td><div class="itemnotes">[% item.itemnotes %]</div></td>
                     [% END %]
+                    [% IF itemdata_nonpublicnotes %]
+                        <td class="nonpublicnote">[% item.itemnotes_nonpublic %]</td>
+                    [% END %]
                     [% IF ( SpineLabelShowPrintOnBibDetails ) %]
                         <td><a href="/cgi-bin/koha/labels/spinelabel-print.pl?barcode=[% item.barcode %]" >Print label</a></td>
                     [% END %]
@@ -713,6 +809,13 @@ function verify_images() {
                        [% END %]
                     </td>
                 [% END %]
+                [% IF CAN_user_editcatalogue_edit_items %]
+                    <td class="actions">
+                        [% UNLESS item.cannot_be_edited %]
+                            <a class="btn btn-mini" href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=[% item.biblionumber %]&itemnumber=[% item.itemnumber %]#edititem"><i class="fa fa-pencil"></i> Edit</a>
+                        [% END %]
+                    </td>
+                [% END %]
                 </tr>
             [% END %]
         </tbody>
@@ -722,7 +825,7 @@ function verify_images() {
 <div id="holdings">
 [% IF ( count ) %]
     [% IF ( showncount ) %]
-        [% PROCESS items_table items=itemloop %]
+        [% PROCESS items_table tab="holdings" items=itemloop %]
         [% END %]
                 [% IF ( hiddencount ) %]
                    <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&amp;showallitems=1">Show all items ([% hiddencount %] hidden)</a>
@@ -749,7 +852,7 @@ function verify_images() {
 [% IF (SeparateHoldings) %]
     <div id="otherholdings">
         [% IF (otheritemloop.size) %]
-            [% PROCESS items_table items=otheritemloop %]
+            [% PROCESS items_table tab="otherholdings" items=otheritemloop %]
         [% ELSE %]
             No other items.
         [% END %]
@@ -763,11 +866,17 @@ function verify_images() {
 
 [% IF ( MARCNOTES ) %]
     [% FOREACH MARCNOTE IN MARCNOTES %]
-    <p>[% MARCNOTE.marcnote FILTER html_line_break %]</p>
+        <p>
+        [% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
+            <a href="[% MARCNOTE.marcnote %]">[% MARCNOTE.marcnote %]</a>
+        [% ELSE %]
+            [% MARCNOTE.marcnote FILTER html_line_break %]
+        [% END %]
+        </p>
     [% END %]
-    [% ELSE %]
+[% ELSE %]
     [% IF ( notes ) %]
-    <p>[% notes %]</p>
+        <p>[% notes %]</p>
     [% END %]
 [% END %]
 </div>
@@ -809,10 +918,10 @@ function verify_images() {
                       [% IF ( latestserial.status2 ) %]Arrived[% END %]
                       [% IF ( latestserial.status3 ) %]Late[% END %]
                       [% IF ( latestserial.status4 ) %]Missing[% END %]
-                      [% IF ( serialslis.status41 ) %]Missing (never received)[% END %]
-                      [% IF ( serialslis.status42 ) %]Missing (sold out)[% END %]
-                      [% IF ( serialslis.status43 ) %]Missing (damaged)[% END %]
-                      [% IF ( serialslis.status44 ) %]Missing (lost)[% END %]
+                      [% IF ( latestserial.status41 ) %]Missing (never received)[% END %]
+                      [% IF ( latestserial.status42 ) %]Missing (sold out)[% END %]
+                      [% IF ( latestserial.status43 ) %]Missing (damaged)[% END %]
+                      [% IF ( latestserial.status44 ) %]Missing (lost)[% END %]
                       [% IF ( latestserial.status5 ) %]Not issued[% END %]
                       [% IF ( latestserial.status6 ) %]Delete[% END %]
                       [% IF ( latestserial.status7 ) %]Claimed[% END %]
@@ -836,11 +945,12 @@ function verify_images() {
     <table id="orders">
       <thead>
         <tr>
+          <th>Vendor</th>
           <th>Basket group</th>
           <th>Basket</th>
           <th>Order number</th>
-          <th>Creation date</th>
-          <th>Receive date</th>
+          <th class="title-string">Creation date</th>
+          <th class="title-string">Receive date</th>
           <th>Status</th>
           <th>Quantity</th>
         </tr>
@@ -849,6 +959,11 @@ function verify_images() {
       [% FOR order IN orders %]
           <tr>
             <td>
+            [% IF (order.id) %]
+                <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]" title="Vendor detail page">[% order.name %]</a>
+            [% END %]
+            </td>
+            <td>
             [% IF (order.basketgroupid) %]
                 [% IF CAN_user_acquisition_group_manage %]
                     <a href="/cgi-bin/koha/acqui/basketgroup.pl?op=add&booksellerid=[% order.id %]&basketgroupid=[% order.basketgroupid %]">[% order.groupname %] ([% order.basketgroupid %])</a>
@@ -874,7 +989,7 @@ function verify_images() {
                 [% CASE 'cancelled' %]Cancelled
               [% END %]
             </td>
-            <td>[% order.quantity %]</th>
+            <td>[% order.quantity %]</td>
           </tr>
       [% END %]
       </tbody>
@@ -888,7 +1003,7 @@ function verify_images() {
 [% IF ( FRBRizeEditions ) %][% IF ( XISBNS ) %]
 <div id="editions"><h4>Editions</h4>
 <table>
-[% FOREACH XISBN IN XISBNS %]<tr>[% IF ( AmazonCoverImages ) %]<td><a href="http://www.amazon.com/gp/reader/[% XISBN.normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img src="http://images.amazon.com/images/P/[% XISBN.normalized_isbn %].01._AA75_PU_PU-5_.jpg" /></a></td>[% END %]
+[% FOREACH XISBN IN XISBNS %]<tr>[% IF ( AmazonCoverImages ) %]<td><a href="http://www.amazon.com/gp/reader/[% XISBN.normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img src="https://images-na.ssl-images-amazon.com/images/P/[% XISBN.normalized_isbn %].01._AA75_PU_PU-5_.jpg" /></a></td>[% END %]
 [% UNLESS ( item_level_itypes ) %]<td>[% IF ( noItemTypeImages ) %][% XISBN.description %][% ELSE %]<img src="[% XISBN.imageurl %]" alt="[% XISBN.description %]" title="[% XISBN.description %]">[% END %]</td>[% END %]
 <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% XISBN.biblionumber %]">[% XISBN.title |html %]</a> by [% XISBN.author %] &copy;[% XISBN.copyrightdate %]
   [% IF ( XISBN.publishercode ) %]
@@ -920,24 +1035,21 @@ function verify_images() {
     [% 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 %]&amp;filetype=image'>upload</a> one.</p>
-[% END %]
+[%# ELSE - No image passed JavaScript takes care %]
 [% END %]
 </div>
 [% END %]
 
 [% IF ( HTML5MediaEnabled ) %]
 <div id="html5media">
-        <p>
-        <[% HTML5MediaParent %] controls preload=none>
           [% FOREACH HTML5MediaSet IN HTML5MediaSets %]
-            <[% HTML5MediaSet.child  %] src="[% HTML5MediaSet.srcblock %]"[% HTML5MediaSet.typeblock %] />
+            <p>
+              <[% HTML5MediaParent %] controls preload=none>
+                <[% HTML5MediaSet.child  %] src="[% HTML5MediaSet.srcblock %]"[% HTML5MediaSet.typeblock %] />
+                [[% HTML5MediaParent %] tag not supported by your browser.]
+              </[% HTML5MediaParent %]>
+            </p>
           [% END %]
-            [[% HTML5MediaParent %] tag not supported by your browser.]
-        </[% HTML5MediaParent %]>
-        </p>
 </div>
 [% END %]
 
@@ -950,7 +1062,7 @@ function verify_images() {
       <th>Save Record</th>   </tr>
     <tr><td> Select download format:    <select name="format">
         <option value="mods">MODS (XML)</option>
-        <option value="dc">Dublin Core (XML)</option>
+        <option data-toggle="modal" data-target="#exportModal_">Dublin Core</option>
         <option value="marcxml">MARCXML</option>
         <option value="marc8">MARC (non-Unicode/MARC-8)</option>
         <option value="utf8">MARC (Unicode/UTF-8)</option>    </select>
@@ -963,7 +1075,18 @@ function verify_images() {
 </form>
 </div>
 
-
+<div id="marcPreview" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="marcPreviewLabel" aria-hidden="true">
+    <div class="modal-header">
+        <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
+        <h3 id="marcPreviewLabel">MARC preview</h3>
+    </div>
+    <div class="modal-body">
+        <div id="loading"> <img src="[% interface %]/[% theme %]/img/loading-small.gif" alt="" /> Loading </div>
+    </div>
+    <div class="modal-footer">
+        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
+    </div>
+</div>
 
 </div>
 </div>
@@ -972,4 +1095,5 @@ function verify_images() {
 </div>
 [% END %]
 </div>
+
 [% INCLUDE 'intranet-bottom.inc' %]