Browse Source

Bug 21216: Add filter/search options to notices table

This patch adds a DataTables toolbar to the Notices & slips table,
including a filter field, column visibility, and data export options.

To test, apply the patch and clear your browser cache if necessary.

 - Go to Tools -> Notices & slips
 - Confirm that there is a table toolbar with a filter, a "Column
   visibility" button, and "Excel," "CSV," "Copy," and "Print" buttons.
 - Confirm that showing and hiding columns via the button is working
   correctly.
 - Confirm that only the first four columns are sortable.

Go to Administration -> Columns settings.

- Expand the "Tools" section.
- Find "id=lettert."
- Make some selections to configure default settings of the reports
  table.
- Return to reports and confirm that these defaults are applied.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
18.11.x
Owen Leonard 5 years ago
committed by Nick Clemens
parent
commit
8960cee9ab
  1. 18
      admin/columns_settings.yml
  2. 6
      koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt
  3. 4
      koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
  4. 19
      koha-tmpl/intranet-tmpl/prog/js/letter.js

18
admin/columns_settings.yml

@ -673,3 +673,21 @@ modules:
columnname: ordered
-
columnname: spent
tools:
notices:
lettert:
-
columnname: library
-
columnname: module
-
columnname: code
-
columnname: name
-
columnname: copy_notice
-
columnname: actions
cannot_be_toggled: 1
cannot_be_modified: 1

6
koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt

@ -152,6 +152,12 @@
[% PROCESS pagelist module=modules.members modulename="members" %]
</div>
<h3><a href="#tools">Tools</a></h3>
<div id="tools">
<h4>Tools tables</h4>
[% PROCESS pagelist module=modules.tools modulename="tools" %]
</div>
<h3><a href="#opac">OPAC</a></h3>
<div id="opac">
<h4>OPAC tables</h4>

4
koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt

@ -2,6 +2,7 @@
[% USE Asset %]
[% USE Koha %]
[% USE Branches %]
[% USE ColumnsSettings %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Tools &rsaquo; Notices[% IF ( add_form or copy_form ) %][% IF ( modify ) %] &rsaquo; Modify notice[% ELSE %] &rsaquo; Add notice[% END %][% END %][% IF ( add_validate or copy_validate) %] &rsaquo; Notice added[% END %][% IF ( delete_confirm ) %] &rsaquo; Confirm deletion[% END %]</title>
@ -460,6 +461,7 @@
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/tools-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
[% Asset.js("lib/jquery/plugins/jquery.fixFloat.js") | $raw %]
[% Asset.js("lib/jquery/plugins/jquery.insertatcaret.js") | $raw %]
<script>
@ -476,6 +478,8 @@
var MSG_EMPTY_TITLE_AND_CONTENT = _("Please specify title and content for %s");
var MSG_EMPTY_TEMPLATES = _("Please fill at least one template.");
var MSG_LOADING = _("Loading");
var MSG_NO_NOTICE_FOUND = _("No matching notices found");
var columns_settings = [% ColumnsSettings.GetColumns( 'tools', 'notices', 'lettert', 'json' ) | $raw %];
</script>
[% Asset.js("js/letter.js") | $raw %]
[% END %]

19
koha-tmpl/intranet-tmpl/prog/js/letter.js

@ -1,5 +1,5 @@
/* Variables defined in letter.tt: */
/* global _ module add_form copy_form dataTablesDefaults no_op_set MSG_EMPTY_TITLE_AND_CONTENT MSG_EMPTY_TEMPLATES code MSG_CODE_EXISTS MSG_CODE_EXISTS_FOR_LIBRARY MSG_DT_LOADING_RECORDS interface theme */
/* global _ module add_form copy_form no_op_set MSG_EMPTY_TITLE_AND_CONTENT MSG_EMPTY_TEMPLATES code MSG_CODE_EXISTS MSG_CODE_EXISTS_FOR_LIBRARY MSG_DT_LOADING_RECORDS interface theme KohaTable columns_settings */
var modal_loading = "<div id=\"loading\"><img src=\"" + interface + "/" + theme + "/img/spinner-small.gif\" alt=\"\" /> "+ MSG_DT_LOADING_RECORDS +"</div>";
@ -35,13 +35,18 @@ $(document).ready(function() {
$('#toolbar').fixFloat();
}
$("#lettert:has(tbody tr)").dataTable($.extend(true, {}, dataTablesDefaults, {
"sDom": 't',
"aoColumnDefs": [
{ "bSortable": false, "bSearchable": false, 'aTargets': [ 'nosort' ] }
var ntable = KohaTable("lettert", {
"autoWidth": false,
"paging": false,
"aaSorting": [[ 3, "asc" ]],
"columnDefs": [
{ "bSortable": false, "aTargets": [ "nosort" ] },
{ "sType": "title-string", "aTargets" : [ "title-string"] }
],
"bPaginate": false
}));
"oLanguage": {
"sZeroRecords": MSG_NO_NOTICE_FOUND
},
}, columns_settings);
if( no_op_set ){
$('#branch').change(function() {

Loading…
Cancel
Save