From 6f3f2b88ead44b06c1b63725bec6be18ea9969c7 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Wed, 15 Jun 2022 10:03:28 +0200
Subject: [PATCH] Bug 30650: Split the permission

We actually want one permission to manage the administration page, and
one for the circulation module.
---
 circ/curbside_pickups.pl                                   | 2 +-
 installer/data/mysql/atomicupdate/bug_30650.pl             | 7 ++++++-
 installer/data/mysql/mandatory/userpermissions.sql         | 1 +
 .../intranet-tmpl/prog/en/modules/circ/circulation-home.tt | 2 +-
 4 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/circ/curbside_pickups.pl b/circ/curbside_pickups.pl
index 593fd2e254a..fb1c17475bb 100755
--- a/circ/curbside_pickups.pl
+++ b/circ/curbside_pickups.pl
@@ -38,7 +38,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         template_name => "circ/curbside_pickups.tt",
         query         => $input,
         type          => "intranet",
-        flagsrequired => { parameters => 'manage_curbside_pickups' },
+        flagsrequired => { circulate => 'manage_curbside_pickups' },
     }
 );
 
diff --git a/installer/data/mysql/atomicupdate/bug_30650.pl b/installer/data/mysql/atomicupdate/bug_30650.pl
index 068b29d66c9..53015d2c434 100755
--- a/installer/data/mysql/atomicupdate/bug_30650.pl
+++ b/installer/data/mysql/atomicupdate/bug_30650.pl
@@ -171,7 +171,12 @@ return {
         $dbh->do(qq{
             INSERT IGNORE permissions (module_bit, code, description)
             VALUES
-            (3, 'manage_curbside_pickups', 'Manage curbside pickups')
+            (1, 'manage_curbside_pickups', 'Manage curbside pickups (circulation)')
+        });
+        $dbh->do(qq{
+            INSERT IGNORE permissions (module_bit, code, description)
+            VALUES
+            (3, 'manage_curbside_pickups', 'Manage curbside pickups (admin)')
         });
 
         unless ( column_exists('curbside_pickup_policy', 'enable_waiting_holds_only') ) {
diff --git a/installer/data/mysql/mandatory/userpermissions.sql b/installer/data/mysql/mandatory/userpermissions.sql
index e1dd228c9bb..a97d430f900 100644
--- a/installer/data/mysql/mandatory/userpermissions.sql
+++ b/installer/data/mysql/mandatory/userpermissions.sql
@@ -5,6 +5,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
    ( 1, 'force_checkout', 'Force checkout if a limitation exists'),
    ( 1, 'manage_restrictions', 'Manage restrictions for accounts'),
    ( 1, 'manage_checkout_notes', 'Mark checkout notes as seen/not seen'),
+   ( 1, 'manage_curbside_pickups', 'Manage curbside pickups'),
    ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
    ( 3, 'manage_accounts', 'Manage Account Debit and Credit Types' ),
    ( 3, 'manage_circ_rules', 'Manage circulation rules'),
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt
index c8732dbe9ab..bbdfb788733 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt
@@ -83,7 +83,7 @@
                     <li>
                         <a class="circ-button" href="/cgi-bin/koha/circ/waitingreserves.pl"><i class="fa fa-calendar"></i> Holds awaiting pickup</a>
                     </li>
-                    [% IF ( Koha.Preference('CurbsidePickup') && CAN_user_parameters_manage_curbside_pickups ) %]
+                    [% IF ( Koha.Preference('CurbsidePickup') && CAN_user_circulate_manage_curbside_pickups ) %]
                     <li>
                         <a class="circ-button" href="/cgi-bin/koha/circ/curbside_pickups.pl"><i class="fa fa-refresh"></i> Curbside Pickups</a>
                     </li>
-- 
2.25.1