]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0547.data.perm_list_cleanup.sql
LP#1155329: better enforce cat.bib.use_id_for_tcn
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0547.data.perm_list_cleanup.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('0547', :eg_version); -- dbwells
4
5 -- account for spelling errors (Admin != Administrator)
6 \qecho This might not insert much if you passed through 0542 on your way here,
7 \qecho but one group was missed there as well
8
9 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
10         SELECT
11                 pgt.id, perm.id, aout.depth, TRUE
12         FROM
13                 permission.grp_tree pgt,
14                 permission.perm_list perm,
15                 actor.org_unit_type aout
16         WHERE
17                 pgt.name = 'Cataloging Administrator' AND
18                 aout.name = 'Consortium' AND
19                 perm.code IN (
20                         'ADMIN_IMPORT_ITEM_ATTR_DEF',
21                         'ADMIN_MERGE_PROFILE',
22                         'CREATE_AUTHORITY_IMPORT_IMPORT_DEF',
23                         'CREATE_BIB_IMPORT_FIELD_DEF',
24                         'CREATE_BIB_PTYPE',
25                         'CREATE_BIB_SOURCE',
26                         'CREATE_IMPORT_ITEM_ATTR_DEF',
27                         'CREATE_IMPORT_TRASH_FIELD',
28                         'CREATE_MERGE_PROFILE',
29                         'CREATE_MONOGRAPH_PART',
30                         'CREATE_VOLUME_PREFIX',
31                         'CREATE_VOLUME_SUFFIX',
32                         'DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
33                         'DELETE_BIB_PTYPE',
34                         'DELETE_BIB_SOURCE',
35                         'DELETE_IMPORT_ITEM_ATTR_DEF',
36                         'DELETE_IMPORT_TRASH_FIELD',
37                         'DELETE_MERGE_PROFILE',
38                         'DELETE_MONOGRAPH_PART',
39                         'DELETE_VOLUME_PREFIX',
40                         'DELETE_VOLUME_SUFFIX',
41                         'MAP_MONOGRAPH_PART',
42                         'UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
43                         'UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF',
44                         'UPDATE_BIB_PTYPE',
45                         'UPDATE_IMPORT_ITEM_ATTR_DEF',
46                         'UPDATE_IMPORT_TRASH_FIELD',
47                         'UPDATE_MERGE_PROFILE',
48                         'UPDATE_MONOGRAPH_PART',
49                         'UPDATE_VOLUME_PREFIX',
50                         'UPDATE_VOLUME_SUFFIX'
51                 ) AND NOT EXISTS (
52                         SELECT 1
53                         FROM permission.grp_perm_map AS map
54                         WHERE
55                                 map.grp = pgt.id
56                                 AND map.perm = perm.id
57                 );
58
59 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
60     SELECT
61         pgt.id, perm.id, aout.depth, TRUE
62     FROM
63         permission.grp_tree pgt,
64         permission.perm_list perm,
65         actor.org_unit_type aout
66     WHERE
67         pgt.name = 'Cataloging Administrator' AND
68         aout.name = 'System' AND
69         perm.code IN (
70             'CREATE_COPY_STAT_CAT',
71             'CREATE_COPY_STAT_CAT_ENTRY',
72             'CREATE_COPY_STAT_CAT_ENTRY_MAP',
73             'RUN_REPORTS',
74             'SHARE_REPORT_FOLDER',
75             'UPDATE_COPY_LOCATION',
76             'UPDATE_COPY_STAT_CAT',
77             'UPDATE_COPY_STAT_CAT_ENTRY',
78             'VIEW_REPORT_OUTPUT'
79         ) AND NOT EXISTS (
80             SELECT 1
81             FROM permission.grp_perm_map AS map
82             WHERE
83                 map.grp = pgt.id
84                 AND map.perm = perm.id
85         );
86
87 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
88         SELECT
89                 pgt.id, perm.id, aout.depth, TRUE
90         FROM
91                 permission.grp_tree pgt,
92                 permission.perm_list perm,
93                 actor.org_unit_type aout
94         WHERE
95                 pgt.name = 'Circulation Administrator' AND
96                 aout.name = 'Branch' AND
97                 perm.code IN (
98                         'DELETE_USER'
99                 ) AND NOT EXISTS (
100                         SELECT 1
101                         FROM permission.grp_perm_map AS map
102                         WHERE
103                                 map.grp = pgt.id
104                                 AND map.perm = perm.id
105                 );
106
107 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
108         SELECT
109                 pgt.id, perm.id, aout.depth, TRUE
110         FROM
111                 permission.grp_tree pgt,
112                 permission.perm_list perm,
113                 actor.org_unit_type aout
114         WHERE
115                 pgt.name = 'Circulation Administrator' AND
116                 aout.name = 'Consortium' AND
117                 perm.code IN (
118                         'ADMIN_MAX_FINE_RULE',
119                         'CREATE_CIRC_DURATION',
120                         'DELETE_CIRC_DURATION',
121                         'MARK_ITEM_MISSING_PIECES',
122                         'UPDATE_CIRC_DURATION',
123                         'UPDATE_HOLD_REQUEST_TIME',
124                         'UPDATE_NET_ACCESS_LEVEL',
125                         'VIEW_CIRC_MATRIX_MATCHPOINT',
126                         'VIEW_HOLD_MATRIX_MATCHPOINT'
127                 ) AND NOT EXISTS (
128                         SELECT 1
129                         FROM permission.grp_perm_map AS map
130                         WHERE
131                                 map.grp = pgt.id
132                                 AND map.perm = perm.id
133                 );
134
135 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
136         SELECT
137                 pgt.id, perm.id, aout.depth, TRUE
138         FROM
139                 permission.grp_tree pgt,
140                 permission.perm_list perm,
141                 actor.org_unit_type aout
142         WHERE
143                 pgt.name = 'Circulation Administrator' AND
144                 aout.name = 'System' AND
145                 perm.code IN (
146                         'ADMIN_BOOKING_RESERVATION',
147                         'ADMIN_BOOKING_RESERVATION_ATTR_MAP',
148                         'ADMIN_BOOKING_RESERVATION_ATTR_VALUE_MAP',
149                         'ADMIN_BOOKING_RESOURCE',
150                         'ADMIN_BOOKING_RESOURCE_ATTR',
151                         'ADMIN_BOOKING_RESOURCE_ATTR_MAP',
152                         'ADMIN_BOOKING_RESOURCE_ATTR_VALUE',
153                         'ADMIN_BOOKING_RESOURCE_TYPE',
154                         'ADMIN_COPY_LOCATION_ORDER',
155                         'ADMIN_HOLD_CANCEL_CAUSE',
156                         'ASSIGN_GROUP_PERM',
157                         'BAR_PATRON',
158                         'COPY_HOLDS',
159                         'COPY_TRANSIT_RECEIVE',
160                         'CREATE_BILL',
161                         'CREATE_BILLING_TYPE',
162                         'CREATE_NON_CAT_TYPE',
163                         'CREATE_PATRON_STAT_CAT',
164                         'CREATE_PATRON_STAT_CAT_ENTRY',
165                         'CREATE_PATRON_STAT_CAT_ENTRY_MAP',
166                         'CREATE_USER_GROUP_LINK',
167                         'DELETE_BILLING_TYPE',
168                         'DELETE_NON_CAT_TYPE',
169                         'DELETE_PATRON_STAT_CAT',
170                         'DELETE_PATRON_STAT_CAT_ENTRY',
171                         'DELETE_PATRON_STAT_CAT_ENTRY_MAP',
172                         'DELETE_TRANSIT',
173                         'group_application.user.staff',
174                         'MANAGE_BAD_DEBT',
175                         'MARK_ITEM_AVAILABLE',
176                         'MARK_ITEM_BINDERY',
177                         'MARK_ITEM_CHECKED_OUT',
178                         'MARK_ITEM_ILL',
179                         'MARK_ITEM_IN_PROCESS',
180                         'MARK_ITEM_IN_TRANSIT',
181                         'MARK_ITEM_LOST',
182                         'MARK_ITEM_MISSING',
183                         'MARK_ITEM_ON_HOLDS_SHELF',
184                         'MARK_ITEM_ON_ORDER',
185                         'MARK_ITEM_RESHELVING',
186                         'MERGE_USERS',
187                         'money.collections_tracker.create',
188                         'money.collections_tracker.delete',
189                         'OFFLINE_EXECUTE',
190                         'OFFLINE_UPLOAD',
191                         'OFFLINE_VIEW',
192                         'REMOVE_USER_GROUP_LINK',
193                         'SET_CIRC_CLAIMS_RETURNED',
194                         'SET_CIRC_CLAIMS_RETURNED.override',
195                         'SET_CIRC_LOST',
196                         'SET_CIRC_MISSING',
197                         'UNBAR_PATRON',
198                         'UPDATE_BILL_NOTE',
199                         'UPDATE_NON_CAT_TYPE',
200                         'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT',
201                         'UPDATE_PATRON_CLAIM_RETURN_COUNT',
202                         'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF',
203                         'UPDATE_PICKUP_LIB_FROM_TRANSIT',
204                         'UPDATE_USER',
205                         'VIEW_REPORT_OUTPUT',
206                         'VIEW_STANDING_PENALTY',
207                         'VOID_BILLING',
208                         'VOLUME_HOLDS'
209                 ) AND NOT EXISTS (
210                         SELECT 1
211                         FROM permission.grp_perm_map AS map
212                         WHERE
213                                 map.grp = pgt.id
214                                 AND map.perm = perm.id
215                 );
216
217 COMMIT;