LP1929593 UPDATE_COPY_BARCODE permission
[evergreen-equinox.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.data.edit_barcode_perm.sql
1 BEGIN;
2
3 -- check whether patch can be applied
4 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
5
6 -- 950.data.seed-values.sql
7
8 INSERT INTO permission.perm_list ( id, code, description ) VALUES
9  ( 642, 'UPDATE_COPY_BARCODE', oils_i18n_gettext(642,
10     'Update the barcode for an item.', 'ppl', 'description'))
11 ;
12
13 -- give this perm to perm groups that already have UPDATE_COPY
14 WITH perms_to_add AS
15     (SELECT id FROM
16     permission.perm_list
17     WHERE code IN ('UPDATE_COPY_BARCODE'))
18 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
19     SELECT grp, perms_to_add.id as perm, depth, grantable
20         FROM perms_to_add,
21         permission.grp_perm_map
22
23         --- Don't add the permissions if they have already been assigned
24         WHERE grp NOT IN
25             (SELECT DISTINCT grp FROM permission.grp_perm_map
26             INNER JOIN perms_to_add ON perm=perms_to_add.id)
27
28         --- we're going to match the depth of their existing perm
29         AND perm = (
30             SELECT id
31                 FROM permission.perm_list
32                 WHERE code = 'UPDATE_COPY'
33         );
34
35 COMMIT;