Updated field names (recuring->recurring) in one function and added another to insert...
[migration-tools.git] / sql / new_permission_groups.sql
1 --
2 -- Run this script immediately after a normal installation
3 -- (assuming LP bug 782268 is rejected) in order to implement
4 -- the new permission groups.
5 --
6
7 -- Alter the permission hierarchy
8
9 UPDATE permission.grp_tree SET description = oils_i18n_gettext(10, 'Can do anything at the Branch level', 'pgt', 'description') WHERE id = 10;
10
11 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
12         (8, oils_i18n_gettext(8, 'Cataloging Administrator', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.cat_admin');
13 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
14         (9, oils_i18n_gettext(9, 'Circulation Administrator', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.circ_admin');
15 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
16         (11, oils_i18n_gettext(11, 'Serials', 'pgt', 'name'), 3, 
17         oils_i18n_gettext(11, 'Serials (includes admin features)', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.serials');
18 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
19         (12, oils_i18n_gettext(12, 'System Administrator', 'pgt', 'name'), 3, 
20         oils_i18n_gettext(12, 'Can do anything at the System level', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.admin.system_admin');
21 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
22         (13, oils_i18n_gettext(13, 'Global Administrator', 'pgt', 'name'), 3, 
23         oils_i18n_gettext(13, 'Can do anything at the Consortium level', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.admin.global_admin');
24 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
25         (14, oils_i18n_gettext(14, 'Data Review', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.data_review');
26 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
27         (15, oils_i18n_gettext(15, 'Volunteers', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.volunteers');
28
29 SELECT SETVAL('permission.grp_tree_id_seq'::TEXT, (SELECT MAX(id) FROM permission.grp_tree));
30
31
32 -- Wipe out existing permissions
33
34 DELETE FROM permission.usr_grp_map WHERE usr <> 1;
35
36
37 -- Add basic user permissions to the Users group
38
39 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
40         SELECT
41                 pgt.id, perm.id, aout.depth, FALSE
42         FROM
43                 permission.grp_tree pgt,
44                 permission.perm_list perm,
45                 actor.org_unit_type aout
46         WHERE
47                 pgt.name = 'Users' AND
48                 aout.name = 'Consortium' AND
49                 perm.code IN (
50                         'COPY_CHECKIN',
51                         'CREATE_MY_CONTAINER',
52                         'MR_HOLDS',
53                         'OPAC_LOGIN',
54                         'RENEW_CIRC',
55                         'TITLE_HOLDS',
56                         'user_request.create');
57
58
59 -- Add basic user permissions to the Data Review group
60
61 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
62         SELECT
63                 pgt.id, perm.id, aout.depth, FALSE
64         FROM
65                 permission.grp_tree pgt,
66                 permission.perm_list perm,
67                 actor.org_unit_type aout
68         WHERE
69                 pgt.name = 'Data Review' AND
70                 aout.name = 'Consortium' AND
71                 perm.code IN (
72                         'CREATE_COPY_TRANSIT',
73                         'VIEW_BILLING_TYPE',
74                         'VIEW_CIRCULATIONS',
75                         'VIEW_COPY_NOTES',
76                         'VIEW_HOLD',
77                         'VIEW_ORG_SETTINGS',
78                         'VIEW_TITLE_NOTES',
79                         'VIEW_TRANSACTION',
80                         'VIEW_USER',
81                         'VIEW_USER_FINES_SUMMARY',
82                         'VIEW_USER_TRANSACTIONS',
83                         'VIEW_VOLUME_NOTES',
84                         'VIEW_ZIP_DATA');
85
86 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
87         SELECT
88                 pgt.id, perm.id, aout.depth, FALSE
89         FROM
90                 permission.grp_tree pgt,
91                 permission.perm_list perm,
92                 actor.org_unit_type aout
93         WHERE
94                 pgt.name = 'Data Review' AND
95                 aout.name = 'System' AND
96                 perm.code IN (
97                         'COPY_CHECKOUT',
98                         'COPY_HOLDS',
99                         'CREATE_IN_HOUSE_USE',
100                         'CREATE_TRANSACTION',
101                         'OFFLINE_EXECUTE',
102                         'OFFLINE_VIEW',
103                         'STAFF_LOGIN',
104                         'VOLUME_HOLDS');
105
106
107 -- Add basic staff permissions to the Staff group
108
109 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
110         SELECT
111                 pgt.id, perm.id, aout.depth, FALSE
112         FROM
113                 permission.grp_tree pgt,
114                 permission.perm_list perm,
115                 actor.org_unit_type aout
116         WHERE
117                 pgt.name = 'Staff' AND
118                 aout.name = 'Consortium' AND
119                 perm.code IN (
120                         'CREATE_CONTAINER',
121                         'CREATE_CONTAINER_ITEM',
122                         'CREATE_COPY_TRANSIT',
123                         'CREATE_HOLD_NOTIFICATION',
124                         'CREATE_TRANSACTION',
125                         'CREATE_TRANSIT',
126                         'DELETE_CONTAINER',
127                         'DELETE_CONTAINER_ITEM',
128                         'group_application.user',
129                         'group_application.user.patron',
130                         'REGISTER_WORKSTATION',
131                         'REMOTE_Z3950_QUERY',
132                         'REQUEST_HOLDS',
133                         'STAFF_LOGIN',
134                         'TRANSIT_COPY',
135                         'UPDATE_CONTAINER',
136                         'VIEW_CONTAINER',
137                         'VIEW_COPY_CHECKOUT_HISTORY',
138                         'VIEW_COPY_NOTES',
139                         'VIEW_HOLD',
140                         'VIEW_HOLD_NOTIFICATION',
141                         'VIEW_HOLD_PERMIT',
142                         'VIEW_PERM_GROUPS',
143                         'VIEW_PERMISSION',
144                         'VIEW_TITLE_NOTES',
145                         'VIEW_TRANSACTION',
146                         'VIEW_VOLUME_NOTES');
147
148 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
149         SELECT
150                 pgt.id, perm.id, aout.depth, FALSE
151         FROM
152                 permission.grp_tree pgt,
153                 permission.perm_list perm,
154                 actor.org_unit_type aout
155         WHERE
156                 pgt.name = 'Staff' AND
157                 aout.name = 'System' AND
158                 perm.code IN (
159                         'CREATE_USER',
160                         'UPDATE_USER',
161                         'VIEW_BILLING_TYPE',
162                         'VIEW_CIRCULATIONS',
163                         'VIEW_ORG_SETTINGS',
164                         'VIEW_PERMIT_CHECKOUT',
165                         'VIEW_USER',
166                         'VIEW_USER_FINES_SUMMARY',
167                         'VIEW_USER_TRANSACTIONS');
168
169 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
170         SELECT
171                 pgt.id, perm.id, aout.depth, FALSE
172         FROM
173                 permission.grp_tree pgt,
174                 permission.perm_list perm,
175                 actor.org_unit_type aout
176         WHERE
177                 pgt.name = 'Staff' AND
178                 aout.name = 'Branch' AND
179                 perm.code IN (
180                         'CANCEL_HOLDS',
181                         'COPY_CHECKOUT',
182                         'COPY_HOLDS',
183                         'COPY_TRANSIT_RECEIVE',
184                         'CREATE_BILL',
185                         'CREATE_IN_HOUSE_USE',
186                         'CREATE_PAYMENT',
187                         'RENEW_HOLD_OVERRIDE',
188                         'UPDATE_COPY',
189                         'UPDATE_VOLUME',
190                         'VOLUME_HOLDS');
191
192
193 -- Add basic cataloguing permissions to the Catalogers group
194
195 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
196         SELECT
197                 pgt.id, perm.id, aout.depth, FALSE
198         FROM
199                 permission.grp_tree pgt,
200                 permission.perm_list perm,
201                 actor.org_unit_type aout
202         WHERE
203                 pgt.name = 'Catalogers' AND
204                 aout.name = 'Consortium' AND
205                 perm.code IN (
206                         'ALLOW_ALT_TCN',
207                         'CREATE_BIB_IMPORT_QUEUE',
208                         'CREATE_IMPORT_ITEM',
209                         'CREATE_MARC',
210                         'CREATE_TITLE_NOTE',
211                         'DELETE_BIB_IMPORT_QUEUE',
212                         'DELETE_IMPORT_ITEM',
213                         'DELETE_RECORD',
214                         'DELETE_TITLE_NOTE',
215                         'IMPORT_ACQ_LINEITEM_BIB_RECORD',
216                         'IMPORT_MARC',
217                         'MERGE_AUTH_RECORDS',
218                         'MERGE_BIB_RECORDS',
219                         'UPDATE_AUTHORITY_IMPORT_QUEUE',
220                         'UPDATE_AUTHORITY_RECORD_NOTE',
221                         'UPDATE_BIB_IMPORT_QUEUE',
222                         'UPDATE_MARC',
223                         'UPDATE_RECORD',
224                         'user_request.view',
225                         'VIEW_AUTHORITY_RECORD_NOTES');
226
227 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
228         SELECT
229                 pgt.id, perm.id, aout.depth, FALSE
230         FROM
231                 permission.grp_tree pgt,
232                 permission.perm_list perm,
233                 actor.org_unit_type aout
234         WHERE
235                 pgt.name = 'Catalogers' AND
236                 aout.name = 'System' AND
237                 perm.code IN (
238                         'CREATE_COPY',
239                         'CREATE_COPY_NOTE',
240                         'CREATE_MFHD_RECORD',
241                         'CREATE_VOLUME',
242                         'CREATE_VOLUME_NOTE',
243                         'DELETE_COPY',
244                         'DELETE_COPY_NOTE',
245                         'DELETE_MFHD_RECORD',
246                         'DELETE_VOLUME',
247                         'DELETE_VOLUME_NOTE',
248                         'MARK_ITEM_AVAILABLE',
249                         'MARK_ITEM_BINDERY',
250                         'MARK_ITEM_CHECKED_OUT',
251                         'MARK_ITEM_ILL',
252                         'MARK_ITEM_IN_PROCESS',
253                         'MARK_ITEM_IN_TRANSIT',
254                         'MARK_ITEM_LOST',
255                         'MARK_ITEM_MISSING',
256                         'MARK_ITEM_ON_HOLDS_SHELF',
257                         'MARK_ITEM_ON_ORDER',
258                         'MARK_ITEM_RESHELVING',
259                         'UPDATE_COPY',
260                         'UPDATE_COPY_NOTE',
261                         'UPDATE_IMPORT_ITEM',
262                         'UPDATE_MFHD_RECORD',
263                         'UPDATE_VOLUME',
264                         'UPDATE_VOLUME_NOTE',
265                         'VIEW_SERIAL_SUBSCRIPTION');
266
267
268 -- Add advanced cataloguing permissions to the Cataloging Admin group
269
270 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
271         SELECT
272                 pgt.id, perm.id, aout.depth, TRUE
273         FROM
274                 permission.grp_tree pgt,
275                 permission.perm_list perm,
276                 actor.org_unit_type aout
277         WHERE
278                 pgt.name = 'Cataloging Admin' AND
279                 aout.name = 'Consortium' AND
280                 perm.code IN (
281                         'ADMIN_IMPORT_ITEM_ATTR_DEF',
282                         'ADMIN_MERGE_PROFILE',
283                         'CREATE_AUTHORITY_IMPORT_IMPORT_DEF',
284                         'CREATE_BIB_IMPORT_FIELD_DEF',
285                         'CREATE_BIB_SOURCE',
286                         'CREATE_IMPORT_ITEM_ATTR_DEF',
287                         'CREATE_IMPORT_TRASH_FIELD',
288                         'CREATE_MERGE_PROFILE',
289                         'DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
290                         'DELETE_BIB_SOURCE',
291                         'DELETE_IMPORT_ITEM_ATTR_DEF',
292                         'DELETE_IMPORT_TRASH_FIELD',
293                         'DELETE_MERGE_PROFILE',
294                         'UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
295                         'UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF',
296                         'UPDATE_IMPORT_ITEM_ATTR_DEF',
297                         'UPDATE_IMPORT_TRASH_FIELD',
298                         'UPDATE_MERGE_PROFILE');
299
300 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
301         SELECT
302                 pgt.id, perm.id, aout.depth, TRUE
303         FROM
304                 permission.grp_tree pgt,
305                 permission.perm_list perm,
306                 actor.org_unit_type aout
307         WHERE
308                 pgt.name = 'Cataloging Admin' AND
309                 aout.name = 'System' AND
310                 perm.code IN (
311                         'CREATE_COPY_STAT_CAT',
312                         'CREATE_COPY_STAT_CAT_ENTRY',
313                         'CREATE_COPY_STAT_CAT_ENTRY_MAP',
314                         'RUN_REPORTS',
315                         'SHARE_REPORT_FOLDER',
316                         'UPDATE_COPY_LOCATION',
317                         'UPDATE_COPY_STAT_CAT',
318                         'UPDATE_COPY_STAT_CAT_ENTRY',
319                         'VIEW_REPORT_OUTPUT');
320
321
322 -- Add basic circulation permissions to the Circulators group
323
324 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
325         SELECT
326                 pgt.id, perm.id, aout.depth, FALSE
327         FROM
328                 permission.grp_tree pgt,
329                 permission.perm_list perm,
330                 actor.org_unit_type aout
331         WHERE
332                 pgt.name = 'Circulators' AND
333                 aout.name = 'Branch' AND
334                 perm.code IN (
335                         'ADMIN_BOOKING_RESERVATION',
336                         'ADMIN_BOOKING_RESOURCE',
337                         'ADMIN_BOOKING_RESOURCE_ATTR',
338                         'ADMIN_BOOKING_RESOURCE_ATTR_MAP',
339                         'ADMIN_BOOKING_RESOURCE_ATTR_VALUE',
340                         'ADMIN_BOOKING_RESOURCE_TYPE',
341                         'ASSIGN_GROUP_PERM',
342                         'MARK_ITEM_AVAILABLE',
343                         'MARK_ITEM_BINDERY',
344                         'MARK_ITEM_CHECKED_OUT',
345                         'MARK_ITEM_ILL',
346                         'MARK_ITEM_IN_PROCESS',
347                         'MARK_ITEM_IN_TRANSIT',
348                         'MARK_ITEM_LOST',
349                         'MARK_ITEM_MISSING',
350                         'MARK_ITEM_ON_HOLDS_SHELF',
351                         'MARK_ITEM_ON_ORDER',
352                         'MARK_ITEM_RESHELVING',
353                         'OFFLINE_UPLOAD',
354                         'OFFLINE_VIEW',
355                         'REMOVE_USER_GROUP_LINK',
356                         'SET_CIRC_CLAIMS_RETURNED',
357                         'SET_CIRC_CLAIMS_RETURNED.override',
358                         'SET_CIRC_LOST',
359                         'SET_CIRC_MISSING',
360                         'UPDATE_BILL_NOTE',
361                         'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT',
362                         'UPDATE_PATRON_CLAIM_RETURN_COUNT',
363                         'UPDATE_PAYMENT_NOTE',
364                         'UPDATE_PICKUP_LIB FROM_TRANSIT',
365                         'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF',
366                         'VIEW_GROUP_PENALTY_THRESHOLD',
367                         'VIEW_STANDING_PENALTY',
368                         'VOID_BILLING',
369                         'VOLUME_HOLDS');
370
371 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
372         SELECT
373                 pgt.id, perm.id, aout.depth, FALSE
374         FROM
375                 permission.grp_tree pgt,
376                 permission.perm_list perm,
377                 actor.org_unit_type aout
378         WHERE
379                 pgt.name = 'Circulators' AND
380                 aout.name = 'System' AND
381                 perm.code IN (
382                         'ABORT_REMOTE_TRANSIT',
383                         'ABORT_TRANSIT',
384                         'CAPTURE_RESERVATION',
385                         'CIRC_CLAIMS_RETURNED.override',
386                         'CIRC_EXCEEDS_COPY_RANGE.override',
387                         'CIRC_OVERRIDE_DUE_DATE',
388                         'CIRC_PERMIT_OVERRIDE',
389                         'COPY_ALERT_MESSAGE.override',
390                         'COPY_BAD_STATUS.override',
391                         'COPY_CIRC_NOT_ALLOWED.override',
392                         'COPY_IS_REFERENCE.override',
393                         'COPY_NEEDED_FOR_HOLD.override',
394                         'COPY_NOT_AVAILABLE.override',
395                         'COPY_STATUS_LOST.override',
396                         'COPY_STATUS_MISSING.override',
397                         'CREATE_DUPLICATE_HOLDS',
398                         'CREATE_USER_GROUP_LINK',
399                         'DELETE_TRANSIT',
400                         'HOLD_EXISTS.override',
401                         'HOLD_ITEM_CHECKED_OUT.override',
402                         'ISSUANCE_HOLDS',
403                         'ITEM_AGE_PROTECTED.override',
404                         'ITEM_ON_HOLDS_SHELF.override',
405                         'MAX_RENEWALS_REACHED.override',
406                         'OVERRIDE_HOLD_HAS_LOCAL_COPY',
407                         'PATRON_EXCEEDS_CHECKOUT_COUNT.override',
408                         'PATRON_EXCEEDS_FINES.override',
409                         'PATRON_EXCEEDS_OVERDUE_COUNT.override',
410                         'RETRIEVE_RESERVATION_PULL_LIST',
411                         'UPDATE_HOLD');
412
413
414 -- Add advanced circulation permissions to the Circulation Admin group
415
416 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
417         SELECT
418                 pgt.id, perm.id, aout.depth, TRUE
419         FROM
420                 permission.grp_tree pgt,
421                 permission.perm_list perm,
422                 actor.org_unit_type aout
423         WHERE
424                 pgt.name = 'Circulation Admin' AND
425                 aout.name = 'Branch' AND
426                 perm.code IN (
427                         'DELETE_USER');
428
429 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
430         SELECT
431                 pgt.id, perm.id, aout.depth, TRUE
432         FROM
433                 permission.grp_tree pgt,
434                 permission.perm_list perm,
435                 actor.org_unit_type aout
436         WHERE
437                 pgt.name = 'Circulation Admin' AND
438                 aout.name = 'Consortium' AND
439                 perm.code IN (
440                         'ADMIN_MAX_FINE_RULE',
441                         'CREATE_CIRC_DURATION',
442                         'DELETE_CIRC_DURATION',
443                         'UPDATE_CIRC_DURATION',
444                         'UPDATE_NET_ACCESS_LEVEL',
445                         'VIEW_CIRC_MATRIX_MATCHPOINT',
446                         'VIEW_HOLD_MATRIX_MATCHPOINT');
447
448 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
449         SELECT
450                 pgt.id, perm.id, aout.depth, TRUE
451         FROM
452                 permission.grp_tree pgt,
453                 permission.perm_list perm,
454                 actor.org_unit_type aout
455         WHERE
456                 pgt.name = 'Circulation Admin' AND
457                 aout.name = 'System' AND
458                 perm.code IN (
459                         'ADMIN_BOOKING_RESERVATION',
460                         'ADMIN_BOOKING_RESERVATION_ATTR_MAP',
461                         'ADMIN_BOOKING_RESERVATION_ATTR_VALUE_MAP',
462                         'ADMIN_BOOKING_RESOURCE',
463                         'ADMIN_BOOKING_RESOURCE_ATTR',
464                         'ADMIN_BOOKING_RESOURCE_ATTR_MAP',
465                         'ADMIN_BOOKING_RESOURCE_ATTR_VALUE',
466                         'ADMIN_BOOKING_RESOURCE_TYPE',
467                         'ADMIN_COPY_LOCATION_ORDER',
468                         'ADMIN_HOLD_CANCEL_CAUSE',
469                         'ASSIGN_GROUP_PERM',
470                         'BAR_PATRON',
471                         'COPY_HOLDS',
472                         'COPY_TRANSIT_RECEIVE',
473                         'CREATE_BILL',
474                         'CREATE_BILLING_TYPE',
475                         'CREATE_NON_CAT_TYPE',
476                         'CREATE_PATRON_STAT_CAT',
477                         'CREATE_PATRON_STAT_CAT_ENTRY',
478                         'CREATE_PATRON_STAT_CAT_ENTRY_MAP',
479                         'CREATE_USER_GROUP_LINK',
480                         'DELETE_BILLING_TYPE',
481                         'DELETE_NON_CAT_TYPE',
482                         'DELETE_PATRON_STAT_CAT',
483                         'DELETE_PATRON_STAT_CAT_ENTRY',
484                         'DELETE_PATRON_STAT_CAT_ENTRY_MAP',
485                         'DELETE_TRANSIT',
486                         'group_application.user.staff',
487                         'MANAGE_BAD_DEBT',
488                         'MARK_ITEM_AVAILABLE',
489                         'MARK_ITEM_BINDERY',
490                         'MARK_ITEM_CHECKED_OUT',
491                         'MARK_ITEM_ILL',
492                         'MARK_ITEM_IN_PROCESS',
493                         'MARK_ITEM_IN_TRANSIT',
494                         'MARK_ITEM_LOST',
495                         'MARK_ITEM_MISSING',
496                         'MARK_ITEM_ON_HOLDS_SHELF',
497                         'MARK_ITEM_ON_ORDER',
498                         'MARK_ITEM_RESHELVING',
499                         'MERGE_USERS',
500                         'money.collections_tracker.create',
501                         'money.collections_tracker.delete',
502                         'OFFLINE_EXECUTE',
503                         'OFFLINE_UPLOAD',
504                         'OFFLINE_VIEW',
505                         'REMOVE_USER_GROUP_LINK',
506                         'SET_CIRC_CLAIMS_RETURNED',
507                         'SET_CIRC_CLAIMS_RETURNED.override',
508                         'SET_CIRC_LOST',
509                         'SET_CIRC_MISSING',
510                         'UNBAR_PATRON',
511                         'UPDATE_BILL_NOTE',
512                         'UPDATE_NON_CAT_TYPE',
513                         'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT',
514                         'UPDATE_PATRON_CLAIM_RETURN_COUNT',
515                         'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF',
516                         'UPDATE_PICKUP_LIB_FROM_TRANSIT',
517                         'UPDATE_USER',
518                         'VIEW_REPORT_OUTPUT',
519                         'VIEW_STANDING_PENALTY',
520                         'VOID_BILLING',
521                         'VOLUME_HOLDS');
522
523
524 -- Add basic sys admin permissions to the Local Administrator group
525
526 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
527         SELECT
528                 pgt.id, perm.id, aout.depth, TRUE
529         FROM
530                 permission.grp_tree pgt,
531                 permission.perm_list perm,
532                 actor.org_unit_type aout
533         WHERE
534                 pgt.name = 'Local Administrator' AND
535                 aout.name = 'Branch' AND
536                 perm.code IN (
537                         'EVERYTHING');
538
539
540 -- Add administration permissions to the System Administrator group
541
542 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
543         SELECT
544                 pgt.id, perm.id, aout.depth, TRUE
545         FROM
546                 permission.grp_tree pgt,
547                 permission.perm_list perm,
548                 actor.org_unit_type aout
549         WHERE
550                 pgt.name = 'System Administrator' AND
551                 aout.name = 'System' AND
552                 perm.code IN (
553                         'EVERYTHING');
554
555 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
556         SELECT
557                 pgt.id, perm.id, aout.depth, FALSE
558         FROM
559                 permission.grp_tree pgt,
560                 permission.perm_list perm,
561                 actor.org_unit_type aout
562         WHERE
563                 pgt.name = 'System Administrator' AND
564                 aout.name = 'Consortium' AND
565                 perm.code ~ '^VIEW_TRIGGER';
566
567
568 -- Add administration permissions to the Global Administrator group
569
570 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
571         SELECT
572                 pgt.id, perm.id, aout.depth, TRUE
573         FROM
574                 permission.grp_tree pgt,
575                 permission.perm_list perm,
576                 actor.org_unit_type aout
577         WHERE
578                 pgt.name = 'Global Administrator' AND
579                 aout.name = 'Consortium' AND
580                 perm.code IN (
581                         'EVERYTHING');
582
583
584 -- Add basic acquisitions permissions to the Acquisitions group
585
586 SELECT SETVAL('permission.grp_perm_map_id_seq'::TEXT, (SELECT MAX(id) FROM permission.grp_perm_map));
587
588 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
589         SELECT
590                 pgt.id, perm.id, aout.depth, FALSE
591         FROM
592                 permission.grp_tree pgt,
593                 permission.perm_list perm,
594                 actor.org_unit_type aout
595         WHERE
596                 pgt.name = 'Acquisitions' AND
597                 aout.name = 'Consortium' AND
598                 perm.code IN (
599                         'ALLOW_ALT_TCN',
600                         'CREATE_BIB_IMPORT_QUEUE',
601                         'CREATE_IMPORT_ITEM',
602                         'CREATE_INVOICE',
603                         'CREATE_MARC',
604                         'CREATE_PICKLIST',
605                         'CREATE_PURCHASE_ORDER',
606                         'DELETE_BIB_IMPORT_QUEUE',
607                         'DELETE_IMPORT_ITEM',
608                         'DELETE_RECORD',
609                         'DELETE_VOLUME',
610                         'DELETE_VOLUME_NOTE',
611                         'GENERAL_ACQ',
612                         'IMPORT_ACQ_LINEITEM_BIB_RECORD',
613                         'IMPORT_MARC',
614                         'MANAGE_CLAIM',
615                         'MANAGE_FUND',
616                         'MANAGE_FUNDING_SOURCE',
617                         'MANAGE_PROVIDER',
618                         'MARK_ITEM_AVAILABLE',
619                         'MARK_ITEM_BINDERY',
620                         'MARK_ITEM_CHECKED_OUT',
621                         'MARK_ITEM_ILL',
622                         'MARK_ITEM_IN_PROCESS',
623                         'MARK_ITEM_IN_TRANSIT',
624                         'MARK_ITEM_LOST',
625                         'MARK_ITEM_MISSING',
626                         'MARK_ITEM_ON_HOLDS_SHELF',
627                         'MARK_ITEM_ON_ORDER',
628                         'MARK_ITEM_RESHELVING',
629                         'RECEIVE_PURCHASE_ORDER',
630                         'UPDATE_BATCH_COPY',
631                         'UPDATE_BIB_IMPORT_QUEUE',
632                         'UPDATE_COPY',
633                         'UPDATE_FUND',
634                         'UPDATE_FUND_ALLOCATION',
635                         'UPDATE_FUNDING_SOURCE',
636                         'UPDATE_IMPORT_ITEM',
637                         'UPDATE_MARC',
638                         'UPDATE_RECORD',
639                         'UPDATE_VOLUME',
640                         'user_request.delete',
641                         'user_request.update',
642                         'user_request.view',
643                         'VIEW_ACQ_FUND_ALLOCATION_PERCENT',
644                         'VIEW_ACQ_FUNDING_SOURCE',
645                         'VIEW_FUND',
646                         'VIEW_FUND_ALLOCATION',
647                         'VIEW_FUNDING_SOURCE',
648                         'VIEW_HOLDS',
649                         'VIEW_INVOICE',
650                         'VIEW_ORG_SETTINGS',
651                         'VIEW_PICKLIST',
652                         'VIEW_PROVIDER',
653                         'VIEW_PURCHASE_ORDER',
654                         'VIEW_REPORT_OUTPUT');
655
656
657 -- Add acquisitions administration permissions to the Acquisitions Admin group
658
659 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
660         SELECT
661                 pgt.id, perm.id, aout.depth, TRUE
662         FROM
663                 permission.grp_tree pgt,
664                 permission.perm_list perm,
665                 actor.org_unit_type aout
666         WHERE
667                 pgt.name = 'Acquisitions Administrator' AND
668                 aout.name = 'Consortium' AND
669                 perm.code IN (
670                         'ACQ_XFER_MANUAL_DFUND_AMOUNT',
671                         'ADMIN_ACQ_CANCEL_CAUSE',
672                         'ADMIN_ACQ_CLAIM',
673                         'ADMIN_ACQ_CLAIM_EVENT_TYPE',
674                         'ADMIN_ACQ_CLAIM_TYPE',
675                         'ADMIN_ACQ_DISTRIB_FORMULA',
676                         'ADMIN_ACQ_FISCAL_YEAR',
677                         'ADMIN_ACQ_FUND',
678                         'ADMIN_ACQ_FUND_ALLOCATION_PERCENT',
679                         'ADMIN_ACQ_FUND_TAG',
680                         'ADMIN_ACQ_LINE_ITEM_ALERT_TEXT',
681                         'ADMIN_CLAIM_POLICY',
682                         'ADMIN_CURRENCY_TYPE',
683                         'ADMIN_FUND',
684                         'ADMIN_FUNDING_SOURCE',
685                         'ADMIN_INVOICE',
686                         'ADMIN_INVOICE_METHOD',
687                         'ADMIN_INVOICE_PAYMENT_METHOD',
688                         'ADMIN_LINEITEM_MARC_ATTR_DEF',
689                         'ADMIN_PROVIDER',
690                         'ADMIN_USER_REQUEST_TYPE',
691                         'CREATE_ACQ_FUNDING_SOURCE',
692                         'CREATE_FUND',
693                         'CREATE_FUND_ALLOCATION',
694                         'CREATE_FUNDING_SOURCE',
695                         'CREATE_INVOICE_ITEM_TYPE',
696                         'CREATE_INVOICE_METHOD',
697                         'CREATE_PROVIDER',
698                         'DELETE_ACQ_FUNDING_SOURCE',
699                         'DELETE_FUND',
700                         'DELETE_FUND_ALLOCATION',
701                         'DELETE_FUNDING_SOURCE',
702                         'DELETE_INVOICE_ITEM_TYPE',
703                         'DELETE_INVOICE_METHOD',
704                         'DELETE_PROVIDER',
705                         'RUN_REPORTS',
706                         'SHARE_REPORT_FOLDER',
707                         'UPDATE_ACQ_FUNDING_SOURCE',
708                         'UPDATE_INVOICE_ITEM_TYPE',
709                         'UPDATE_INVOICE_METHOD');
710
711
712 -- Add serials permissions to the Serials group
713
714 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
715         SELECT
716                 pgt.id, perm.id, aout.depth, FALSE
717         FROM
718                 permission.grp_tree pgt,
719                 permission.perm_list perm,
720                 actor.org_unit_type aout
721         WHERE
722                 pgt.name = 'Serials' AND
723                 aout.name = 'System' AND
724                 perm.code IN (
725                         'ADMIN_ASSET_COPY_TEMPLATE',
726                         'ADMIN_SERIAL_CAPTION_PATTERN',
727                         'ADMIN_SERIAL_DISTRIBUTION',
728                         'ADMIN_SERIAL_STREAM',
729                         'ADMIN_SERIAL_SUBSCRIPTION',
730                         'ISSUANCE_HOLDS',
731                         'RECEIVE_SERIAL');
732
733
734 -- Add basic staff permissions to the Volunteers group
735
736 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
737         SELECT
738                 pgt.id, perm.id, aout.depth, FALSE
739         FROM
740                 permission.grp_tree pgt,
741                 permission.perm_list perm,
742                 actor.org_unit_type aout
743         WHERE
744                 pgt.name = 'Volunteers' AND
745                 aout.name = 'Branch' AND
746                 perm.code IN (
747                         'COPY_CHECKOUT',
748                         'CREATE_BILL',
749                         'CREATE_IN_HOUSE_USE',
750                         'CREATE_PAYMENT',
751                         'VIEW_BILLING_TYPE',
752                         'VIEW_CIRCS',
753                         'VIEW_COPY_CHECKOUT',
754                         'VIEW_HOLD',
755                         'VIEW_TITLE_HOLDS',
756                         'VIEW_TRANSACTION',
757                         'VIEW_USER',
758                         'VIEW_USER_FINES_SUMMARY',
759                         'VIEW_USER_TRANSACTIONS');
760
761 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
762         SELECT
763                 pgt.id, perm.id, aout.depth, FALSE
764         FROM
765                 permission.grp_tree pgt,
766                 permission.perm_list perm,
767                 actor.org_unit_type aout
768         WHERE
769                 pgt.name = 'Volunteers' AND
770                 aout.name = 'Consortium' AND
771                 perm.code IN (
772                         'CREATE_COPY_TRANSIT',
773                         'CREATE_TRANSACTION',
774                         'CREATE_TRANSIT',
775                         'STAFF_LOGIN',
776                         'TRANSIT_COPY',
777                         'VIEW_ORG_SETTINGS');
778