LP1910891: Add new booking perms to appropriate groups
[evergreen-equinox.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.new_booking_perms_in_map.sql
1 BEGIN;
2
3 --- SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
4
5 WITH perms_to_add AS
6     (SELECT id FROM
7     permission.perm_list
8     WHERE code IN ('VIEW_BOOKING_RESERVATION', 'VIEW_BOOKING_RESERVATION_ATTR_MAP'))
9
10 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
11     SELECT grp, perms_to_add.id as perm, depth, grantable
12         FROM perms_to_add,
13         permission.grp_perm_map
14         
15         --- Don't add the permissions if they have already been assigned
16         WHERE grp NOT IN
17             (SELECT DISTINCT grp FROM permission.grp_perm_map
18             INNER JOIN perms_to_add ON perm=perms_to_add.id)
19             
20         --- Anybody who can view resources should also see reservations
21         --- at the same level
22         AND perm = (
23             SELECT id
24                 FROM permission.perm_list
25                 WHERE code = 'VIEW_BOOKING_RESOURCE'
26         );
27
28
29 COMMIT;