LP#1835127: scoped permissions for reservations
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 6 May 2020 21:22:49 +0000 (14:22 -0700)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 23 Sep 2020 20:29:16 +0000 (16:29 -0400)
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.data.permission.booking_reservation.sql [new file with mode: 0644]

index 8b4bf85..dc80e54 100644 (file)
@@ -5187,10 +5187,10 @@ SELECT  usr,
                </links>
                <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
                        <actions>
-                               <create permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
-                               <retrieve permission="STAFF_LOGIN" global_required='true'/>
-                               <update permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
-                               <delete permission="ADMIN_BOOKING_RESERVATION" global_required='true'/>
+                               <create permission="ADMIN_BOOKING_RESERVATION" context_field="pickup_lib"/>
+                               <retrieve permission="VIEW_BOOKING_RESERVATION" context_field="pickup_lib"/>
+                               <update permission="ADMIN_BOOKING_RESERVATION" context_field="pickup_lib"/>
+                               <delete permission="ADMIN_BOOKING_RESERVATION" context_field="pickup_lib"/>
                        </actions>
                </permacrud>
        </class>
@@ -5207,10 +5207,18 @@ SELECT  usr,
                </links>
                <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
                        <actions>
-                               <create permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
-                               <retrieve permission="STAFF_LOGIN" global_required='true'/>
-                               <update permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
-                               <delete permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP" global_required='true'/>
+                               <create permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP">
+                                       <context link="reservation" field="pickup_lib"/>
+                               </create>
+                               <retrieve permission="VIEW_BOOKING_RESERVATION_ATTR_MAP">
+                                       <context link="reservation" field="pickup_lib"/>
+                               </retrieve>
+                               <update permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP">
+                                       <context link="reservation" field="pickup_lib"/>
+                               </update>
+                               <delete permission="ADMIN_BOOKING_RESERVATION_ATTR_MAP">
+                                       <context link="reservation" field="pickup_lib"/>
+                               </delete>
                        </actions>
                </permacrud>
        </class>
index 25c2235..0addc3c 100644 (file)
@@ -1939,7 +1939,11 @@ INSERT INTO permission.perm_list ( id, code, description ) VALUES
  ( 621, 'VIEW_BOOKING_RESOURCE_TYPE', oils_i18n_gettext(621,
     'View booking resource types', 'ppl', 'description')),
  ( 622, 'VIEW_BOOKING_RESOURCE', oils_i18n_gettext(622,
-    'View booking resources', 'ppl', 'description'))
+    'View booking resources', 'ppl', 'description')),
+ ( 623, 'VIEW_BOOKING_RESERVATION', oils_i18n_gettext(623,
+    'View booking reservations', 'ppl', 'description')),
+ ( 624, 'VIEW_BOOKING_RESERVATION_ATTR_MAP', oils_i18n_gettext(624,
+    'View booking reservation attribute maps', 'ppl', 'description'))
 ;
 
 
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.permission.booking_reservation.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.permission.booking_reservation.sql
new file mode 100644 (file)
index 0000000..3259ad4
--- /dev/null
@@ -0,0 +1,12 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO permission.perm_list ( id, code, description ) VALUES
+ ( 623, 'VIEW_BOOKING_RESERVATION', oils_i18n_gettext(623,
+    'View booking reservations', 'ppl', 'description')),
+ ( 624, 'VIEW_BOOKING_RESERVATION_ATTR_MAP', oils_i18n_gettext(624,
+    'View booking reservation attribute maps', 'ppl', 'description'))
+;
+
+COMMIT;