@@ -, +, @@ --------- -- should run without issue. > drop database ... > create database ... -- totally blanks it for fresh web install -- installing should have no issues -- should have delete reports now 'Granular Reports Permissions' right at the bottom. -- there should be a new delete_reports section -- as system account user, delete stuff should all be visible. -- none of the delete options should be available to the user. --- installer/data/mysql/atomicupdate/bug_16978.sql | 3 +++ 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 ++++++-- 7 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_16978.sql --- a/installer/data/mysql/atomicupdate/bug_16978.sql +++ a/installer/data/mysql/atomicupdate/bug_16978.sql @@ -0,0 +1,3 @@ +INSERT IGNORE INTO `permissions` + (module_bit, code, description) VALUES + (16, 'delete_reports', 'Delete SQL reports'); --- a/installer/data/mysql/userpermissions.sql +++ a/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'), --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ a/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 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/reports-toolbar.inc +++ a/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 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/help/members/member-flags.tt +++ a/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:

--- a/reports/guided_reports.pl +++ a/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 = '*'; } --