Bug 25968: Make logs sort by date descending as a default
authorOwen Leonard <oleonard@myacpl.org>
Fri, 10 Jul 2020 13:19:14 +0000 (13:19 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 30 Jul 2020 15:44:27 +0000 (17:44 +0200)
This patch adds DataTables with columns configuration to the log viewer.
The table of log entries is now sorted by default by date descending.

To test, apply the patch and go to Administration -> Table settings.

 - Expand the "Tools" section and confirm that there is a section for
   "logviewer."
 - Go to Tools -> Log viewer.
 - Perform a search which will return multiple results.
 - Confirm that the results are sorted by date descending.
 - Test that the table controls work correctly: Paging, columns, export.
 - Return to the Table settings administration page and test that
   changes to those settings are correctly reflected in the log viewer
   table.

Signed-off-by: barbara <barbara.johnson@bedfordtx.gov>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

JD amended patch: Fix indentation in .yml to match other entries

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

admin/columns_settings.yml
koha-tmpl/intranet-tmpl/prog/en/modules/tools/viewlog.tt
koha-tmpl/intranet-tmpl/prog/js/viewlog.js

index 05308af..1a24b30 100644 (file)
@@ -1361,6 +1361,23 @@ modules:
               columnname: spent
 
   tools:
+    logviewer:
+      logst:
+        columns:
+            -
+              columnname: date
+            -
+              columnname: librarian
+            -
+              columnname: module
+            -
+              columnname: action
+            -
+              columnname: object
+            -
+              columnname: info
+            -
+              columnname: interface
     notices:
       lettert:
         columns:
index 6e46693..6613320 100644 (file)
@@ -4,6 +4,7 @@
 [% USE AuthorisedValues %]
 [% USE Branches %]
 [% USE KohaDates %]
+[% USE TablesSettings %]
 [% SET footerjs = 1 %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>
@@ -222,8 +223,8 @@ fieldset.rows label.viewlog {
                        </form>
                 [% IF ( do_it ) %]
                     [% IF ( total ) %]
-                        <h4>[% total | html %] lines found.</h4>
-                        <table>
+                        <h3>Log entries</h3>
+                        <table id="logst">
                             <thead>
                                 <tr>
                                     <th>Date</th>
@@ -238,7 +239,7 @@ fieldset.rows label.viewlog {
                             <tbody>
                             [% FOREACH loopro IN looprow %]
                                 <tr>
-                                    <td>[% loopro.timestamp | $KohaDates with_hours=1 %]</td>
+                                    <td data-order="[% loopro.timestamp | html %]">[% loopro.timestamp | $KohaDates with_hours=1 %]</td>
                                     <td>
                                         [% IF loopro.librarian %]
                                             <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.librarian.borrowernumber | uri %]" title="display detail for this librarian."> [% IF ( loopro.librarian.firstname ) || ( loopro.librarian.surname ) %][% loopro.librarian.firstname | html %] [% loopro.librarian.surname | html %] ([% loopro.librarian.borrowernumber | html %]) [% ELSE %][% loopro.librarian.borrowernumber | html %][% END %]</a>
@@ -325,11 +326,16 @@ fieldset.rows label.viewlog {
 
 [% MACRO jsinclude BLOCK %]
     [% INCLUDE 'calendar.inc' %]
+    [% INCLUDE 'datatables.inc' %]
+    [% INCLUDE 'columns_settings.inc' %]
     [% Asset.js("js/tools-menu.js") | $raw %]
     [% IF ( circulation ) %]
         [% INCLUDE 'str/members-menu.inc' %]
         [% Asset.js("js/members-menu.js") | $raw %]
     [% END %]
+    <script>
+        var columns_settings = [% TablesSettings.GetColumns('tools', 'logviewer', 'logst', 'json') | $raw %];
+    </script>
     [% Asset.js("js/viewlog.js") | $raw %]
 [% END %]
 
index ca7f5a3..1354c95 100644 (file)
@@ -61,4 +61,10 @@ $(document).ready(function(){
             tickAll('interfaces');
         }
     });
+
+    var logst = KohaTable("logst", {
+        "autoWidth": false,
+        "order": [[0, "desc"]],
+        "pagingType" : "full"
+    }, columns_settings);
 });