]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/1351.data.acqrolloverperm.sql
LP#1977761: stamp DB update
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 1351.data.acqrolloverperm.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('1351', :eg_version);
4
5 INSERT INTO permission.perm_list ( id, code, description )
6     VALUES (
7         641,
8         'ADMIN_FUND_ROLLOVER',
9         oils_i18n_gettext(
10             641,
11             'Allow a user to perform fund propagation and rollover',
12             'ppl',
13             'description'
14         )
15     );
16
17 -- ensure that permission groups that are able to
18 -- rollover funds can continue to do so
19 WITH perms_to_add AS
20     (SELECT id FROM
21     permission.perm_list
22     WHERE code IN ('ADMIN_FUND_ROLLOVER'))
23 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
24     SELECT grp, perms_to_add.id as perm, depth, grantable
25         FROM perms_to_add,
26         permission.grp_perm_map
27         
28         --- Don't add the permissions if they have already been assigned
29         WHERE grp NOT IN
30             (SELECT DISTINCT grp FROM permission.grp_perm_map
31             INNER JOIN perms_to_add ON perm=perms_to_add.id)
32             
33         --- Anybody who can view resources should also see reservations
34         --- at the same level
35         AND perm = (
36             SELECT id
37                 FROM permission.perm_list
38                 WHERE code = 'ADMIN_FUND'
39         );
40
41 COMMIT;