Bug 21562: Fix sort by checkout date in the circulation table
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 22 Oct 2018 19:51:25 +0000 (16:51 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Fri, 26 Oct 2018 17:09:51 +0000 (17:09 +0000)
The sort is done in SQL but resort by DataTables when displaying the
results.
iDataSort should be used to mimick date_due sort behavior.

Test plan:
- Check some items out
- Modify the checkout and due dates, like:
    2018-10-22
    2018-01-23
    2018-05-27
- Sort by checkout date, then due date. The sort should be correct for
all values of the DateFormat syspref

Followed test plan, patch works as described and passes QA test tool

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/js/checkouts.js

index b964a9c..c4f1f35 100644 (file)
@@ -310,7 +310,14 @@ $(document).ready(function() {
                         return oObj.homebranch.escapeHtml();
                     }
                 },
-                { "mDataProp": "issuedate_formatted" },
+                {
+                    "mDataProp": "issuedate",
+                    "bVisible": false,
+                },
+                {
+                    "iDataSort": 9, // Sort on hidden unformatted issuedate column
+                    "mDataProp": "issuedate_formatted",
+                },
                 {
                     "mDataProp": function ( oObj ) {
                         return oObj.branchname.escapeHtml();
@@ -562,7 +569,7 @@ $(document).ready(function() {
                         "bVisible": false,
                     },
                     {
-                        "iDataSort": 1, // Sort on hidden unformatted date due column
+                        "iDataSort": 0, // Sort on hidden unformatted date due column
                         "mDataProp": function( oObj ) {
                             var today = new Date();
                             var due = new Date( oObj.date_due );
@@ -646,7 +653,14 @@ $(document).ready(function() {
                             return ( oObj.location ? oObj.location.escapeHtml() : '' );
                         }
                     },
-                    { "mDataProp": "issuedate_formatted" },
+                    {
+                        "mDataProp": "issuedate",
+                        "bVisible": false,
+                    },
+                    {
+                        "iDataSort": 7, // Sort on hidden unformatted issuedate column
+                        "mDataProp": "issuedate_formatted",
+                    },
                     {
                         "mDataProp": function ( oObj ) {
                             return oObj.branchname.escapeHtml();