Bug 9788: QA followup
[koha_fer] / koha-tmpl / intranet-tmpl / prog / en / modules / catalogue / detail.tt
index 903f1ad..1a81ef7 100644 (file)
@@ -1,4 +1,6 @@
+[% USE KohaDates %]
 [% USE AuthorisedValues %]
+[% USE KohaDates %]
 
 [% ShowCourseReserves = 0 %]
 [% IF UseCourseReserves %]
@@ -22,7 +24,7 @@
     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() {
@@ -62,15 +64,87 @@ function verify_images() {
                         $('#imagenumber-' + this.imagenumber).remove();
                     }
                 });
+            },
+            error: function(data) {
+                alert(_("An error occurred on deleting this image"));
             }
         });
 
     }
 
-    $(document).ready(function() {
+    [% 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').click(function() {
+        $('.thumbnails > li > a > span.remove').click(function() {
             var result = confirm(_("Are you sure you want to delete this cover image?"));
 
             if ( result == true ) {
@@ -88,15 +162,13 @@ function verify_images() {
 //]]>
 </script>
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
+[% 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>
-[% INCLUDE 'datatables-strings.inc' %]
-<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
 <script type="text/javascript">
 //<![CDATA[
     var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
@@ -106,9 +178,21 @@ function verify_images() {
         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');
             }
@@ -158,6 +242,11 @@ function verify_images() {
                 'sDom': 't',
                 'bPaginate': false,
                 'bAutoWidth': false
+                [% IF StaffDetailItemSelection %]
+                ,   "aoColumnDefs": [
+                        { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false }
+                    ]
+                [% END %]
             }));
 
             // Show a link to activate filtering
@@ -167,6 +256,18 @@ function verify_images() {
             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>
@@ -395,15 +496,32 @@ function verify_images() {
     [% END %]
 [% 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>
@@ -426,6 +544,11 @@ function verify_images() {
         <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 %]
@@ -512,7 +635,7 @@ function verify_images() {
                             [% END %]
                             [% item.ExpectedAtLibrary %]
                             [% IF ( item.waitingdate ) %]
-                                since [% item.waitingdate %]
+                                since [% item.waitingdate | $KohaDates %]
                             [% ELSE %]
                                 [% IF ( item.reservedate ) %]
                                     (placed [% item.reservedate %])
@@ -702,6 +825,61 @@ function verify_images() {
 </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>
@@ -728,8 +906,10 @@ function verify_images() {
     [% IF image %]
         <li id="imagenumber-[% image %]">
             <a class="thumbnail" href="/cgi-bin/koha/catalogue/imageviewer.pl?biblionumber=[% biblionumber %]&amp;imagenumber=[% image %]">
-                <img alt="" src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&amp;imagenumber=[% image %]" />
-                <span class="remove">&times;</span>
+                <img alt="remove this image" src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&amp;imagenumber=[% image %]" />
+                [% IF CAN_user_tools_upload_local_cover_images %]
+                  <span class="remove" title="remove this image">Delete image</span>
+                [% END %]
             </a>
         </li>
     [% END %]