LP#1835127: scoped permissions for reservations user/jeffdavis/lp1835127-reservation-perms
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 6 May 2020 21:22:49 +0000 (14:22 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 6 May 2020 21:22:49 +0000 (14:22 -0700)
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
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 4dbbcbb..95d8de1 100644 (file)
@@ -5182,10 +5182,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>
@@ -5202,10 +5202,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 b6959bb..5beb79e 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;