Bug 9788: QA followup
[koha_fer] / koha-tmpl / intranet-tmpl / prog / en / modules / catalogue / detail.tt
index 7914ee9..1a81ef7 100644 (file)
@@ -1,4 +1,6 @@
+[% USE KohaDates %]
 [% USE AuthorisedValues %]
+[% USE KohaDates %]
 
 [% ShowCourseReserves = 0 %]
 [% IF UseCourseReserves %]
@@ -73,40 +75,70 @@ function verify_images() {
     [% IF StaffDetailItemSelection %]
         function selectAllItems(div) {
             $("input[name='itemnumber'][type='checkbox']", div).attr('checked', 'checked');
+            itemSelectionBuildActionLinks(div);
         }
 
-        function deselectAllItems(div) {
+        function clearAllItems(div) {
             $("input[name='itemnumber'][type='checkbox']", div).removeAttr('checked');
+            itemSelectionBuildActionLinks(div);
         }
 
-        function itemSelectionExecuteAction(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 action = $('select[name="itemselection_action"]', div).val();
-                if (action.length > 0) {
-                    var del = (action == 'delete') ? 1 : 0;
-                    var url = '/cgi-bin/koha/tools/batchMod.pl?op=show';
-                    if (action == 'delete') {
-                        url += '&del=1';
-                    }
-                    url += '&itemnumber=' + itemnumbers.join('&itemnumber=');
-                    url += '&src=' + '[% "/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber" |uri %]';
-                    new_window = $("input[name='new_window']", div).attr('checked');
-                    if (new_window) {
-                        window.open(url);
-                    } else {
-                        window.location.href = url;
-                    }
-                } else {
-                    alert(_("Please choose an action"));
-                }
+                  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 {
-                alert(_("Please select at least one item."));
+                $('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() {
@@ -146,11 +178,20 @@ 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: [ null, 'text', 'text', 'text', 'text', 'text', 'text', 'text' ]
+                    ,   'aoColumns': aoColumns
                     [% END %]
                 });
                 filters_row.addClass('columnFilter');
@@ -215,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>
@@ -443,6 +496,7 @@ 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 %]
@@ -453,24 +507,18 @@ function verify_images() {
     [% 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="deselectAllItems($(this).parent()); return false;">Deselect all</a> |
-        <form onsubmit="itemSelectionExecuteAction($(this).parent()); return false;">
-            <label for="itemselection_action_[% items_table_block_iter %]">Action:</label>
-            <select id="itemselection_action_[% items_table_block_iter %]" name="itemselection_action">
-                <option value=""></option>
-                [% IF CAN_user_tools_items_batchdel %]
-                    <option value="delete">Delete selected items</option>
-                [% END %]
-                [% IF CAN_user_tools_items_batchmod %]
-                    <option value="modify">Modify selected items</option>
-                [% END %]
-            </select>
-            <input type="submit" value="Go" />
-            <input type="checkbox" id="new_window_[% items_table_block_iter %]" name="new_window" />
-            <label for="new_window_[% items_table_block_iter %]">Open in new window</label>
-        </form>
+        <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>
+    <table class="items_table">
         <thead>
             <tr>
                 [% IF (StaffDetailItemSelection) %]<th></th>[% END %]
@@ -587,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 %])
@@ -777,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>