Bug 9903 - Sort by date broken on patron detail page

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.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Nice improvement.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
(cherry picked from commit 0c76032738)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
Owen Leonard 2013-04-09 08:55:45 -04:00 committed by Jared Camins-Esakov
parent e03e3a1506
commit 005ff0e543
2 changed files with 16 additions and 7 deletions

View File

@ -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>

View File

@ -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});