@@ -, +, @@
---
koha-tmpl/intranet-tmpl/prog/en/js/checkouts.js | 3 +-
svc/checkouts.pl | 105 +++++++++++++----------
2 files changed, 61 insertions(+), 47 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/js/checkouts.js
+++ a/koha-tmpl/intranet-tmpl/prog/en/js/checkouts.js
@@ -129,11 +129,10 @@ $(document).ready(function() {
issuesTable = $("#issues-table").dataTable({
"bAutoWidth": false,
"sDom": "<'row-fluid'<'span6'><'span6'>r>t<'row-fluid'>t",
- "aaSorting": [[ 0, "desc" ]],
"aoColumns": [
{
"mDataProp": function( oObj ) {
- if ( $.datepicker.formatDate('yy-mm-dd', new Date(oObj.issuedate) ) == ymd ) {
+ if ( oObj.issued_today ) {
return "" + TODAYS_CHECKOUTS + "";
} else {
return "" + PREVIOUS_CHECKOUTS + "";
--- a/svc/checkouts.pl
+++ a/svc/checkouts.pl
@@ -81,7 +81,9 @@ my $sql = '
borrowernumber,
surname,
firstname,
- cardnumber
+ cardnumber,
+
+ DATEDIFF( issuedate, CURRENT_DATE() ) AS not_issued_today
FROM issues
LEFT JOIN items USING ( itemnumber )
LEFT JOIN biblio USING ( biblionumber )
@@ -107,7 +109,8 @@ $sth->execute(@parameters);
my $item_level_itypes = C4::Context->preference('item-level_itypes');
-my @checkouts;
+my @checkouts_today;
+my @checkouts_previous;
while ( my $c = $sth->fetchrow_hashref() ) {
my ($charge) = GetIssuingCharges( $c->{itemnumber}, $c->{borrowernumber} );
@@ -116,52 +119,64 @@ while ( my $c = $sth->fetchrow_hashref() ) {
my ( $renewals_count, $renewals_allowed, $renewals_remaining ) =
GetRenewCount( $c->{borrowernumber}, $c->{itemnumber} );
- push(
- @checkouts,
- {
- DT_RowId => $c->{itemnumber} . '-' . $c->{borrowernumber},
- title => $c->{title},
- author => $c->{author},
- barcode => $c->{barcode},
- itemtype => $item_level_itypes ? $c->{itype} : $c->{itemtype},
- itemnotes => $c->{itemnotes},
- branchcode => $c->{branchcode},
- branchname => $c->{branchname},
- itemcallnumber => $c->{itemcallnumber} || q{},
- charge => $charge,
- price => $c->{replacementprice} || q{},
- can_renew => $can_renew,
- can_renew_error => $can_renew_error,
- itemnumber => $c->{itemnumber},
- borrowernumber => $c->{borrowernumber},
- biblionumber => $c->{biblionumber},
- issuedate => $c->{issuedate},
- date_due => $c->{date_due},
- renewals_count => $renewals_count,
- renewals_allowed => $renewals_allowed,
- renewals_remaining => $renewals_remaining,
- issuedate_formatted =>
- output_pref( dt_from_string( $c->{issuedate} ) ),
- date_due_formatted => output_pref(
- {
- dt => dt_from_string( $c->{date_due} ),
- as_due_date => 1
- }
- ),
- subtitle => GetRecordValue(
- 'subtitle',
- GetMarcBiblio( $c->{biblionumber} ),
- GetFrameworkCode( $c->{biblionumber} )
- ),
- borrower => {
- surname => $c->{surname},
- firstname => $c->{firstname},
- cardnumber => $c->{cardnumber},
+
+ my $checkout = {
+ DT_RowId => $c->{itemnumber} . '-' . $c->{borrowernumber},
+ title => $c->{title},
+ author => $c->{author},
+ barcode => $c->{barcode},
+ itemtype => $item_level_itypes ? $c->{itype} : $c->{itemtype},
+ itemnotes => $c->{itemnotes},
+ branchcode => $c->{branchcode},
+ branchname => $c->{branchname},
+ itemcallnumber => $c->{itemcallnumber} || q{},
+ charge => $charge,
+ price => $c->{replacementprice} || q{},
+ can_renew => $can_renew,
+ can_renew_error => $can_renew_error,
+ itemnumber => $c->{itemnumber},
+ borrowernumber => $c->{borrowernumber},
+ biblionumber => $c->{biblionumber},
+ issuedate => $c->{issuedate},
+ date_due => $c->{date_due},
+ renewals_count => $renewals_count,
+ renewals_allowed => $renewals_allowed,
+ renewals_remaining => $renewals_remaining,
+ issuedate_formatted => output_pref( dt_from_string( $c->{issuedate} ) ),
+ date_due_formatted => output_pref(
+ {
+ dt => dt_from_string( $c->{date_due} ),
+ as_due_date => 1
}
- }
- );
+ ),
+ subtitle => GetRecordValue(
+ 'subtitle',
+ GetMarcBiblio( $c->{biblionumber} ),
+ GetFrameworkCode( $c->{biblionumber} )
+ ),
+ borrower => {
+ surname => $c->{surname},
+ firstname => $c->{firstname},
+ cardnumber => $c->{cardnumber},
+ },
+ issued_today => !$c->{not_issued_today},
+ };
+
+ if ( $c->{not_issued_today} ) {
+ push( @checkouts_previous, $checkout );
+ }
+ else {
+ push( @checkouts_today, $checkout );
+ }
}
+@checkouts_today = reverse(@checkouts_today)
+ if ( C4::Context->preference('todaysIssuesDefaultSortOrder') eq 'desc' );
+@checkouts_previous = reverse(@checkouts_previous)
+ if ( C4::Context->preference('previousIssuesDefaultSortOrder') eq 'desc' );
+
+my @checkouts = ( @checkouts_today, @checkouts_previous );
+
my $data;
$data->{'iTotalRecords'} = scalar @checkouts; #FIXME
$data->{'iTotalDisplayRecords'} = scalar @checkouts;
--