From 481d31432c9dca0bc6dd5f85239cf5763ed000b5 Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Tue, 26 Jul 2016 09:50:52 -0400 Subject: [PATCH] Bug 16978: Add delete reports user permission This splits off the delete capability from the create reports permission. From a UI perspective there were CSS issues, that this patch set hackily bypasses. Perhaps someone else can amend this enhancement with the required changes so that the extra column at the beginning of the table can be removed when the user does not have delete capability. --- installer/data/mysql/userpermissions.sql | 1 + koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc | 1 + koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc | 2 +- .../intranet-tmpl/prog/en/modules/help/members/member-flags.tt | 6 ++++++ .../prog/en/modules/reports/guided_reports_start.tt | 10 ++++++++-- reports/guided_reports.pl | 8 ++++++-- 6 files changed, 23 insertions(+), 5 deletions(-) diff --git a/installer/data/mysql/userpermissions.sql b/installer/data/mysql/userpermissions.sql index abeeb3a..26b4e5c 100644 --- a/installer/data/mysql/userpermissions.sql +++ b/installer/data/mysql/userpermissions.sql @@ -68,6 +68,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES (15, 'superserials', 'Manage subscriptions from any branch (only applies when IndependentBranches is used)'), (16, 'execute_reports', 'Execute SQL reports'), (16, 'create_reports', 'Create SQL reports'), + (16, 'delete_reports', 'Delete SQL reports'), (18, 'manage_courses', 'Add, edit and delete courses'), (18, 'add_reserves', 'Add course reserves'), (18, 'delete_reserves', 'Remove course reserves'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc index 6a80ba1..bcff76b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -90,6 +90,7 @@ [%- CASE 'renew_subscription' -%]Renew a subscription [%- CASE 'routing' -%]Routing [%- CASE 'superserials' -%]Manage subscriptions from any branch (only applies when IndependentBranches is used) + [%- CASE 'delete_reports' -%]Delete SQL reports [%- CASE 'create_reports' -%]Create SQL reports [%- CASE 'execute_reports' -%]Execute SQL reports [%- CASE 'add_reserves' -%]Add course reserves diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc index 25f848a..232ddd3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc @@ -25,7 +25,7 @@ [% END %] - [% IF ( CAN_user_reports_create_reports ) %] + [% IF ( CAN_user_reports_delete_reports ) %]
Delete diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/member-flags.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/member-flags.tt index 974a215..3e197d2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/member-flags.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/member-flags.tt @@ -499,6 +499,12 @@

If the staff member has 'reports' permissions they have the ability to perform all of these actions. If you would like to control reports permissions on a more granular level choose from these options:

diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl index 75040f4..6be1acf 100755 --- a/reports/guided_reports.pl +++ b/reports/guided_reports.pl @@ -51,12 +51,16 @@ my $usecache = C4::Context->ismemcached; my $phase = $input->param('phase') // ''; my $flagsrequired; -if ( $phase eq 'Build new' or $phase eq 'Delete Saved' ) { +if ( $phase eq 'Build new' ) { $flagsrequired = 'create_reports'; } elsif ( $phase eq 'Use saved' ) { $flagsrequired = 'execute_reports'; -} else { +} +elsif ( $phase eq 'Delete Saved' ) { + $flagsrequired = 'delete_reports'; +} +else { $flagsrequired = '*'; } -- 2.1.4