When the patron detail page switched to DataTables no accommodation was
made for metric date formats in sorting.

This patch adds sorting based on data in a span's title attribute, and
thus requires that the patch for Bug 9887 be applied.

To test, view the detail page for a patron who has assorted checkouts,
relatives' checkouts, and holds. Sorting of date columns should be
correct with the dateformat preference set to any value.
---
 .../prog/en/modules/members/moremember.tt          |   20 +++++++++++++-------
 members/moremember.pl                              |    3 +++
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt 
b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
index b3eef3a..8bb96c3 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
@@ -33,12 +33,15 @@ $(document).ready(function() {
         "aoColumnDefs": [
             { "aTargets": [ -1,-2 ], "bSortable": false, "bSearchable": false }
         ],
+        "aoColumns": [
+            { "sType": "title-string" },null,null,{ "sType": "title-string" 
},null,null,null,null,null,null
+        ],
         "bPaginate": false
     }));
     $("#relissuest").dataTable($.extend(true, {}, dataTablesDefaults, {
         "sDom": 't',
-        "aoColumnDefs": [
-            { "aTargets": [ 0,8 ], "bSortable": false, "bSearchable": false }
+        "aoColumns": [
+            { "sType": "title-string" },null,null,{ "sType": "title-string" 
},null,null,null,null,null
         ],
         "bPaginate": false
     }));
@@ -47,6 +50,9 @@ $(document).ready(function() {
         "aoColumnDefs": [
             { "aTargets": [ -1,-2 ], "bSortable": false, "bSearchable": false }
         ],
+        "aoColumns": [
+            { "sType": "title-string" },null,null,null,null,null,null
+        ],
         "bPaginate": false
     }));
     [% IF ( picture ) %]
@@ -468,7 +474,7 @@ function validate1(date) {
           [% ELSE %]
             <td>
           [% END %]
-                [% issueloo.date_due %]
+                <span title="[% issueloo.date_due_sort %]">[% 
issueloo.date_due %]</span>
                 [% IF ( issueloo.itemlost ) %]
                                         <span class="lost">[% 
issueloo.itemlost %]</span>
                     [% END %]
@@ -478,7 +484,7 @@ function validate1(date) {
 </td>
             <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
issueloo.biblionumber %]"><strong>[% issueloo.title |html %]</strong></a>[% IF 
( issueloo.author ) %], by [% issueloo.author %][% END %] [% IF ( 
issueloo.publishercode ) %]; [% issueloo.publishercode %] [% END %] [% IF ( 
issueloo.publicationyear ) %], [% issueloo.publicationyear %][% END %] <a 
href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
issueloo.biblionumber %]&amp;itemnumber=[% issueloo.itemnumber %]#item[% 
issueloo.itemnumber %]">[% issueloo.barcode %]</a></td>
 <td>[% UNLESS ( noItemTypeImages ) %] [% IF ( issueloo.itemtype_image ) %]<img 
src="[% issueloo.itemtype_image %]" alt="" />[% END %][% END %][% 
issueloo.itemtype_description %]</td>
-            <td>[% issueloo.issuedate %]</td>
+            <td><span title="[% issueloo.issuedate_sort %]">[% 
issueloo.issuedate %]</span></td>
             <td>[% issueloo.issuingbranchname %]</td>
             <td>[% issueloo.itemcallnumber %]</td>
             <td>[% issueloo.charge %]</td>
@@ -576,7 +582,7 @@ function validate1(date) {
           [% ELSE %]
             <td>
           [% END %]
-                [% relissueloo.date_due %]
+                <span title="[% relissueloo.date_due_sort %]">[% 
relissueloo.date_due %]</span>
                 [% IF ( relissueloo.itemlost ) %]
                                         <span class="lost">[% 
relissueloo.itemlost %]</span>
                     [% END %]
@@ -586,7 +592,7 @@ function validate1(date) {
 </td>
             <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% 
relissueloo.biblionumber %]"><strong>[% relissueloo.title |html 
%]</strong></a>[% IF relissueloo.author %], by [% relissueloo.author %][% END 
%] [% IF relissueloo.publishercode %]; [% relissueloo.publishercode %] [% END 
%] [% IF relissueloo.publicationyear %], [% relissueloo.publicationyear %][% 
END %] <a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% 
relissueloo.biblionumber %]&amp;itemnumber=[% relissueloo.itemnumber %]#item[% 
relissueloo.itemnumber %]">[% relissueloo.barcode %]</a></td>
 <td>[% UNLESS ( noItemTypeImages ) %] [% IF ( relissueloo.itemtype_image ) 
%]<img src="[% relissueloo.itemtype_image %]" alt="" />[% END %][% END %][% 
relissueloo.itemtype_description %]</td>
-            <td>[% relissueloo.issuedate %]</td>
+            <td><span title="[% relissueloo.issuedate_sort %]">[% 
relissueloo.issuedate %]</span></td>
             <td>[% relissueloo.issuingbranchname %]</td>
         <td>[% relissueloo.itemcallnumber %]</td>
         <td>[% relissueloo.charge %]</td>
@@ -624,7 +630,7 @@ function validate1(date) {
                </tr></thead>
                <tbody>[% FOREACH reservloo IN reservloop %]
                <tr class="[% reservloo.color %]">
-            <td>[% reservloo.reservedate %]</td>
+            <td><span title="[% reservloo.reservedate_sort %]">[% 
reservloo.reservedate %]</span></td>
             <td>
                 <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% 
reservloo.biblionumber %]">[% reservloo.title |html %]</a>[% IF ( 
reservloo.author ) %], by [% reservloo.author %][% END %]
             </td>
diff --git a/members/moremember.pl b/members/moremember.pl
index df6a664..52da918 100755
--- a/members/moremember.pl
+++ b/members/moremember.pl
@@ -274,6 +274,7 @@ if ($borrowernumber) {
         foreach (qw(waiting transfered nottransfered)) {
             $getreserv{$_} = 0;
         }
+        $getreserv{reservedate_sort} = $num_res->{'reservedate'};
         $getreserv{reservedate}  = 
C4::Dates->new($num_res->{'reservedate'},'iso')->output('syspref');
         foreach (qw(biblionumber title author itemcallnumber )) {
             $getreserv{$_} = $getiteminfo->{$_};
@@ -447,7 +448,9 @@ sub build_issue_data {
            $issuedate = $issue->{issuedate}->clone();
         }
 
+        $issue->{date_due_sort} = $issue->{date_due};
         $issue->{date_due}  = output_pref( $issue->{date_due} );
+        $issue->{issuedate_sort} = $issue->{issuedate};
         $issue->{issuedate} = output_pref( $issue->{issuedate} ) if defined 
$issue->{issuedate};
         my $biblionumber = $issue->{biblionumber};
         $issue->{issuingbranchname} = GetBranchName($issue->{branchcode});
-- 
1.7.9.5
_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to