@@ -, +, @@
overdues report
- The list of overdues should look correct, with no new columns shown.
- Test the column visibility button, showing the columns which are
hidden by default. Confirm that the data in these columns displays
correctly.
- Show or hide columns in such a way that it doesn't match the default
configuration.
- Navigate away from this page.
- Return to the page. The same set of columns should be visible.
---
admin/columns_settings.yml | 31 ++++++++++++++++++
circ/overdue.pl | 8 +++--
.../intranet-tmpl/prog/en/modules/circ/overdue.tt | 37 +++++++++++++++++-----
koha-tmpl/intranet-tmpl/prog/js/datatables.js | 28 ++++++++++++++++
4 files changed, 93 insertions(+), 11 deletions(-)
--- a/admin/columns_settings.yml
+++ a/admin/columns_settings.yml
@@ -765,6 +765,37 @@ modules:
-
columnname: items_needed
+ overdues:
+ circ-overdues:
+ -
+ columname: due_date
+ -
+ columname: patron
+ -
+ columname: patron_category
+ is_hidden: 1
+ -
+ columname: patron_library
+ -
+ columname: title
+ -
+ columname: home_library
+ is_hidden: 1
+ -
+ columname: holding_library
+ is_hidden: 1
+ -
+ columname: barcode
+ -
+ columname: call_number
+ -
+ columname: item_type
+ is_hidden: 1
+ -
+ columname: price
+ -
+ columname: non-public_note
+
opac:
biblio-detail:
holdingst:
--- a/circ/overdue.pl
+++ a/circ/overdue.pl
@@ -239,7 +239,8 @@ if ($noreport) {
items.itemcallnumber,
items.replacementprice,
items.enumchron,
- items.itemnotes_nonpublic
+ items.itemnotes_nonpublic,
+ items.itype
FROM issues
LEFT JOIN borrowers ON (issues.borrowernumber=borrowers.borrowernumber )
LEFT JOIN items ON (issues.itemnumber=items.itemnumber)
@@ -322,12 +323,13 @@ if ($noreport) {
biblionumber => $data->{biblionumber},
title => $data->{title},
author => $data->{author},
- homebranchcode => $data->{homebranchcode},
- holdingbranchcode => $data->{holdingbranchcode},
+ homebranchcode => $data->{homebranch},
+ holdingbranchcode => $data->{holdingbranch},
itemcallnumber => $data->{itemcallnumber},
replacementprice => $data->{replacementprice},
itemnotes_nonpublic => $data->{itemnotes_nonpublic},
enumchron => $data->{enumchron},
+ itemtype => $data->{itype},
patron_attr_value_loop => \@patron_attr_value_loop,
};
}
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt
@@ -3,6 +3,9 @@
[% USE KohaDates %]
[%- USE Branches -%]
[%- USE Price -%]
+[%- USE ItemTypes -%]
+[%- USE Categories -%]
+[%- USE ColumnsSettings -%]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
Koha › Circulation › Items overdue as of [% todaysdate | html %]
@@ -48,10 +51,14 @@
Due date |
Patron |
- Library |
- Title |
+ Patron category |
+ Patron library |
+ Title |
+ Home library |
+ Holding library |
Barcode |
Call number |
+ Item type |
Price |
Non-public note |
@@ -67,10 +74,15 @@
[% IF ( overdueloo.email ) %][email][% END %]
[% IF ( overdueloo.phone ) %]([% overdueloo.phone | html %])[% ELSIF ( overdueloo.mobile ) %]([% overdueloo.mobile | html %])[% ELSIF ( overdueloo.phonepro ) %]([% overdueloo.phonepro | html %])[% END %]
[% END %]
- [% Branches.GetName( overdueloo.patron.branchcode ) | html %] |
+ [% Categories.GetName( overdueloo.patron.categorycode ) | html %] |
+ [% Branches.GetName( overdueloo.homebranchcode ) | html %] |
[% INCLUDE 'biblio-default-view.inc' biblionumber = overdueloo.biblionumber %][% overdueloo.title | html %] [% overdueloo.subtitle | html %] [% IF ( overdueloo.author ) %], by [% overdueloo.author | html %][% END %][% IF ( overdueloo.enumchron ) %], [% overdueloo.enumchron | html %][% END %] |
+
+ [% Branches.GetName( overdueloo.holdingbranchcode ) | html %] |
+ [% Branches.GetName( overdueloo.patron.branchcode ) | html %] |
[% overdueloo.barcode | html %] |
[% overdueloo.itemcallnumber | html %] |
+ [% ItemTypes.GetDescription( overdueloo.itemtype ) | html %] |
[% overdueloo.replacementprice | $Price %] |
[% overdueloo.itemnotes_nonpublic | html %] |
@@ -210,7 +222,8 @@
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'calendar.inc' %]
[% INCLUDE 'datatables.inc' %]
-
[% END %]
--- a/koha-tmpl/intranet-tmpl/prog/js/datatables.js
+++ a/koha-tmpl/intranet-tmpl/prog/js/datatables.js
@@ -567,3 +567,31 @@ function footer_column_sum( api, column_numbers ) {
$( api.column( column_number ).footer() ).html(total.format_price());
};
}
+
+/* get_columns_saved_state checks for a DataTables configuration saved
+ * in the browser's local storage. If it is present, the columns
+ * configuration supplied by Koha is overwritten
+ *
+ * It takes two parameters:
+ * - localstorage_config, the DataTables saved state object from local storage
+ * - columns_settings, the columns settings object supplied by the template
+ */
+
+function get_columns_saved_state( localstorage_config, columns_settings ){
+ var tables = JSON.parse( localstorage_config );
+ // if a table configuration was found in local storage, parse it
+ if( tables ){
+ var stateSave_column_visibility = [];
+ $(tables.columns).each(function(){
+ stateSave_column_visibility.push( this.visible === true ? 0 : 1 );
+ });
+ $.each( columns_settings, function( index, key ){
+ if( stateSave_column_visibility[ index ] !== columns_settings[key] ){
+ columns_settings[ index ].is_hidden = stateSave_column_visibility[ index ];
+ }
+ });
+ return columns_settings;
+ } else {
+ return columns_settings;
+ }
+}
--