adding perms and settings for post-upgrade
authorChris Sharp <csharp@georgialibraries.org>
Sun, 13 Jan 2019 16:44:55 +0000 (11:44 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 9 Aug 2019 13:29:05 +0000 (09:29 -0400)
Open-ILS/src/sql/Pg/version-upgrade/pines-post-3.2-upgrade.sql

index 868aec5..906e209 100644 (file)
@@ -3,23 +3,28 @@ BEGIN;
 -- Refresh rmsr so normalization is gone
 SELECT reporter.refresh_materialized_simple_record();
 
--- APPLY_WORKSTATION_SETTING perms go to Staff and CatVendor
-INSERT INTO permission.grp_perm_map (grp, perm, depth) 
+-- permissions
+
+INSERT INTO permission.grp_perm_map (grp, perm, depth)
 VALUES (
-    (SELECT id FROM permission.grp_tree WHERE name = 'Staff'), -- name may vary
-    (SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
-    0 -- or 1, 2, etc.
+-- APPLY_WORKSTATION_SETTING perms go to Staff and CatVendor
+(SELECT id FROM permission.grp_tree WHERE name = 'Staff'), -- name may vary
+(SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
+0 -- or 1, 2, etc.
 ),
 (
-    (SELECT id FROM permission.grp_tree WHERE name = 'CatVendor'), -- name may vary
-    (SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
-    0 -- or 1, 2, etc.
-);
-
-
+(SELECT id FROM permission.grp_tree WHERE name = 'CatVendor'), -- name may vary
+(SELECT id FROM permission.perm_list WHERE code = 'APPLY_WORKSTATION_SETTING'),
+0 -- or 1, 2, etc.
+),
+-- new EMERGENCY_CLOSING perm to admin groups
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LocalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'EMERGENCY_CLOSING'),
+1
+),
 -- map new COPY_ALERT perms to the right groups
-INSERT INTO permission.grp_perm_map (grp, perm, depth)
-VALUES (
+(
 (SELECT id FROM permission.grp_tree WHERE name = 'Cat1'),
 (SELECT id FROM permission.perm_list WHERE code = 'CREATE_COPY_ALERT'),
 1
@@ -98,9 +103,137 @@ VALUES (
 (SELECT id FROM permission.grp_tree WHERE name = 'Staff'),
 (SELECT id FROM permission.perm_list WHERE code = 'VIEW_COPY_ALERT'),
 0
-);
+),
+-- new EMERGENCY_CLOSING perm to admin groups
+(SELECT id FROM permission.grp_tree WHERE name = 'LibraryManager'),
+(SELECT id FROM permission.perm_list WHERE code = 'EMERGENCY_CLOSING'),
+2
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LocalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'EMERGENCY_CLOSING'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'GlobalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'EMERGENCY_CLOSING'),
+0
+),
+-- add MARK_ITEM_DISCARD perms to Catatlogers, Circulators, Administrators
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'GlobalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+0
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LocalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LibraryManager'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+2
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'SuperCat'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+0
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Cat1'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Cat2'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Cat3'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Circ1'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Circ2'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Circ2'),
+(SELECT id FROM permission.perm_list WHERE code = 'MARK_ITEM_DISCARD'),
+1
+),
+-- duplicate holds perm goes to all staff
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Staff'),
+(SELECT id FROM permission.perm_list WHERE code = 'CREATE_DUPLICATE_HOLDS'),
+0
+),
+-- copy delete warning override for discard/weed feature to work
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Circ1'),
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+1
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'SuperCat'),
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+0
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'Cat1'),
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+1
+)
+;
+
+--need to set grantable for these perms/groups
+INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
+VALUES (
+(SELECT id FROM permission.grp_tree WHERE name = 'GlobalAdmin'), 
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+0,
+TRUE
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LocalAdmin'),
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+1,
+TRUE
+),
+(
+(SELECT id FROM permission.grp_tree WHERE name = 'LibraryManager'),
+(SELECT id FROM permission.perm_list WHERE code = 'COPY_DELETE_WARNING.override'),
+1,
+TRUE
+)
+
 
 -- move parent/guardian field data to new field
 UPDATE actor.usr SET guardian = ident_value2, ident_value2 = NULL WHERE NOT deleted AND ident_value2 IS NOT NULL AND ident_value2 <> '';
 
+-- settings
+INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES 
+-- new setting for max duplicate holds
+(1, 'circ.holds.max_duplicate_holds', '"20"'),
+-- settings for parent/guardian field
+(1, 'ui.patron.edit.guardian_required_for_juv', 'true'),
+(1, 'ui.patron.edit.au.guardian.show', 'true'),
+(1, 'ui.patron.edit.au.guardian.suggest', 'true'),
+-- allow multiple email addresses to be entered in patron reg form
+(1, 'ui.patron.edit.au.email.regex', '"[^@<> ]+@[^@<> ]+\\.[^@.*<> ]{2,}"'),
+-- date formatting for web client
+(1, 'webstaff.format.dates', '"MM/dd/yyyy"'),
+(1, 'webstaff.format.date_and_time', '"MM/dd/yyyy HH:mm"'),
+-- allow emailing records without logging in
+(1, 'opac.email_record.allow_without_login', 'true')
+;
+
 COMMIT;