@@ -, +, @@ exchange rates - Create some staff users with different permission sets 1) superlibrarian 2) parameters 3) parameters_remaining_permissions 4) manage_circ_rules, but not parmeters_remaining_permissions 5) all acquisition permissions - Apply patch and run database update - Verify new permission has been added and staff users updated 1) remains the same 2) + 3) will have currencies_manage 4) remains unchanged, doesn't have new permission 5) remains the same, will have access now because of having the top level acquisition permission - Verify the changed pages work correctly: - navigation on admin home page NOTE: the acquisition parameters section will now honor all different related permissions (edi_manage, budget_manage,...) - navigation on acquisition home page - try to access currencies page directly --- admin/currency.pl | 2 +- .../bug763_currencies_manage_permission.sql | 7 +++++++ installer/data/mysql/userpermissions.sql | 1 + .../prog/en/includes/acquisitions-menu.inc | 2 +- .../intranet-tmpl/prog/en/includes/permissions.inc | 1 + .../prog/en/modules/admin/admin-home.tt | 14 +++++++++++--- 6 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug763_currencies_manage_permission.sql --- a/admin/currency.pl +++ a/admin/currency.pl @@ -40,7 +40,7 @@ our ( $template, $loggedinuser, $cookie ) = get_template_and_user( query => $input, type => 'intranet', authnotrequired => 0, - flagsrequired => { parameters => 'parameters_remaining_permissions' }, + flagsrequired => { acquisition => 'currencies_manage' }, } ); --- a/installer/data/mysql/atomicupdate/bug763_currencies_manage_permission.sql +++ a/installer/data/mysql/atomicupdate/bug763_currencies_manage_permission.sql @@ -0,0 +1,7 @@ +INSERT INTO permissions (module_bit, code, description) VALUES (11, 'currencies_manage', 'Manage currencies and exchange rates'); + +INSERT INTO user_permissions (borrowernumber, module_bit, code) + SELECT borrowernumber, 11, 'currencies_manage' FROM borrowers WHERE flags & (1 << 3) OR borrowernumber IN + (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions'); + +-- Bug 7651: Add new permission currencies_manage and update staff users --- a/installer/data/mysql/userpermissions.sql +++ a/installer/data/mysql/userpermissions.sql @@ -17,6 +17,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES ( 9, 'delete_all_items', 'Delete all items at once'), (10, 'writeoff', 'Write off fines and fees'), (10, 'remaining_permissions', 'Remaining permissions for managing fines and fees'), + (11, 'currencies_manage', 'Manage currencies and exchange rates'), (11, 'vendors_manage', 'Manage vendors'), (11, 'contracts_manage', 'Manage contracts'), (11, 'period_manage', 'Manage budgets'), --- a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-menu.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-menu.inc @@ -18,7 +18,7 @@
  • Budgets
  • Funds
  • [% END %] - [% IF ( CAN_user_parameters ) %] + [% IF ( CAN_user_acquisition_currencies_manage ) %]
  • Currencies
  • [% END %] [% IF CAN_user_acquisition_edi_manage %] --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -57,6 +57,7 @@ [%- CASE 'period_manage' -%]Manage budgets [%- CASE 'planning_manage' -%]Manage budget plannings [%- CASE 'vendors_manage' -%]Manage vendors + [%- CASE 'currencies_manage' -%]Manage currencies and exchange rates [%- CASE 'batch_upload_patron_images' -%]Upload patron images in a batch or one at a time [%- CASE 'delete_anonymize_patrons' -%]Delete old borrowers and anonymize circulation history (deletes borrower reading history) [%- CASE 'edit_calendar' -%]Define days when the library is closed --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt @@ -95,22 +95,30 @@ [% END %] + [% IF ( CAN_user_acquisition_currencies_manage || CAN_user_acquisition_period_manage + || CAN_user_acquisition_budget_manage || CAN_user_acquisition_edi_manage ) %]

    Acquisition parameters

    + [% IF ( CAN_user_acquisition_currencies_manage ) %]
    Currencies and exchange rates
    Define currencies and exchange rates used for acquisitions.
    - + [% END %] + [% IF ( CAN_user_acquisition_period_manage ) %]
    Budgets
    Define your budgets
    - + [% END %] + [% IF ( CAN_user_acquisition_budget_manage ) %]
    Funds
    Define funds within your budgets
    - + [% END %] + [% IF ( CAN_user_acquisition_edi_manage ) %]
    EDI accounts
    Manage vendor EDI accounts for import/export
    Library EANs
    Manage library EDI EANs
    + [% END %]
    + [% END %]

    Additional parameters

    --