Bug 10212: Columns configuration for tables
authorJonathan Druart <jonathan.druart@biblibre.com>
Mon, 7 Jul 2014 08:28:21 +0000 (10:28 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 26 Aug 2014 12:28:03 +0000 (09:28 -0300)
commitebf4e33cbfdee92b4c485c7e51e1aaea273c1f39
treee11fa32c62b661dd36f047c026a766b76b96c959
parent68bcac15d8eb43fd1c1529dc86f834431a8c77ce
Bug 10212: Columns configuration for tables

This development introduces ColVis into Koha and provides a configuration
page for columns visibility.

ColVis is a plugin for DataTables. It allows to change the visibility of
the columns in the table.

* This development adds:
  - the js and css file for ColVis
  - a new DB table 'columns_settings'
  - a new template plugin 'ColumnsSettings'
  - a new package C4::Utils::DataTables::ColumnsSettings
  - a new admin page admin/columns_settings.pl

* How it works:
A yaml file is created (admin/columns_settings.yml) in order to take an
inventory of all tables where ColVis is implemented. This file is read
to create the list of modules, pages and tables in the configuration
page.
There are 3 possible keys in the yml:
 - is_hidden: default is 0
The column will be hidden.
 - cannot_be_toggled: default is 0.
ColVis will allow to hide/show the column.
 - cannot_be_modified: default is 0
Default values (in the yml) won't be modifiable.

When a user changes (or saves) the configuration for one module, all
columns are added to the DB table. The values in the DB get the upper hand
on the yaml values.

* Humm, strange?
It seems weird to have 2 storages for the same values. But I
think it will be easy to add an entry and maintain the yaml rather than
adding a new row (and new entry in updatedatabase script) in the DB.

* To go further: We can imagine that the configuration is saved for each
user (and not globally like it is made with this patch).

This patch cannot be tested as it, you need to apply the "POC" patch.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, more comments on last patch.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
C4/Utils/DataTables/ColumnsSettings.pm [new file with mode: 0644]
Koha/Template/Plugin/ColumnsSettings.pm [new file with mode: 0644]
admin/columns_settings.pl [new file with mode: 0755]
admin/columns_settings.yml [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/js/datatables.js
koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt [new file with mode: 0644]