328372724e8131958d66927f99426539eb60b8ef
[Evergreen.git] / Open-ILS / src / sql / Pg / 950.data.seed-values.sql
1 --002.schema.config.sql:
2 INSERT INTO config.bib_source (id, quality, source, transcendant, can_have_copies) VALUES 
3     (1, 90, oils_i18n_gettext(1, 'oclc', 'cbs', 'source'), FALSE, TRUE);
4 INSERT INTO config.bib_source (id, quality, source, transcendant, can_have_copies) VALUES 
5     (2, 10, oils_i18n_gettext(2, 'System Local', 'cbs', 'source'), FALSE, TRUE);
6 INSERT INTO config.bib_source (id, quality, source, transcendant, can_have_copies) VALUES 
7     (3, 1, oils_i18n_gettext(3, 'Project Gutenberg', 'cbs', 'source'), TRUE, TRUE);
8 SELECT SETVAL('config.bib_source_id_seq'::TEXT, 100);
9
10 INSERT INTO biblio.peer_type (id,name) VALUES
11     (1,oils_i18n_gettext(1,'Bound Volume','bpt','name')),
12     (2,oils_i18n_gettext(2,'Bilingual','bpt','name')),
13     (3,oils_i18n_gettext(3,'Back-to-back','bpt','name')),
14     (4,oils_i18n_gettext(4,'Set','bpt','name')),
15     (5,oils_i18n_gettext(5,'e-Reader Preload','bpt','name')); 
16 SELECT SETVAL('biblio.peer_type_id_seq'::TEXT, 100);
17
18 INSERT INTO config.standing (id, value) VALUES (1, oils_i18n_gettext(1, 'Good', 'cst', 'value'));
19 INSERT INTO config.standing (id, value) VALUES (2, oils_i18n_gettext(2, 'Barred', 'cst', 'value'));
20 SELECT SETVAL('config.standing_id_seq'::TEXT, 100);
21
22 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'identifier', oils_i18n_gettext('identifier', 'Identifier', 'cmc', 'label') );
23 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'keyword', oils_i18n_gettext('keyword', 'Keyword', 'cmc', 'label') );
24 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'title', oils_i18n_gettext('title', 'Title', 'cmc', 'label') );
25 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'author', oils_i18n_gettext('author', 'Author', 'cmc', 'label') );
26 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'subject', oils_i18n_gettext('subject', 'Subject', 'cmc', 'label') );
27 INSERT INTO config.metabib_class ( name, label ) VALUES ( 'series', oils_i18n_gettext('series', 'Series', 'cmc', 'label') );
28
29 -- some more from 002.schema.config.sql:
30 INSERT INTO config.xml_transform VALUES ( 'marcxml', 'http://www.loc.gov/MARC21/slim', 'marc', '---' );
31 INSERT INTO config.xml_transform VALUES ( 'mods', 'http://www.loc.gov/mods/', 'mods', '');
32 INSERT INTO config.xml_transform VALUES ( 'mods3', 'http://www.loc.gov/mods/v3', 'mods3', '');
33 INSERT INTO config.xml_transform VALUES ( 'mods32', 'http://www.loc.gov/mods/v3', 'mods32', '');
34 INSERT INTO config.xml_transform VALUES ( 'mods33', 'http://www.loc.gov/mods/v3', 'mods33', '');
35 INSERT INTO config.xml_transform VALUES ( 'marc21expand880', 'http://www.loc.gov/MARC21/slim', 'marc', '' );
36
37 -- Index Definitions
38 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES 
39     (1, 'series', 'seriestitle', oils_i18n_gettext(1, 'Series Title', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:relatedItem[@type="series"]/mods32:titleInfo$$, TRUE );
40
41 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
42     (2, 'title', 'abbreviated', oils_i18n_gettext(2, 'Abbreviated Title', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:titleInfo[mods32:title and (@type='abbreviated')]$$ );
43 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
44     (3, 'title', 'translated', oils_i18n_gettext(3, 'Translated Title', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:titleInfo[mods32:title and (@type='translated')]$$ );
45 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
46     (4, 'title', 'alternative', oils_i18n_gettext(4, 'Alternate Title', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:titleInfo[mods32:title and (@type='alternative')]$$ );
47 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
48     (5, 'title', 'uniform', oils_i18n_gettext(5, 'Uniform Title', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:titleInfo[mods32:title and (@type='uniform')]$$ );
49 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
50     (6, 'title', 'proper', oils_i18n_gettext(6, 'Title Proper', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:titleInfo[mods32:title and not (@type)]$$ );
51
52 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_xpath, facet_field ) VALUES 
53     (7, 'author', 'corporate', oils_i18n_gettext(7, 'Corporate Author', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:name[@type='corporate' and mods32:role/mods32:roleTerm[text()='creator']]$$, $$//*[local-name()='namePart']$$, TRUE ); -- /* to fool vim */;
54 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_xpath, facet_field ) VALUES 
55     (8, 'author', 'personal', oils_i18n_gettext(8, 'Personal Author', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:name[@type='personal' and mods32:role/mods32:roleTerm[text()='creator']]$$, $$//*[local-name()='namePart']$$, TRUE ); -- /* to fool vim */;
56 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_xpath, facet_field ) VALUES 
57     (9, 'author', 'conference', oils_i18n_gettext(9, 'Conference Author', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:name[@type='conference' and mods32:role/mods32:roleTerm[text()='creator']]$$, $$//*[local-name()='namePart']$$, TRUE ); -- /* to fool vim */;
58 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_xpath, facet_field ) VALUES 
59     (10, 'author', 'other', oils_i18n_gettext(10, 'Other Author', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:name[@type='personal' and not(mods32:role/mods32:roleTerm[text()='creator'])]$$, $$//*[local-name()='namePart']$$, TRUE ); -- /* to fool vim */;
60
61 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES 
62     (11, 'subject', 'geographic', oils_i18n_gettext(11, 'Geographic Subject', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:subject/mods32:geographic$$, TRUE );
63 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_xpath, facet_field ) VALUES 
64     (12, 'subject', 'name', oils_i18n_gettext(12, 'Name Subject', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:subject/mods32:name$$, $$//*[local-name()='namePart']$$, TRUE ); -- /* to fool vim */;
65 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES 
66     (13, 'subject', 'temporal', oils_i18n_gettext(13, 'Temporal Subject', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:subject/mods32:temporal$$, TRUE );
67 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, facet_field ) VALUES 
68     (14, 'subject', 'topic', oils_i18n_gettext(14, 'Topic Subject', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:subject/mods32:topic$$, TRUE );
69 --INSERT INTO config.metabib_field ( id, field_class, name, format, xpath ) VALUES 
70 --  ( id, field_class, name, xpath ) VALUES ( 'subject', 'genre', 'mods32', $$//mods32:mods/mods32:genre$$ );
71 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES 
72     (15, 'keyword', 'keyword', oils_i18n_gettext(15, 'General Keywords', 'cmf', 'label'), 'mods32', $$//mods32:mods/*[not(local-name()='originInfo')]$$ ); -- /* to fool vim */;
73 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
74     (16, 'subject', 'complete', oils_i18n_gettext(16, 'All Subjects', 'cmf', 'label'), 'mods32', $$//mods32:mods/mods32:subject$$ );
75
76 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
77     (17, 'identifier', 'accession', oils_i18n_gettext(17, 'Accession Number', 'cmf', 'label'), 'marcxml', $$//marc:controlfield[@tag='001']$$ );
78 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
79     (18, 'identifier', 'isbn', oils_i18n_gettext(18, 'ISBN', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='020']/marc:subfield[@code='a' or @code='z']$$ );
80 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
81     (19, 'identifier', 'issn', oils_i18n_gettext(19, 'ISSN', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='022']/marc:subfield[@code='a' or @code='z']$$ );
82 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
83     (20, 'identifier', 'upc', oils_i18n_gettext(20, 'UPC', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='024' and @ind1='1']/marc:subfield[@code='a' or @code='z']$$ );
84 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
85     (21, 'identifier', 'ismn', oils_i18n_gettext(21, 'ISMN', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='024' and @ind1='2']/marc:subfield[@code='a' or @code='z']$$ );
86 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
87     (22, 'identifier', 'ean', oils_i18n_gettext(22, 'EAN', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='024' and @ind1='3']/marc:subfield[@code='a' or @code='z']$$ );
88 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
89     (23, 'identifier', 'isrc', oils_i18n_gettext(23, 'ISRC', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='024' and @ind1='0']/marc:subfield[@code='a' or @code='z']$$ );
90 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
91     (24, 'identifier', 'sici', oils_i18n_gettext(24, 'SICI', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='024' and @ind1='4']/marc:subfield[@code='a' or @code='z']$$ );
92 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
93     (25, 'identifier', 'bibcn', oils_i18n_gettext(25, 'Local Free-Text Call Number', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='099']$$ );
94 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
95     (26, 'identifier', 'tcn', oils_i18n_gettext(26, 'Title Control Number', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='901']/marc:subfield[@code='a']$$ );
96 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath ) VALUES
97     (27, 'identifier', 'bibid', oils_i18n_gettext(27, 'Internal ID', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='901']/marc:subfield[@code='c']$$ );
98 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath, search_field, facet_field) VALUES
99     (28, 'identifier', 'authority_id', oils_i18n_gettext(28, 'Authority Record ID', 'cmf', 'label'), 'marcxml', '//marc:datafield/marc:subfield[@code="0"]', FALSE, TRUE);
100 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath) VALUES
101     (29, 'identifier', 'scn', oils_i18n_gettext(29, 'System Control Number', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='035']/marc:subfield[@code="a"]$$);
102 INSERT INTO config.metabib_field ( id, field_class, name, label, format, xpath) VALUES
103     (30, 'identifier', 'lccn', oils_i18n_gettext(30, 'LC Control Number', 'cmf', 'label'), 'marcxml', $$//marc:datafield[@tag='010']/marc:subfield[@code="a" or @code='z']$$);
104
105 SELECT SETVAL('config.metabib_field_id_seq'::TEXT, (SELECT MAX(id) FROM config.metabib_field), TRUE);
106
107 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('kw','keyword');
108 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.keyword','keyword');
109 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.publisher','keyword');
110 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('bib.subjecttitle','keyword');
111 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('bib.genre','keyword');
112 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('bib.edition','keyword');
113 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('srw.serverchoice','keyword');
114
115 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('id','identifier');
116 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.identifier','identifier');
117 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.isbn','identifier', 18);
118 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.issn','identifier', 19);
119 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.upc','identifier', 20);
120 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.callnumber','identifier', 25);
121 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.tcn','identifier', 26);
122 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('eg.bibid','identifier', 27);
123
124 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('au','author');
125 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('name','author');
126 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('creator','author');
127 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.author','author');
128 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.name','author');
129 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.creator','author');
130 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.contributor','author');
131 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('bib.name','author');
132 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.namepersonal','author',8);
133 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.namepersonalfamily','author',8);
134 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.namepersonalgiven','author',8);
135 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.namecorporate','author',7);
136 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.nameconference','author',9);
137
138 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('ti','title');
139 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.title','title');
140 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.title','title');
141 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.titleabbreviated','title',2);
142 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.titleuniform','title',5);
143 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.titletranslated','title',3);
144 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.titlealternative','title',4);
145 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.title','title',2);
146
147 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('su','subject');
148 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.subject','subject');
149 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('dc.subject','subject');
150 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.subjectplace','subject',11);
151 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.subjectname','subject',12);
152 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.subjectoccupation','subject',16);
153
154 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('se','series');
155 INSERT INTO config.metabib_search_alias (alias,field_class) VALUES ('eg.series','series');
156 INSERT INTO config.metabib_search_alias (alias,field_class,field) VALUES ('bib.titleseries','series',1);
157
158
159 INSERT INTO config.non_cataloged_type ( id, owning_lib, name ) VALUES ( 1, 1, oils_i18n_gettext(1, 'Paperback Book', 'cnct', 'name') );
160 SELECT SETVAL('config.non_cataloged_type_id_seq'::TEXT, 100);
161
162 INSERT INTO config.identification_type ( id, name ) VALUES 
163     ( 1, oils_i18n_gettext(1, 'Drivers License', 'cit', 'name') );
164 INSERT INTO config.identification_type ( id, name ) VALUES 
165     ( 2, oils_i18n_gettext(2, 'SSN', 'cit', 'name') );
166 INSERT INTO config.identification_type ( id, name ) VALUES 
167     ( 3, oils_i18n_gettext(3, 'Other', 'cit', 'name') );
168 SELECT SETVAL('config.identification_type_id_seq'::TEXT, 100);
169
170 INSERT INTO config.rule_circ_duration VALUES 
171     (1, oils_i18n_gettext(1, '7_days_0_renew', 'crcd', 'name'), '7 days', '7 days', '7 days', 0);
172 INSERT INTO config.rule_circ_duration VALUES 
173     (2, oils_i18n_gettext(2, '28_days_2_renew', 'crcd', 'name'), '28 days', '28 days', '28 days', 2);
174 INSERT INTO config.rule_circ_duration VALUES 
175     (3, oils_i18n_gettext(3, '3_months_0_renew', 'crcd', 'name'), '3 months', '3 months', '3 months', 0);
176 INSERT INTO config.rule_circ_duration VALUES 
177     (4, oils_i18n_gettext(4, '3_days_1_renew', 'crcd', 'name'), '3 days', '3 days', '3 days', 1);
178 INSERT INTO config.rule_circ_duration VALUES 
179     (5, oils_i18n_gettext(5, '2_months_2_renew', 'crcd', 'name'), '2 months', '2 months', '2 months', 2);
180 INSERT INTO config.rule_circ_duration VALUES 
181     (6, oils_i18n_gettext(6, '35_days_1_renew', 'crcd', 'name'), '35 days', '35 days', '35 days', 1);
182 INSERT INTO config.rule_circ_duration VALUES 
183     (7, oils_i18n_gettext(7, '7_days_2_renew', 'crcd', 'name'), '7 days', '7 days', '7 days', 2);
184 INSERT INTO config.rule_circ_duration VALUES 
185     (8, oils_i18n_gettext(8, '1_hour_2_renew', 'crcd', 'name'), '1 hour', '1 hour', '1 hour', 2);
186 INSERT INTO config.rule_circ_duration VALUES 
187     (9, oils_i18n_gettext(9, '28_days_0_renew', 'crcd', 'name'), '28 days', '28 days', '28 days', 0);
188 INSERT INTO config.rule_circ_duration VALUES 
189     (10, oils_i18n_gettext(10, '14_days_2_renew', 'crcd', 'name'), '14 days', '14 days', '14 days', 2);
190 INSERT INTO config.rule_circ_duration VALUES 
191     (11, oils_i18n_gettext(11, 'default', 'crcd', 'name'), '21 days', '14 days', '7 days', 2);
192 SELECT SETVAL('config.rule_circ_duration_id_seq'::TEXT, 100);
193
194 INSERT INTO config.rule_max_fine VALUES 
195     (1, oils_i18n_gettext(1, 'default', 'crmf', 'name'), 5.00);
196 INSERT INTO config.rule_max_fine VALUES 
197     (2, oils_i18n_gettext(2, 'overdue_min', 'crmf', 'name'), 5.00);
198 INSERT INTO config.rule_max_fine VALUES 
199     (3, oils_i18n_gettext(3, 'overdue_mid', 'crmf', 'name'), 10.00);
200 INSERT INTO config.rule_max_fine VALUES 
201     (4, oils_i18n_gettext(4, 'overdue_max', 'crmf', 'name'), 100.00);
202 INSERT INTO config.rule_max_fine VALUES 
203     (5, oils_i18n_gettext(5, 'overdue_equip_min', 'crmf', 'name'), 25.00);
204 INSERT INTO config.rule_max_fine VALUES 
205     (6, oils_i18n_gettext(6, 'overdue_equip_mid', 'crmf', 'name'), 25.00);
206 INSERT INTO config.rule_max_fine VALUES 
207     (7, oils_i18n_gettext(7, 'overdue_equip_max', 'crmf', 'name'), 100.00);
208 SELECT SETVAL('config.rule_max_fine_id_seq'::TEXT, 100);
209
210 INSERT INTO config.rule_recurring_fine VALUES 
211     (1, oils_i18n_gettext(1, 'default', 'crrf', 'name'), 0.50, 0.10, 0.05, '1 day', '1 day');
212 INSERT INTO config.rule_recurring_fine VALUES 
213     (2, oils_i18n_gettext(2, '10_cent_per_day', 'crrf', 'name'), 0.50, 0.10, 0.10, '1 day', '1 day');
214 INSERT INTO config.rule_recurring_fine VALUES 
215     (3, oils_i18n_gettext(3, '50_cent_per_day', 'crrf', 'name'), 0.50, 0.50, 0.50, '1 day', '1 day');
216 SELECT SETVAL('config.rule_recurring_fine_id_seq'::TEXT, 100);
217
218 INSERT INTO config.rule_age_hold_protect VALUES
219         (1, oils_i18n_gettext(1, '3month', 'crahp', 'name'), '3 months', 0);
220 INSERT INTO config.rule_age_hold_protect VALUES
221         (2, oils_i18n_gettext(2, '6month', 'crahp', 'name'), '6 months', 2);
222 SELECT SETVAL('config.rule_age_hold_protect_id_seq'::TEXT, 100);
223
224 INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active) VALUES (0,oils_i18n_gettext(0, 'Available', 'ccs', 'name'),'t','t','t');
225 INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active) VALUES (1,oils_i18n_gettext(1, 'Checked out', 'ccs', 'name'),'t','t','t');
226 INSERT INTO config.copy_status (id,name) VALUES (2,oils_i18n_gettext(2, 'Bindery', 'ccs', 'name'));
227 INSERT INTO config.copy_status (id,name) VALUES (3,oils_i18n_gettext(3, 'Lost', 'ccs', 'name'));
228 INSERT INTO config.copy_status (id,name) VALUES (4,oils_i18n_gettext(4, 'Missing', 'ccs', 'name'));
229 INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (5,oils_i18n_gettext(5, 'In process', 'ccs', 'name'),'t','t');
230 INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (6,oils_i18n_gettext(6, 'In transit', 'ccs', 'name'),'t','t');
231 INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active) VALUES (7,oils_i18n_gettext(7, 'Reshelving', 'ccs', 'name'),'t','t','t');
232 INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active) VALUES (8,oils_i18n_gettext(8, 'On holds shelf', 'ccs', 'name'),'t','t','t');
233 INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (9,oils_i18n_gettext(9, 'On order', 'ccs', 'name'),'t','t');
234 INSERT INTO config.copy_status (id,name,copy_active) VALUES (10,oils_i18n_gettext(10, 'ILL', 'ccs', 'name'),'t');
235 INSERT INTO config.copy_status (id,name) VALUES (11,oils_i18n_gettext(11, 'Cataloging', 'ccs', 'name'));
236 INSERT INTO config.copy_status (id,name,opac_visible,copy_active) VALUES (12,oils_i18n_gettext(12, 'Reserves', 'ccs', 'name'),'t','t');
237 INSERT INTO config.copy_status (id,name) VALUES (13,oils_i18n_gettext(13, 'Discard/Weed', 'ccs', 'name'));
238 INSERT INTO config.copy_status (id,name) VALUES (14,oils_i18n_gettext(14, 'Damaged', 'ccs', 'name'));
239 INSERT INTO config.copy_status (id,name,copy_active) VALUES (15,oils_i18n_gettext(15, 'On reservation shelf', 'ccs', 'name'),'t');
240
241 SELECT SETVAL('config.copy_status_id_seq'::TEXT, 100);
242
243 INSERT INTO config.net_access_level (id, name) VALUES 
244     (1, oils_i18n_gettext(1, 'Filtered', 'cnal', 'name'));
245 INSERT INTO config.net_access_level (id, name) VALUES 
246     (2, oils_i18n_gettext(2, 'Unfiltered', 'cnal', 'name'));
247 INSERT INTO config.net_access_level (id, name) VALUES 
248     (3, oils_i18n_gettext(3, 'No Access', 'cnal', 'name'));
249 SELECT SETVAL('config.net_access_level_id_seq'::TEXT, 100);
250
251 -- available locales
252 INSERT INTO config.i18n_locale (code,marc_code,name,description)
253     VALUES ('en-US', 'eng', oils_i18n_gettext('en-US', 'English (US)', 'i18n_l', 'name'),
254         oils_i18n_gettext('en-US', 'American English', 'i18n_l', 'description'));
255 INSERT INTO config.i18n_locale (code,marc_code,name,description)
256     VALUES ('cs-CZ', 'cze', oils_i18n_gettext('cs-CZ', 'Czech', 'i18n_l', 'name'),
257         oils_i18n_gettext('cs-CZ', 'Czech', 'i18n_l', 'description'));
258 INSERT INTO config.i18n_locale (code,marc_code,name,description)
259     VALUES ('en-CA', 'eng', oils_i18n_gettext('en-CA', 'English (Canada)', 'i18n_l', 'name'),
260         oils_i18n_gettext('en-CA', 'Canadian English', 'i18n_l', 'description'));
261 INSERT INTO config.i18n_locale (code,marc_code,name,description)
262     VALUES ('fr-CA', 'fre', oils_i18n_gettext('fr-CA', 'French (Canada)', 'i18n_l', 'name'),
263         oils_i18n_gettext('fr-CA', 'Canadian French', 'i18n_l', 'description'));
264 INSERT INTO config.i18n_locale (code,marc_code,name,description)
265     VALUES ('hy-AM', 'arm', oils_i18n_gettext('hy-AM', 'Armenian', 'i18n_l', 'name'),
266         oils_i18n_gettext('hy-AM', 'Armenian', 'i18n_l', 'description'));
267 --INSERT INTO config.i18n_locale (code,marc_code,name,description)
268 --    VALUES ('es-US', 'spa', oils_i18n_gettext('es-US', 'Spanish (US)', 'i18n_l', 'name'),
269 --      oils_i18n_gettext('es-US', 'American Spanish', 'i18n_l', 'description'));
270 --INSERT INTO config.i18n_locale (code,marc_code,name,description)
271 --    VALUES ('es-MX', 'spa', oils_i18n_gettext('es-MX', 'Spanish (Mexico)', 'i18n_l', 'name'),
272 --      oils_i18n_gettext('es-MX', 'Mexican Spanish', 'i18n_l', 'description'));
273 INSERT INTO config.i18n_locale (code,marc_code,name,description)
274     VALUES ('ru-RU', 'rus', oils_i18n_gettext('ru-RU', 'Russian', 'i18n_l', 'name'),
275         oils_i18n_gettext('ru-RU', 'Russian', 'i18n_l', 'description'));
276
277 -- Z39.50 server attributes
278
279 INSERT INTO config.z3950_source (name, label, host, port, db, auth)
280         VALUES ('loc', oils_i18n_gettext('loc', 'Library of Congress', 'czs', 'label'), 'z3950.loc.gov', 7090, 'Voyager', FALSE);
281 INSERT INTO config.z3950_source (name, label, host, port, db, auth)
282         VALUES ('oclc', oils_i18n_gettext('oclc', 'OCLC', 'czs', 'label'), 'zcat.oclc.org', 210, 'OLUCWorldCat', TRUE);
283 INSERT INTO config.z3950_source (name, label, host, port, db, auth)
284         VALUES ('biblios', oils_i18n_gettext('biblios','‡biblios.net', 'czs', 'label'), 'z3950.biblios.net', 210, 'bibliographic', FALSE);
285
286 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
287         VALUES (1, 'loc','tcn', oils_i18n_gettext(1, 'Title Control Number', 'cza', 'label'), 12, 1);
288 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
289         VALUES (2, 'loc', 'isbn', oils_i18n_gettext(2, 'ISBN', 'cza', 'label'), 7, 6);
290 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
291         VALUES (3, 'loc', 'lccn', oils_i18n_gettext(3, 'LCCN', 'cza', 'label'), 9, 1);
292 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
293         VALUES (4, 'loc', 'author', oils_i18n_gettext(4, 'Author', 'cza', 'label'), 1003, 6);
294 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
295         VALUES (5, 'loc', 'title', oils_i18n_gettext(5, 'Title', 'cza', 'label'), 4, 6);
296 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
297         VALUES (6, 'loc', 'issn', oils_i18n_gettext(6, 'ISSN', 'cza', 'label'), 8, 1);
298 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
299         VALUES (7, 'loc', 'publisher', oils_i18n_gettext(7, 'Publisher', 'cza', 'label'), 1018, 6);
300 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
301         VALUES (8, 'loc', 'pubdate', oils_i18n_gettext(8, 'Publication Date', 'cza', 'label'), 31, 1);
302 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
303         VALUES (9, 'loc', 'item_type', oils_i18n_gettext(9, 'Item Type', 'cza', 'label'), 1001, 1);
304
305 UPDATE config.z3950_attr SET truncation = 1 WHERE source = 'loc';
306
307 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
308         VALUES (10, 'oclc', 'tcn', oils_i18n_gettext(10, 'Title Control Number', 'cza', 'label'), 12, 1);
309 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
310         VALUES (11, 'oclc', 'isbn', oils_i18n_gettext(11, 'ISBN', 'cza', 'label'), 7, 6);
311 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
312         VALUES (12, 'oclc', 'lccn', oils_i18n_gettext(12, 'LCCN', 'cza', 'label'), 9, 1);
313 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
314         VALUES (13, 'oclc', 'author', oils_i18n_gettext(13, 'Author', 'cza', 'label'), 1003, 6);
315 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
316         VALUES (14, 'oclc', 'title', oils_i18n_gettext(14, 'Title', 'cza', 'label'), 4, 6);
317 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
318         VALUES (15, 'oclc', 'issn', oils_i18n_gettext(15, 'ISSN', 'cza', 'label'), 8, 1);
319 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
320         VALUES (16, 'oclc', 'publisher', oils_i18n_gettext(16, 'Publisher', 'cza', 'label'), 1018, 6);
321 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
322         VALUES (17, 'oclc', 'pubdate', oils_i18n_gettext(17, 'Publication Date', 'cza', 'label'), 31, 1);
323 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
324         VALUES (18, 'oclc', 'item_type', oils_i18n_gettext(18, 'Item Type', 'cza', 'label'), 1001, 1);
325
326 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
327         VALUES (19, 'biblios','tcn', oils_i18n_gettext(19, 'Title Control Number', 'cza', 'label'), 12, 1);
328 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
329         VALUES (20, 'biblios', 'isbn', oils_i18n_gettext(20, 'ISBN', 'cza', 'label'), 7, 6);
330 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
331         VALUES (21, 'biblios', 'lccn', oils_i18n_gettext(21, 'LCCN', 'cza', 'label'), 9, 1);
332 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
333         VALUES (22, 'biblios', 'author', oils_i18n_gettext(22, 'Author', 'cza', 'label'), 1003, 6);
334 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
335         VALUES (23, 'biblios', 'title', oils_i18n_gettext(23, 'Title', 'cza', 'label'), 4, 6);
336 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
337         VALUES (24, 'biblios', 'issn', oils_i18n_gettext(24, 'ISSN', 'cza', 'label'), 8, 1);
338 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
339         VALUES (25, 'biblios', 'publisher', oils_i18n_gettext(25, 'Publisher', 'cza', 'label'), 1018, 6);
340 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
341         VALUES (26, 'biblios', 'pubdate', oils_i18n_gettext(26, 'Publication Date', 'cza', 'label'), 31, 1);
342 INSERT INTO config.z3950_attr (id, source, name, label, code, format)
343         VALUES (27, 'biblios', 'item_type', oils_i18n_gettext(27, 'Item Type', 'cza', 'label'), 1001, 1);
344
345 UPDATE config.z3950_attr SET truncation = 1 WHERE source = 'biblios';
346
347 SELECT SETVAL('config.z3950_attr_id_seq'::TEXT, 100);
348
349 --005.schema.actors.sql:
350
351 -- The PINES levels
352 INSERT INTO actor.org_unit_type (id, name, opac_label, depth, parent, can_have_users, can_have_vols) VALUES 
353     ( 1, oils_i18n_gettext(1, 'Consortium', 'aout', 'name'),
354         oils_i18n_gettext(1, 'Everywhere', 'aout', 'opac_label'), 0, NULL, FALSE, FALSE );
355 INSERT INTO actor.org_unit_type (id, name, opac_label, depth, parent, can_have_users, can_have_vols) VALUES 
356     ( 2, oils_i18n_gettext(2, 'System', 'aout', 'name'),
357         oils_i18n_gettext(2, 'Local Library System', 'aout', 'opac_label'), 1, 1, FALSE, FALSE );
358 INSERT INTO actor.org_unit_type (id, name, opac_label, depth, parent) VALUES 
359     ( 3, oils_i18n_gettext(3, 'Branch', 'aout', 'name'),
360         oils_i18n_gettext(3, 'This Branch', 'aout', 'opac_label'), 2, 2 );
361 INSERT INTO actor.org_unit_type (id, name, opac_label, depth, parent) VALUES 
362     ( 4, oils_i18n_gettext(4, 'Sub-library', 'aout', 'name'),
363         oils_i18n_gettext(4, 'This Specialized Library', 'aout', 'opac_label'), 3, 3 );
364 INSERT INTO actor.org_unit_type (id, name, opac_label, depth, parent) VALUES 
365     ( 5, oils_i18n_gettext(5, 'Bookmobile', 'aout', 'name'),
366         oils_i18n_gettext(5, 'Your Bookmobile', 'aout', 'opac_label'), 3, 3 );
367 SELECT SETVAL('actor.org_unit_type_id_seq'::TEXT, 100);
368
369 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
370     (1, NULL, 1, 'CONS', oils_i18n_gettext(1, 'Example Consortium', 'aou', 'name'));
371 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
372     (2, 1, 2, 'SYS1', oils_i18n_gettext(2, 'Example System 1', 'aou', 'name'));
373 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
374     (3, 1, 2, 'SYS2', oils_i18n_gettext(3, 'Example System 2', 'aou', 'name'));
375 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
376     (4, 2, 3, 'BR1', oils_i18n_gettext(4, 'Example Branch 1', 'aou', 'name'));
377 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
378     (5, 2, 3, 'BR2', oils_i18n_gettext(5, 'Example Branch 2', 'aou', 'name'));
379 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
380     (6, 3, 3, 'BR3', oils_i18n_gettext(6, 'Example Branch 3', 'aou', 'name'));
381 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
382     (7, 3, 3, 'BR4', oils_i18n_gettext(7, 'Example Branch 4', 'aou', 'name'));
383 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
384     (8, 4, 4, 'SL1', oils_i18n_gettext(8, 'Example Sub-library 1', 'aou', 'name'));
385 INSERT INTO actor.org_unit (id, parent_ou, ou_type, shortname, name) VALUES 
386     (9, 6, 5, 'BM1', oils_i18n_gettext(9, 'Example Bookmobile 1', 'aou', 'name'));
387 SELECT SETVAL('actor.org_unit_id_seq'::TEXT, 100);
388
389 INSERT INTO actor.org_address (org_unit, street1, city, state, country, post_code)
390 SELECT id, '123 Main St.', 'Anywhere', 'GA', 'US', '30303'
391 FROM actor.org_unit;
392
393 UPDATE actor.org_unit SET holds_address = id, ill_address = id, billing_address = id, mailing_address = id;
394
395 INSERT INTO config.billing_type (id, name, owner) VALUES
396         ( 1, oils_i18n_gettext(1, 'Overdue Materials', 'cbt', 'name'), 1);
397 INSERT INTO config.billing_type (id, name, owner) VALUES
398         ( 2, oils_i18n_gettext(2, 'Long Overdue Collection Fee', 'cbt', 'name'), 1);
399 INSERT INTO config.billing_type (id, name, owner) VALUES
400         ( 3, oils_i18n_gettext(3, 'Lost Materials', 'cbt', 'name'), 1);
401 INSERT INTO config.billing_type (id, name, owner) VALUES
402         ( 4, oils_i18n_gettext(4, 'Lost Materials Processing Fee', 'cbt', 'name'), 1);
403 INSERT INTO config.billing_type (id, name, owner) VALUES
404         ( 5, oils_i18n_gettext(5, 'System: Deposit', 'cbt', 'name'), 1);
405 INSERT INTO config.billing_type (id, name, owner) VALUES
406         ( 6, oils_i18n_gettext(6, 'System: Rental', 'cbt', 'name'), 1);
407 INSERT INTO config.billing_type (id, name, owner) VALUES
408         ( 7, oils_i18n_gettext(7, 'Damaged Item', 'cbt', 'name'), 1);
409 INSERT INTO config.billing_type (id, name, owner) VALUES
410         ( 8, oils_i18n_gettext(8, 'Damaged Item Processing Fee', 'cbt', 'name'), 1);
411 INSERT INTO config.billing_type (id, name, owner) VALUES
412         ( 9, oils_i18n_gettext(9, 'Notification Fee', 'cbt', 'name'), 1);
413
414 INSERT INTO config.billing_type (id, name, owner) VALUES ( 101, oils_i18n_gettext(101, 'Misc', 'cbt', 'name'), 1);
415
416 SELECT SETVAL('config.billing_type_id_seq'::TEXT, 101);
417
418 --006.data.permissions.sql:
419 INSERT INTO permission.perm_list ( id, code, description ) VALUES
420  ( -1, 'EVERYTHING', oils_i18n_gettext( -1, 
421     'EVERYTHING', 'ppl', 'description' )),
422  ( 1, 'OPAC_LOGIN', oils_i18n_gettext( 1, 
423     'Allow a user to log in to the OPAC', 'ppl', 'description' )),
424  ( 2, 'STAFF_LOGIN', oils_i18n_gettext( 2, 
425     'Allow a user to log in to the staff client', 'ppl', 'description' )),
426  ( 3, 'MR_HOLDS', oils_i18n_gettext( 3, 
427     'Allow a user to create a metarecord holds', 'ppl', 'description' )),
428  ( 4, 'TITLE_HOLDS', oils_i18n_gettext( 4, 
429     'Allow a user to place a hold at the title level', 'ppl', 'description' )),
430  ( 5, 'VOLUME_HOLDS', oils_i18n_gettext( 5, 
431     'Allow a user to place a volume level hold', 'ppl', 'description' )),
432  ( 6, 'COPY_HOLDS', oils_i18n_gettext( 6, 
433     'Allow a user to place a hold on a specific copy', 'ppl', 'description' )),
434  ( 7, 'REQUEST_HOLDS', oils_i18n_gettext( 7, 
435     'Allow a user to create holds for another user (if true, we still check to make sure they have permission to make the type of hold they are requesting, for example, COPY_HOLDS)', 'ppl', 'description' )),
436  ( 8, 'REQUEST_HOLDS_OVERRIDE', oils_i18n_gettext( 8, 
437     '* no longer applicable', 'ppl', 'description' )),
438  ( 9, 'VIEW_HOLD', oils_i18n_gettext( 9, 
439     'Allow a user to view another user''s holds', 'ppl', 'description' )),
440  ( 10, 'DELETE_HOLDS', oils_i18n_gettext( 10, 
441     '* no longer applicable', 'ppl', 'description' )),
442  ( 11, 'UPDATE_HOLD', oils_i18n_gettext( 11, 
443     'Allow a user to update another user''s hold', 'ppl', 'description' )),
444  ( 12, 'RENEW_CIRC', oils_i18n_gettext( 12, 
445     'Allow a user to renew items', 'ppl', 'description' )),
446  ( 13, 'VIEW_USER_FINES_SUMMARY', oils_i18n_gettext( 13, 
447     'Allow a user to view bill details', 'ppl', 'description' )),
448  ( 14, 'VIEW_USER_TRANSACTIONS', oils_i18n_gettext( 14, 
449     'Allow a user to see another user''s grocery or circulation transactions in the Bills Interface; duplicate of VIEW_TRANSACTION', 'ppl', 'description' )),
450  ( 15, 'UPDATE_MARC', oils_i18n_gettext( 15, 
451     'Allow a user to edit a MARC record', 'ppl', 'description' )),
452  ( 16, 'CREATE_MARC', oils_i18n_gettext( 16, 
453     'Allow a user to create new MARC records', 'ppl', 'description' )),
454  ( 17, 'IMPORT_MARC', oils_i18n_gettext( 17, 
455     'Allow a user to import a MARC record via the Z39.50 interface', 'ppl', 'description' )),
456  ( 18, 'CREATE_VOLUME', oils_i18n_gettext( 18, 
457     'Allow a user to create a volume', 'ppl', 'description' )),
458  ( 19, 'UPDATE_VOLUME', oils_i18n_gettext( 19, 
459     'Allow a user to edit volumes - needed for merging records. This is a duplicate of VOLUME_UPDATE; user must have both permissions at appropriate level to merge records.', 'ppl', 'description' )),
460  ( 20, 'DELETE_VOLUME', oils_i18n_gettext( 20, 
461     'Allow a user to delete a volume', 'ppl', 'description' )),
462  ( 21, 'CREATE_COPY', oils_i18n_gettext( 21, 
463     'Allow a user to create a new copy object', 'ppl', 'description' )),
464  ( 22, 'UPDATE_COPY', oils_i18n_gettext( 22, 
465     'Allow a user to edit a copy', 'ppl', 'description' )),
466  ( 23, 'DELETE_COPY', oils_i18n_gettext( 23, 
467     'Allow a user to delete a copy', 'ppl', 'description' )),
468  ( 24, 'RENEW_HOLD_OVERRIDE', oils_i18n_gettext( 24, 
469     'Allow a user to continue to renew an item even if it is required for a hold', 'ppl', 'description' )),
470  ( 25, 'CREATE_USER', oils_i18n_gettext( 25, 
471     'Allow a user to create another user', 'ppl', 'description' )),
472  ( 26, 'UPDATE_USER', oils_i18n_gettext( 26, 
473     'Allow a user to edit a user''s record', 'ppl', 'description' )),
474  ( 27, 'DELETE_USER', oils_i18n_gettext( 27, 
475     'Allow a user to mark a user as deleted', 'ppl', 'description' )),
476  ( 28, 'VIEW_USER', oils_i18n_gettext( 28, 
477     'Allow a user to view another user''s Patron Record', 'ppl', 'description' )),
478  ( 29, 'COPY_CHECKIN', oils_i18n_gettext( 29, 
479     'Allow a user to check in a copy', 'ppl', 'description' )),
480  ( 30, 'CREATE_TRANSIT', oils_i18n_gettext( 30, 
481     'Allow a user to place an item in transit', 'ppl', 'description' )),
482  ( 31, 'VIEW_PERMISSION', oils_i18n_gettext( 31, 
483     'Allow a user to view user permissions within the user permissions editor', 'ppl', 'description' )),
484  ( 32, 'CHECKIN_BYPASS_HOLD_FULFILL', oils_i18n_gettext( 32, 
485     '* no longer applicable', 'ppl', 'description' )),
486  ( 33, 'CREATE_PAYMENT', oils_i18n_gettext( 33, 
487     'Allow a user to record payments in the Billing Interface', 'ppl', 'description' )),
488  ( 34, 'SET_CIRC_LOST', oils_i18n_gettext( 34, 
489     'Allow a user to mark an item as ''lost''', 'ppl', 'description' )),
490  ( 35, 'SET_CIRC_MISSING', oils_i18n_gettext( 35, 
491     'Allow a user to mark an item as ''missing''', 'ppl', 'description' )),
492  ( 36, 'SET_CIRC_CLAIMS_RETURNED', oils_i18n_gettext( 36, 
493     'Allow a user to mark an item as ''claims returned''', 'ppl', 'description' )),
494  ( 37, 'CREATE_TRANSACTION', oils_i18n_gettext( 37, 
495     'Allow a user to create a new billable transaction', 'ppl', 'description' )),
496  ( 38, 'VIEW_TRANSACTION', oils_i18n_gettext( 38, 
497     'Allow a user may view another user''s transactions', 'ppl', 'description' )),
498  ( 39, 'CREATE_BILL', oils_i18n_gettext( 39, 
499     'Allow a user to create a new bill on a transaction', 'ppl', 'description' )),
500  ( 40, 'VIEW_CONTAINER', oils_i18n_gettext( 40, 
501     'Allow a user to view another user''s containers (buckets)', 'ppl', 'description' )),
502  ( 41, 'CREATE_CONTAINER', oils_i18n_gettext( 41, 
503     'Allow a user to create a new container for another user', 'ppl', 'description' )),
504  ( 42, 'UPDATE_ORG_UNIT', oils_i18n_gettext( 42, 
505     'Allow a user to change the settings for an organization unit', 'ppl', 'description' )),
506  ( 43, 'VIEW_CIRCULATIONS', oils_i18n_gettext( 43, 
507     'Allow a user to see what another user has checked out', 'ppl', 'description' )),
508  ( 44, 'DELETE_CONTAINER', oils_i18n_gettext( 44, 
509     'Allow a user to delete another user''s container', 'ppl', 'description' )),
510  ( 45, 'CREATE_CONTAINER_ITEM', oils_i18n_gettext( 45, 
511     'Allow a user to create a container item for another user', 'ppl', 'description' )),
512  ( 46, 'CREATE_USER_GROUP_LINK', oils_i18n_gettext( 46, 
513     'Allow a user to add other users to permission groups', 'ppl', 'description' )),
514  ( 47, 'REMOVE_USER_GROUP_LINK', oils_i18n_gettext( 47, 
515     'Allow a user to remove other users from permission groups', 'ppl', 'description' )),
516  ( 48, 'VIEW_PERM_GROUPS', oils_i18n_gettext( 48, 
517     'Allow a user to view other users'' permission groups', 'ppl', 'description' )),
518  ( 49, 'VIEW_PERMIT_CHECKOUT', oils_i18n_gettext( 49, 
519     'Allow a user to determine whether another user can check out an item', 'ppl', 'description' )),
520  ( 50, 'UPDATE_BATCH_COPY', oils_i18n_gettext( 50, 
521     'Allow a user to edit copies in batch', 'ppl', 'description' )),
522  ( 51, 'CREATE_PATRON_STAT_CAT', oils_i18n_gettext( 51, 
523     'User may create a new patron statistical category', 'ppl', 'description' )),
524  ( 52, 'CREATE_COPY_STAT_CAT', oils_i18n_gettext( 52, 
525     'User may create a copy statistical category', 'ppl', 'description' )),
526  ( 53, 'CREATE_PATRON_STAT_CAT_ENTRY', oils_i18n_gettext( 53, 
527     'User may create an entry in a patron statistical category', 'ppl', 'description' )),
528  ( 54, 'CREATE_COPY_STAT_CAT_ENTRY', oils_i18n_gettext( 54, 
529     'User may create an entry in a copy statistical category', 'ppl', 'description' )),
530  ( 55, 'UPDATE_PATRON_STAT_CAT', oils_i18n_gettext( 55, 
531     'User may update a patron statistical category', 'ppl', 'description' )),
532  ( 56, 'UPDATE_COPY_STAT_CAT', oils_i18n_gettext( 56, 
533     'User may update a copy statistical category', 'ppl', 'description' )),
534  ( 57, 'UPDATE_PATRON_STAT_CAT_ENTRY', oils_i18n_gettext( 57, 
535     'User may update an entry in a patron statistical category', 'ppl', 'description' )),
536  ( 58, 'UPDATE_COPY_STAT_CAT_ENTRY', oils_i18n_gettext( 58, 
537     'User may update an entry in a copy statistical category', 'ppl', 'description' )),
538  ( 59, 'CREATE_PATRON_STAT_CAT_ENTRY_MAP', oils_i18n_gettext( 59, 
539     'User may link another user to an entry in a statistical category', 'ppl', 'description' )),
540  ( 60, 'CREATE_COPY_STAT_CAT_ENTRY_MAP', oils_i18n_gettext( 60, 
541     'User may link a copy to an entry in a statistical category', 'ppl', 'description' )),
542  ( 61, 'DELETE_PATRON_STAT_CAT', oils_i18n_gettext( 61, 
543     'User may delete a patron statistical category', 'ppl', 'description' )),
544  ( 62, 'DELETE_COPY_STAT_CAT', oils_i18n_gettext( 62, 
545     'User may delete a copy statistical category', 'ppl', 'description' )),
546  ( 63, 'DELETE_PATRON_STAT_CAT_ENTRY', oils_i18n_gettext( 63, 
547     'User may delete an entry from a patron statistical category', 'ppl', 'description' )),
548  ( 64, 'DELETE_COPY_STAT_CAT_ENTRY', oils_i18n_gettext( 64, 
549     'User may delete an entry from a copy statistical category', 'ppl', 'description' )),
550  ( 65, 'DELETE_PATRON_STAT_CAT_ENTRY_MAP', oils_i18n_gettext( 65, 
551     'User may delete a patron statistical category entry map', 'ppl', 'description' )),
552  ( 66, 'DELETE_COPY_STAT_CAT_ENTRY_MAP', oils_i18n_gettext( 66, 
553     'User may delete a copy statistical category entry map', 'ppl', 'description' )),
554  ( 67, 'CREATE_NON_CAT_TYPE', oils_i18n_gettext( 67, 
555     'Allow a user to create a new non-cataloged item type', 'ppl', 'description' )),
556  ( 68, 'UPDATE_NON_CAT_TYPE', oils_i18n_gettext( 68, 
557     'Allow a user to update a non-cataloged item type', 'ppl', 'description' )),
558  ( 69, 'CREATE_IN_HOUSE_USE', oils_i18n_gettext( 69, 
559     'Allow a user to create a new in-house-use ', 'ppl', 'description' )),
560  ( 70, 'COPY_CHECKOUT', oils_i18n_gettext( 70, 
561     'Allow a user to check out a copy', 'ppl', 'description' )),
562  ( 71, 'CREATE_COPY_LOCATION', oils_i18n_gettext( 71, 
563     'Allow a user to create a new copy location', 'ppl', 'description' )),
564  ( 72, 'UPDATE_COPY_LOCATION', oils_i18n_gettext( 72, 
565     'Allow a user to update a copy location', 'ppl', 'description' )),
566  ( 73, 'DELETE_COPY_LOCATION', oils_i18n_gettext( 73, 
567     'Allow a user to delete a copy location', 'ppl', 'description' )),
568  ( 74, 'CREATE_COPY_TRANSIT', oils_i18n_gettext( 74, 
569     'Allow a user to create a transit_copy object for transiting a copy', 'ppl', 'description' )),
570  ( 75, 'COPY_TRANSIT_RECEIVE', oils_i18n_gettext( 75, 
571     'Allow a user to close out a transit on a copy', 'ppl', 'description' )),
572  ( 76, 'VIEW_HOLD_PERMIT', oils_i18n_gettext( 76, 
573     'Allow a user to see if another user has permission to place a hold on a given copy', 'ppl', 'description' )),
574  ( 77, 'VIEW_COPY_CHECKOUT_HISTORY', oils_i18n_gettext( 77, 
575     'Allow a user to view which users have checked out a given copy', 'ppl', 'description' )),
576  ( 78, 'REMOTE_Z3950_QUERY', oils_i18n_gettext( 78, 
577     'Allow a user to perform Z39.50 queries against remote servers', 'ppl', 'description' )),
578  ( 79, 'REGISTER_WORKSTATION', oils_i18n_gettext( 79, 
579     'Allow a user to register a new workstation', 'ppl', 'description' )),
580  ( 80, 'VIEW_COPY_NOTES', oils_i18n_gettext( 80, 
581     'Allow a user to view all notes attached to a copy', 'ppl', 'description' )),
582  ( 81, 'VIEW_VOLUME_NOTES', oils_i18n_gettext( 81, 
583     'Allow a user to view all notes attached to a volume', 'ppl', 'description' )),
584  ( 82, 'VIEW_TITLE_NOTES', oils_i18n_gettext( 82, 
585     'Allow a user to view all notes attached to a title', 'ppl', 'description' )),
586  ( 83, 'CREATE_COPY_NOTE', oils_i18n_gettext( 83, 
587     'Allow a user to create a new copy note', 'ppl', 'description' )),
588  ( 84, 'CREATE_VOLUME_NOTE', oils_i18n_gettext( 84, 
589     'Allow a user to create a new volume note', 'ppl', 'description' )),
590  ( 85, 'CREATE_TITLE_NOTE', oils_i18n_gettext( 85, 
591     'Allow a user to create a new title note', 'ppl', 'description' )),
592  ( 86, 'DELETE_COPY_NOTE', oils_i18n_gettext( 86, 
593     'Allow a user to delete another user''s copy notes', 'ppl', 'description' )),
594  ( 87, 'DELETE_VOLUME_NOTE', oils_i18n_gettext( 87, 
595     'Allow a user to delete another user''s volume note', 'ppl', 'description' )),
596  ( 88, 'DELETE_TITLE_NOTE', oils_i18n_gettext( 88, 
597     'Allow a user to delete another user''s title note', 'ppl', 'description' )),
598  ( 89, 'UPDATE_CONTAINER', oils_i18n_gettext( 89, 
599     'Allow a user to update another user''s container', 'ppl', 'description' )),
600  ( 90, 'CREATE_MY_CONTAINER', oils_i18n_gettext( 90, 
601     'Allow a user to create a container for themselves', 'ppl', 'description' )),
602  ( 91, 'VIEW_HOLD_NOTIFICATION', oils_i18n_gettext( 91, 
603     'Allow a user to view notifications attached to a hold', 'ppl', 'description' )),
604  ( 92, 'CREATE_HOLD_NOTIFICATION', oils_i18n_gettext( 92, 
605     'Allow a user to create new hold notifications', 'ppl', 'description' )),
606  ( 93, 'UPDATE_ORG_SETTING', oils_i18n_gettext( 93, 
607     'Allow a user to update an organization unit setting', 'ppl', 'description' )),
608  ( 94, 'OFFLINE_UPLOAD', oils_i18n_gettext( 94, 
609     'Allow a user to upload an offline script', 'ppl', 'description' )),
610  ( 95, 'OFFLINE_VIEW', oils_i18n_gettext( 95, 
611     'Allow a user to view uploaded offline script information', 'ppl', 'description' )),
612  ( 96, 'OFFLINE_EXECUTE', oils_i18n_gettext( 96, 
613     'Allow a user to execute an offline script batch', 'ppl', 'description' )),
614  ( 97, 'CIRC_OVERRIDE_DUE_DATE', oils_i18n_gettext( 97, 
615     'Allow a user to change the due date on an item to any date', 'ppl', 'description' )),
616  ( 98, 'CIRC_PERMIT_OVERRIDE', oils_i18n_gettext( 98, 
617     'Allow a user to bypass the circulation permit call for check out', 'ppl', 'description' )),
618  ( 99, 'COPY_IS_REFERENCE.override', oils_i18n_gettext( 99, 
619     'Allow a user to override the copy_is_reference event', 'ppl', 'description' )),
620  ( 100, 'VOID_BILLING', oils_i18n_gettext( 100, 
621     'Allow a user to void a bill', 'ppl', 'description' )),
622  ( 101, 'CIRC_CLAIMS_RETURNED.override', oils_i18n_gettext( 101, 
623     'Allow a user to check in or check out an item that has a status of ''claims returned''', 'ppl', 'description' )),
624  ( 102, 'COPY_BAD_STATUS.override', oils_i18n_gettext( 102, 
625     'Allow a user to check out an item in a non-circulatable status', 'ppl', 'description' )),
626  ( 103, 'COPY_ALERT_MESSAGE.override', oils_i18n_gettext( 103, 
627     'Allow a user to check in/out an item that has an alert message', 'ppl', 'description' )),
628  ( 104, 'COPY_STATUS_LOST.override', oils_i18n_gettext( 104, 
629     'Allow a user to remove the lost status from a copy', 'ppl', 'description' )),
630  ( 105, 'COPY_STATUS_MISSING.override', oils_i18n_gettext( 105, 
631     'Allow a user to change the missing status on a copy', 'ppl', 'description' )),
632  ( 106, 'ABORT_TRANSIT', oils_i18n_gettext( 106, 
633     'Allow a user to abort a copy transit if the user is at the transit destination or source', 'ppl', 'description' )),
634  ( 107, 'ABORT_REMOTE_TRANSIT', oils_i18n_gettext( 107, 
635     'Allow a user to abort a copy transit if the user is not at the transit source or dest', 'ppl', 'description' )),
636  ( 108, 'VIEW_ZIP_DATA', oils_i18n_gettext( 108, 
637     'Allow a user to query the ZIP code data method', 'ppl', 'description' )),
638  ( 109, 'CANCEL_HOLDS', oils_i18n_gettext( 109, 
639     'Allow a user to cancel holds', 'ppl', 'description' )),
640  ( 110, 'CREATE_DUPLICATE_HOLDS', oils_i18n_gettext( 110, 
641     'Allow a user to create duplicate holds (two or more holds on the same title)', 'ppl', 'description' )),
642  ( 111, 'actor.org_unit.closed_date.delete', oils_i18n_gettext( 111, 
643     'Allow a user to remove a closed date interval for a given location', 'ppl', 'description' )),
644  ( 112, 'actor.org_unit.closed_date.update', oils_i18n_gettext( 112, 
645     'Allow a user to update a closed date interval for a given location', 'ppl', 'description' )),
646  ( 113, 'actor.org_unit.closed_date.create', oils_i18n_gettext( 113, 
647     'Allow a user to create a new closed date for a location', 'ppl', 'description' )),
648  ( 114, 'DELETE_NON_CAT_TYPE', oils_i18n_gettext( 114, 
649     'Allow a user to delete a non cataloged type', 'ppl', 'description' )),
650  ( 115, 'money.collections_tracker.create', oils_i18n_gettext( 115, 
651     'Allow a user to put someone into collections', 'ppl', 'description' )),
652  ( 116, 'money.collections_tracker.delete', oils_i18n_gettext( 116, 
653     'Allow a user to remove someone from collections', 'ppl', 'description' )),
654  ( 117, 'BAR_PATRON', oils_i18n_gettext( 117, 
655     'Allow a user to bar a patron', 'ppl', 'description' )),
656  ( 118, 'UNBAR_PATRON', oils_i18n_gettext( 118, 
657     'Allow a user to un-bar a patron', 'ppl', 'description' )),
658  ( 119, 'DELETE_WORKSTATION', oils_i18n_gettext( 119, 
659     'Allow a user to remove an existing workstation so a new one can replace it', 'ppl', 'description' )),
660  ( 120, 'group_application.user', oils_i18n_gettext( 120, 
661     'Allow a user to add/remove users to/from the "User" group', 'ppl', 'description' )),
662  ( 121, 'group_application.user.patron', oils_i18n_gettext( 121, 
663     'Allow a user to add/remove users to/from the "Patron" group', 'ppl', 'description' )),
664  ( 122, 'group_application.user.staff', oils_i18n_gettext( 122, 
665     'Allow a user to add/remove users to/from the "Staff" group', 'ppl', 'description' )),
666  ( 123, 'group_application.user.staff.circ', oils_i18n_gettext( 123, 
667     'Allow a user to add/remove users to/from the "Circulator" group', 'ppl', 'description' )),
668  ( 124, 'group_application.user.staff.cat', oils_i18n_gettext( 124, 
669     'Allow a user to add/remove users to/from the "Cataloger" group', 'ppl', 'description' )),
670  ( 125, 'group_application.user.staff.admin.global_admin', oils_i18n_gettext( 125, 
671     'Allow a user to add/remove users to/from the "GlobalAdmin" group', 'ppl', 'description' )),
672  ( 126, 'group_application.user.staff.admin.local_admin', oils_i18n_gettext( 126, 
673     'Allow a user to add/remove users to/from the "LocalAdmin" group', 'ppl', 'description' )),
674  ( 127, 'group_application.user.staff.admin.lib_manager', oils_i18n_gettext( 127, 
675     'Allow a user to add/remove users to/from the "LibraryManager" group', 'ppl', 'description' )),
676  ( 128, 'group_application.user.staff.cat.cat1', oils_i18n_gettext( 128, 
677     'Allow a user to add/remove users to/from the "Cat1" group', 'ppl', 'description' )),
678  ( 129, 'group_application.user.staff.supercat', oils_i18n_gettext( 129, 
679     'Allow a user to add/remove users to/from the "Supercat" group', 'ppl', 'description' )),
680  ( 130, 'group_application.user.sip_client', oils_i18n_gettext( 130, 
681     'Allow a user to add/remove users to/from the "SIP-Client" group', 'ppl', 'description' )),
682  ( 131, 'group_application.user.vendor', oils_i18n_gettext( 131, 
683     'Allow a user to add/remove users to/from the "Vendor" group', 'ppl', 'description' )),
684  ( 132, 'ITEM_AGE_PROTECTED.override', oils_i18n_gettext( 132, 
685     'Allow a user to place a hold on an age-protected item', 'ppl', 'description' )),
686  ( 133, 'MAX_RENEWALS_REACHED.override', oils_i18n_gettext( 133, 
687     'Allow a user to renew an item past the maximum renewal count', 'ppl', 'description' )),
688  ( 134, 'PATRON_EXCEEDS_CHECKOUT_COUNT.override', oils_i18n_gettext( 134, 
689     'Allow staff to override checkout count failure', 'ppl', 'description' )),
690  ( 135, 'PATRON_EXCEEDS_OVERDUE_COUNT.override', oils_i18n_gettext( 135, 
691     'Allow staff to override overdue count failure', 'ppl', 'description' )),
692  ( 136, 'PATRON_EXCEEDS_FINES.override', oils_i18n_gettext( 136, 
693     'Allow staff to override fine amount checkout failure', 'ppl', 'description' )),
694  ( 137, 'CIRC_EXCEEDS_COPY_RANGE.override', oils_i18n_gettext( 137, 
695     'Allow staff to override circulation copy range failure', 'ppl', 'description' )),
696  ( 138, 'ITEM_ON_HOLDS_SHELF.override', oils_i18n_gettext( 138, 
697     'Allow staff to override item on holds shelf failure', 'ppl', 'description' )),
698  ( 139, 'COPY_NOT_AVAILABLE.override', oils_i18n_gettext( 139, 
699     'Allow staff to force checkout of Missing/Lost type items', 'ppl', 'description' )),
700  ( 140, 'HOLD_EXISTS.override', oils_i18n_gettext( 140, 
701     'Allow a user to place multiple holds on a single title', 'ppl', 'description' )),
702  ( 141, 'RUN_REPORTS', oils_i18n_gettext( 141, 
703     'Allow a user to run reports', 'ppl', 'description' )),
704  ( 142, 'SHARE_REPORT_FOLDER', oils_i18n_gettext( 142, 
705     'Allow a user to share report his own folders', 'ppl', 'description' )),
706  ( 143, 'VIEW_REPORT_OUTPUT', oils_i18n_gettext( 143, 
707     'Allow a user to view report output', 'ppl', 'description' )),
708  ( 144, 'COPY_CIRC_NOT_ALLOWED.override', oils_i18n_gettext( 144, 
709     'Allow a user to checkout an item that is marked as non-circ', 'ppl', 'description' )),
710  ( 145, 'DELETE_CONTAINER_ITEM', oils_i18n_gettext( 145, 
711     'Allow a user to delete an item out of another user''s container', 'ppl', 'description' )),
712  ( 146, 'ASSIGN_WORK_ORG_UNIT', oils_i18n_gettext( 146, 
713     'Allow a staff member to define where another staff member has their permissions', 'ppl', 'description' )),
714  ( 147, 'CREATE_FUNDING_SOURCE', oils_i18n_gettext( 147, 
715     'Allow a user to create a new funding source', 'ppl', 'description' )),
716  ( 148, 'DELETE_FUNDING_SOURCE', oils_i18n_gettext( 148, 
717     'Allow a user to delete a funding source', 'ppl', 'description' )),
718  ( 149, 'VIEW_FUNDING_SOURCE', oils_i18n_gettext( 149, 
719     'Allow a user to view a funding source', 'ppl', 'description' )),
720  ( 150, 'UPDATE_FUNDING_SOURCE', oils_i18n_gettext( 150, 
721     'Allow a user to update a funding source', 'ppl', 'description' )),
722  ( 151, 'CREATE_FUND', oils_i18n_gettext( 151, 
723     'Allow a user to create a new fund', 'ppl', 'description' )),
724  ( 152, 'DELETE_FUND', oils_i18n_gettext( 152, 
725     'Allow a user to delete a fund', 'ppl', 'description' )),
726  ( 153, 'VIEW_FUND', oils_i18n_gettext( 153, 
727     'Allow a user to view a fund', 'ppl', 'description' )),
728  ( 154, 'UPDATE_FUND', oils_i18n_gettext( 154, 
729     'Allow a user to update a fund', 'ppl', 'description' )),
730  ( 155, 'CREATE_FUND_ALLOCATION', oils_i18n_gettext( 155, 
731     'Allow a user to create a new fund allocation', 'ppl', 'description' )),
732  ( 156, 'DELETE_FUND_ALLOCATION', oils_i18n_gettext( 156, 
733     'Allow a user to delete a fund allocation', 'ppl', 'description' )),
734  ( 157, 'VIEW_FUND_ALLOCATION', oils_i18n_gettext( 157, 
735     'Allow a user to view a fund allocation', 'ppl', 'description' )),
736  ( 158, 'UPDATE_FUND_ALLOCATION', oils_i18n_gettext( 158, 
737     'Allow a user to update a fund allocation', 'ppl', 'description' )),
738  ( 159, 'GENERAL_ACQ', oils_i18n_gettext( 159, 
739     'Lowest level permission required to access the ACQ interface', 'ppl', 'description' )),
740  ( 160, 'CREATE_PROVIDER', oils_i18n_gettext( 160, 
741     'Allow a user to create a new provider', 'ppl', 'description' )),
742  ( 161, 'DELETE_PROVIDER', oils_i18n_gettext( 161, 
743     'Allow a user to delate a provider', 'ppl', 'description' )),
744  ( 162, 'VIEW_PROVIDER', oils_i18n_gettext( 162, 
745     'Allow a user to view a provider', 'ppl', 'description' )),
746  ( 163, 'UPDATE_PROVIDER', oils_i18n_gettext( 163, 
747     'Allow a user to update a provider', 'ppl', 'description' )),
748  ( 164, 'ADMIN_FUNDING_SOURCE', oils_i18n_gettext( 164, 
749     'Allow a user to create/view/update/delete a funding source', 'ppl', 'description' )),
750  ( 165, 'ADMIN_FUND', oils_i18n_gettext( 165, 
751     '(Deprecated) Allow a user to create/view/update/delete a fund', 'ppl', 'description' )),
752  ( 166, 'MANAGE_FUNDING_SOURCE', oils_i18n_gettext( 166, 
753     'Allow a user to view/credit/debit a funding source', 'ppl', 'description' )),
754  ( 167, 'MANAGE_FUND', oils_i18n_gettext( 167, 
755     'Allow a user to view/credit/debit a fund', 'ppl', 'description' )),
756  ( 168, 'CREATE_PICKLIST', oils_i18n_gettext( 168, 
757     'Allows a user to create a picklist', 'ppl', 'description' )),
758  ( 169, 'ADMIN_PROVIDER', oils_i18n_gettext( 169, 
759     'Allow a user to create/view/update/delete a provider', 'ppl', 'description' )),
760  ( 170, 'MANAGE_PROVIDER', oils_i18n_gettext( 170, 
761     'Allow a user to view and purchase from a provider', 'ppl', 'description' )),
762  ( 171, 'VIEW_PICKLIST', oils_i18n_gettext( 171, 
763     'Allow a user to view another users picklist', 'ppl', 'description' )),
764  ( 172, 'DELETE_RECORD', oils_i18n_gettext( 172, 
765     'Allow a staff member to directly remove a bibliographic record', 'ppl', 'description' )),
766  ( 173, 'ADMIN_CURRENCY_TYPE', oils_i18n_gettext( 173, 
767     'Allow a user to create/view/update/delete a currency_type', 'ppl', 'description' )),
768  ( 174, 'MARK_BAD_DEBT', oils_i18n_gettext( 174, 
769     'Allow a user to mark a transaction as bad (unrecoverable) debt', 'ppl', 'description' )),
770  ( 175, 'VIEW_BILLING_TYPE', oils_i18n_gettext( 175, 
771     'Allow a user to view billing types', 'ppl', 'description' )),
772  ( 176, 'MARK_ITEM_AVAILABLE', oils_i18n_gettext( 176, 
773     'Allow a user to mark an item status as ''available''', 'ppl', 'description' )),
774  ( 177, 'MARK_ITEM_CHECKED_OUT', oils_i18n_gettext( 177, 
775     'Allow a user to mark an item status as ''checked out''', 'ppl', 'description' )),
776  ( 178, 'MARK_ITEM_BINDERY', oils_i18n_gettext( 178, 
777     'Allow a user to mark an item status as ''bindery''', 'ppl', 'description' )),
778  ( 179, 'MARK_ITEM_LOST', oils_i18n_gettext( 179, 
779     'Allow a user to mark an item status as ''lost''', 'ppl', 'description' )),
780  ( 180, 'MARK_ITEM_MISSING', oils_i18n_gettext( 180, 
781     'Allow a user to mark an item status as ''missing''', 'ppl', 'description' )),
782  ( 181, 'MARK_ITEM_IN_PROCESS', oils_i18n_gettext( 181, 
783     'Allow a user to mark an item status as ''in process''', 'ppl', 'description' )),
784  ( 182, 'MARK_ITEM_IN_TRANSIT', oils_i18n_gettext( 182, 
785     'Allow a user to mark an item status as ''in transit''', 'ppl', 'description' )),
786  ( 183, 'MARK_ITEM_RESHELVING', oils_i18n_gettext( 183, 
787     'Allow a user to mark an item status as ''reshelving''', 'ppl', 'description' )),
788  ( 184, 'MARK_ITEM_ON_HOLDS_SHELF', oils_i18n_gettext( 184, 
789     'Allow a user to mark an item status as ''on holds shelf''', 'ppl', 'description' )),
790  ( 185, 'MARK_ITEM_ON_ORDER', oils_i18n_gettext( 185, 
791     'Allow a user to mark an item status as ''on order''', 'ppl', 'description' )),
792  ( 186, 'MARK_ITEM_ILL', oils_i18n_gettext( 186, 
793     'Allow a user to mark an item status as ''inter-library loan''', 'ppl', 'description' )),
794  ( 187, 'group_application.user.staff.acq', oils_i18n_gettext( 187, 
795     'Allows a user to add/remove/edit users in the "ACQ" group', 'ppl', 'description' )),
796  ( 188, 'CREATE_PURCHASE_ORDER', oils_i18n_gettext( 188, 
797     'Allows a user to create a purchase order', 'ppl', 'description' )),
798  ( 189, 'VIEW_PURCHASE_ORDER', oils_i18n_gettext( 189, 
799     'Allows a user to view a purchase order', 'ppl', 'description' )),
800  ( 190, 'IMPORT_ACQ_LINEITEM_BIB_RECORD', oils_i18n_gettext( 190, 
801     'Allows a user to import a bib record from the acq staging area (on-order record) into the ILS bib data set', 'ppl', 'description' )),
802  ( 191, 'RECEIVE_PURCHASE_ORDER', oils_i18n_gettext( 191, 
803     'Allows a user to mark a purchase order, lineitem, or individual copy as received', 'ppl', 'description' )),
804  ( 192, 'VIEW_ORG_SETTINGS', oils_i18n_gettext( 192, 
805     'Allows a user to view all org settings at the specified level', 'ppl', 'description' )),
806  ( 193, 'CREATE_MFHD_RECORD', oils_i18n_gettext( 193, 
807     'Allows a user to create a new MFHD record', 'ppl', 'description' )),
808  ( 194, 'UPDATE_MFHD_RECORD', oils_i18n_gettext( 194, 
809     'Allows a user to update an MFHD record', 'ppl', 'description' )),
810  ( 195, 'DELETE_MFHD_RECORD', oils_i18n_gettext( 195, 
811     'Allows a user to delete an MFHD record', 'ppl', 'description' )),
812  ( 196, 'ADMIN_ACQ_FUND', oils_i18n_gettext( 196, 
813     'Allow a user to create/view/update/delete a fund', 'ppl', 'description' )),
814  ( 197, 'group_application.user.staff.acq_admin', oils_i18n_gettext( 197, 
815     'Allows a user to add/remove/edit users in the "Acquisitions Administrators" group', 'ppl', 'description' )),
816  ( 198, 'SET_CIRC_CLAIMS_RETURNED.override', oils_i18n_gettext( 198, 
817     'Allows staff to override the max claims returned value for a patron', 'ppl', 'description' )),
818  ( 199, 'UPDATE_PATRON_CLAIM_RETURN_COUNT', oils_i18n_gettext( 199, 
819     'Allows staff to manually change a patron''s claims returned count', 'ppl', 'description' )),
820  ( 200, 'UPDATE_BILL_NOTE', oils_i18n_gettext( 200, 
821     'Allows staff to edit the note for a bill on a transaction', 'ppl', 'description' )),
822  ( 201, 'UPDATE_PAYMENT_NOTE', oils_i18n_gettext( 201, 
823     'Allows staff to edit the note for a payment on a transaction', 'ppl', 'description' )),
824  ( 202, 'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT', oils_i18n_gettext( 202, 
825     'Allows staff to manually change a patron''s claims never checkout out count', 'ppl', 'description' )),
826  ( 203, 'ADMIN_COPY_LOCATION_ORDER', oils_i18n_gettext( 203, 
827     'Allow a user to create/view/update/delete a copy location order', 'ppl', 'description' )),
828  ( 204, 'ASSIGN_GROUP_PERM', oils_i18n_gettext( 204, 
829     'ASSIGN_GROUP_PERM', 'ppl', 'description' )),
830  ( 205, 'CREATE_AUDIENCE', oils_i18n_gettext( 205, 
831     'CREATE_AUDIENCE', 'ppl', 'description' )),
832  ( 206, 'CREATE_BIB_LEVEL', oils_i18n_gettext( 206, 
833     'CREATE_BIB_LEVEL', 'ppl', 'description' )),
834  ( 207, 'CREATE_CIRC_DURATION', oils_i18n_gettext( 207, 
835     'CREATE_CIRC_DURATION', 'ppl', 'description' )),
836  ( 208, 'CREATE_CIRC_MOD', oils_i18n_gettext( 208, 
837     'CREATE_CIRC_MOD', 'ppl', 'description' )),
838  ( 209, 'CREATE_COPY_STATUS', oils_i18n_gettext( 209, 
839     'CREATE_COPY_STATUS', 'ppl', 'description' )),
840  ( 210, 'CREATE_HOURS_OF_OPERATION', oils_i18n_gettext( 210, 
841     'CREATE_HOURS_OF_OPERATION', 'ppl', 'description' )),
842  ( 211, 'CREATE_ITEM_FORM', oils_i18n_gettext( 211, 
843     'CREATE_ITEM_FORM', 'ppl', 'description' )),
844  ( 212, 'CREATE_ITEM_TYPE', oils_i18n_gettext( 212, 
845     'CREATE_ITEM_TYPE', 'ppl', 'description' )),
846  ( 213, 'CREATE_LANGUAGE', oils_i18n_gettext( 213, 
847     'CREATE_LANGUAGE', 'ppl', 'description' )),
848  ( 214, 'CREATE_LASSO', oils_i18n_gettext( 214, 
849     'CREATE_LASSO', 'ppl', 'description' )),
850  ( 215, 'CREATE_LASSO_MAP', oils_i18n_gettext( 215, 
851     'CREATE_LASSO_MAP', 'ppl', 'description' )),
852  ( 216, 'CREATE_LIT_FORM', oils_i18n_gettext( 216, 
853     'CREATE_LIT_FORM', 'ppl', 'description' )),
854  ( 217, 'CREATE_METABIB_FIELD', oils_i18n_gettext( 217, 
855     'CREATE_METABIB_FIELD', 'ppl', 'description' )),
856  ( 218, 'CREATE_NET_ACCESS_LEVEL', oils_i18n_gettext( 218, 
857     'CREATE_NET_ACCESS_LEVEL', 'ppl', 'description' )),
858  ( 219, 'CREATE_ORG_ADDRESS', oils_i18n_gettext( 219, 
859     'CREATE_ORG_ADDRESS', 'ppl', 'description' )),
860  ( 220, 'CREATE_ORG_TYPE', oils_i18n_gettext( 220, 
861     'CREATE_ORG_TYPE', 'ppl', 'description' )),
862  ( 221, 'CREATE_ORG_UNIT', oils_i18n_gettext( 221, 
863     'CREATE_ORG_UNIT', 'ppl', 'description' )),
864  ( 222, 'CREATE_ORG_UNIT_CLOSING', oils_i18n_gettext( 222, 
865     'CREATE_ORG_UNIT_CLOSING', 'ppl', 'description' )),
866  ( 223, 'CREATE_PERM', oils_i18n_gettext( 223, 
867     'CREATE_PERM', 'ppl', 'description' )),
868  ( 224, 'CREATE_RELEVANCE_ADJUSTMENT', oils_i18n_gettext( 224, 
869     'CREATE_RELEVANCE_ADJUSTMENT', 'ppl', 'description' )),
870  ( 225, 'CREATE_SURVEY', oils_i18n_gettext( 225, 
871     'CREATE_SURVEY', 'ppl', 'description' )),
872  ( 226, 'CREATE_VR_FORMAT', oils_i18n_gettext( 226, 
873     'CREATE_VR_FORMAT', 'ppl', 'description' )),
874  ( 227, 'CREATE_XML_TRANSFORM', oils_i18n_gettext( 227, 
875     'CREATE_XML_TRANSFORM', 'ppl', 'description' )),
876  ( 228, 'DELETE_AUDIENCE', oils_i18n_gettext( 228, 
877     'DELETE_AUDIENCE', 'ppl', 'description' )),
878  ( 229, 'DELETE_BIB_LEVEL', oils_i18n_gettext( 229, 
879     'DELETE_BIB_LEVEL', 'ppl', 'description' )),
880  ( 230, 'DELETE_CIRC_DURATION', oils_i18n_gettext( 230, 
881     'DELETE_CIRC_DURATION', 'ppl', 'description' )),
882  ( 231, 'DELETE_CIRC_MOD', oils_i18n_gettext( 231, 
883     'DELETE_CIRC_MOD', 'ppl', 'description' )),
884  ( 232, 'DELETE_COPY_STATUS', oils_i18n_gettext( 232, 
885     'DELETE_COPY_STATUS', 'ppl', 'description' )),
886  ( 233, 'DELETE_HOURS_OF_OPERATION', oils_i18n_gettext( 233, 
887     'DELETE_HOURS_OF_OPERATION', 'ppl', 'description' )),
888  ( 234, 'DELETE_ITEM_FORM', oils_i18n_gettext( 234, 
889     'DELETE_ITEM_FORM', 'ppl', 'description' )),
890  ( 235, 'DELETE_ITEM_TYPE', oils_i18n_gettext( 235, 
891     'DELETE_ITEM_TYPE', 'ppl', 'description' )),
892  ( 236, 'DELETE_LANGUAGE', oils_i18n_gettext( 236, 
893     'DELETE_LANGUAGE', 'ppl', 'description' )),
894  ( 237, 'DELETE_LASSO', oils_i18n_gettext( 237, 
895     'DELETE_LASSO', 'ppl', 'description' )),
896  ( 238, 'DELETE_LASSO_MAP', oils_i18n_gettext( 238, 
897     'DELETE_LASSO_MAP', 'ppl', 'description' )),
898  ( 239, 'DELETE_LIT_FORM', oils_i18n_gettext( 239, 
899     'DELETE_LIT_FORM', 'ppl', 'description' )),
900  ( 240, 'DELETE_METABIB_FIELD', oils_i18n_gettext( 240, 
901     'DELETE_METABIB_FIELD', 'ppl', 'description' )),
902  ( 241, 'DELETE_NET_ACCESS_LEVEL', oils_i18n_gettext( 241, 
903     'DELETE_NET_ACCESS_LEVEL', 'ppl', 'description' )),
904  ( 242, 'DELETE_ORG_ADDRESS', oils_i18n_gettext( 242, 
905     'DELETE_ORG_ADDRESS', 'ppl', 'description' )),
906  ( 243, 'DELETE_ORG_TYPE', oils_i18n_gettext( 243, 
907     'DELETE_ORG_TYPE', 'ppl', 'description' )),
908  ( 244, 'DELETE_ORG_UNIT', oils_i18n_gettext( 244, 
909     'DELETE_ORG_UNIT', 'ppl', 'description' )),
910  ( 245, 'DELETE_ORG_UNIT_CLOSING', oils_i18n_gettext( 245, 
911     'DELETE_ORG_UNIT_CLOSING', 'ppl', 'description' )),
912  ( 246, 'DELETE_PERM', oils_i18n_gettext( 246, 
913     'DELETE_PERM', 'ppl', 'description' )),
914  ( 247, 'DELETE_RELEVANCE_ADJUSTMENT', oils_i18n_gettext( 247, 
915     'DELETE_RELEVANCE_ADJUSTMENT', 'ppl', 'description' )),
916  ( 248, 'DELETE_SURVEY', oils_i18n_gettext( 248, 
917     'DELETE_SURVEY', 'ppl', 'description' )),
918  ( 249, 'DELETE_TRANSIT', oils_i18n_gettext( 249, 
919     'DELETE_TRANSIT', 'ppl', 'description' )),
920  ( 250, 'DELETE_VR_FORMAT', oils_i18n_gettext( 250, 
921     'DELETE_VR_FORMAT', 'ppl', 'description' )),
922  ( 251, 'DELETE_XML_TRANSFORM', oils_i18n_gettext( 251, 
923     'DELETE_XML_TRANSFORM', 'ppl', 'description' )),
924  ( 252, 'REMOVE_GROUP_PERM', oils_i18n_gettext( 252, 
925     'REMOVE_GROUP_PERM', 'ppl', 'description' )),
926  ( 253, 'TRANSIT_COPY', oils_i18n_gettext( 253, 
927     'TRANSIT_COPY', 'ppl', 'description' )),
928  ( 254, 'UPDATE_AUDIENCE', oils_i18n_gettext( 254, 
929     'UPDATE_AUDIENCE', 'ppl', 'description' )),
930  ( 255, 'UPDATE_BIB_LEVEL', oils_i18n_gettext( 255, 
931     'UPDATE_BIB_LEVEL', 'ppl', 'description' )),
932  ( 256, 'UPDATE_CIRC_DURATION', oils_i18n_gettext( 256, 
933     'UPDATE_CIRC_DURATION', 'ppl', 'description' )),
934  ( 257, 'UPDATE_CIRC_MOD', oils_i18n_gettext( 257, 
935     'UPDATE_CIRC_MOD', 'ppl', 'description' )),
936  ( 258, 'UPDATE_COPY_NOTE', oils_i18n_gettext( 258, 
937     'UPDATE_COPY_NOTE', 'ppl', 'description' )),
938  ( 259, 'UPDATE_COPY_STATUS', oils_i18n_gettext( 259, 
939     'UPDATE_COPY_STATUS', 'ppl', 'description' )),
940  ( 260, 'UPDATE_GROUP_PERM', oils_i18n_gettext( 260, 
941     'UPDATE_GROUP_PERM', 'ppl', 'description' )),
942  ( 261, 'UPDATE_HOURS_OF_OPERATION', oils_i18n_gettext( 261, 
943     'UPDATE_HOURS_OF_OPERATION', 'ppl', 'description' )),
944  ( 262, 'UPDATE_ITEM_FORM', oils_i18n_gettext( 262, 
945     'UPDATE_ITEM_FORM', 'ppl', 'description' )),
946  ( 263, 'UPDATE_ITEM_TYPE', oils_i18n_gettext( 263, 
947     'UPDATE_ITEM_TYPE', 'ppl', 'description' )),
948  ( 264, 'UPDATE_LANGUAGE', oils_i18n_gettext( 264, 
949     'UPDATE_LANGUAGE', 'ppl', 'description' )),
950  ( 265, 'UPDATE_LASSO', oils_i18n_gettext( 265, 
951     'UPDATE_LASSO', 'ppl', 'description' )),
952  ( 266, 'UPDATE_LASSO_MAP', oils_i18n_gettext( 266, 
953     'UPDATE_LASSO_MAP', 'ppl', 'description' )),
954  ( 267, 'UPDATE_LIT_FORM', oils_i18n_gettext( 267, 
955     'UPDATE_LIT_FORM', 'ppl', 'description' )),
956  ( 268, 'UPDATE_METABIB_FIELD', oils_i18n_gettext( 268, 
957     'UPDATE_METABIB_FIELD', 'ppl', 'description' )),
958  ( 269, 'UPDATE_NET_ACCESS_LEVEL', oils_i18n_gettext( 269, 
959     'UPDATE_NET_ACCESS_LEVEL', 'ppl', 'description' )),
960  ( 270, 'UPDATE_ORG_ADDRESS', oils_i18n_gettext( 270, 
961     'UPDATE_ORG_ADDRESS', 'ppl', 'description' )),
962  ( 271, 'UPDATE_ORG_TYPE', oils_i18n_gettext( 271, 
963     'UPDATE_ORG_TYPE', 'ppl', 'description' )),
964  ( 272, 'UPDATE_ORG_UNIT_CLOSING', oils_i18n_gettext( 272, 
965     'UPDATE_ORG_UNIT_CLOSING', 'ppl', 'description' )),
966  ( 273, 'UPDATE_PERM', oils_i18n_gettext( 273, 
967     'UPDATE_PERM', 'ppl', 'description' )),
968  ( 274, 'UPDATE_RELEVANCE_ADJUSTMENT', oils_i18n_gettext( 274, 
969     'UPDATE_RELEVANCE_ADJUSTMENT', 'ppl', 'description' )),
970  ( 275, 'UPDATE_SURVEY', oils_i18n_gettext( 275, 
971     'UPDATE_SURVEY', 'ppl', 'description' )),
972  ( 276, 'UPDATE_TRANSIT', oils_i18n_gettext( 276, 
973     'UPDATE_TRANSIT', 'ppl', 'description' )),
974  ( 277, 'UPDATE_VOLUME_NOTE', oils_i18n_gettext( 277, 
975     'UPDATE_VOLUME_NOTE', 'ppl', 'description' )),
976  ( 278, 'UPDATE_VR_FORMAT', oils_i18n_gettext( 278, 
977     'UPDATE_VR_FORMAT', 'ppl', 'description' )),
978  ( 279, 'UPDATE_XML_TRANSFORM', oils_i18n_gettext( 279, 
979     'UPDATE_XML_TRANSFORM', 'ppl', 'description' )),
980  ( 280, 'MERGE_BIB_RECORDS', oils_i18n_gettext( 280, 
981     'MERGE_BIB_RECORDS', 'ppl', 'description' )),
982  ( 281, 'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF', oils_i18n_gettext( 281, 
983     'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF', 'ppl', 'description' )),
984  ( 282, 'CREATE_ACQ_FUNDING_SOURCE', oils_i18n_gettext( 282, 
985     'CREATE_ACQ_FUNDING_SOURCE', 'ppl', 'description' )),
986  ( 283, 'CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', oils_i18n_gettext( 283, 
987     'CREATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', 'ppl', 'description' )),
988  ( 284, 'CREATE_AUTHORITY_IMPORT_QUEUE', oils_i18n_gettext( 284, 
989     'CREATE_AUTHORITY_IMPORT_QUEUE', 'ppl', 'description' )),
990  ( 285, 'CREATE_AUTHORITY_RECORD_NOTE', oils_i18n_gettext( 285, 
991     'CREATE_AUTHORITY_RECORD_NOTE', 'ppl', 'description' )),
992  ( 286, 'CREATE_BIB_IMPORT_FIELD_DEF', oils_i18n_gettext( 286, 
993     'CREATE_BIB_IMPORT_FIELD_DEF', 'ppl', 'description' )),
994  ( 287, 'CREATE_BIB_IMPORT_QUEUE', oils_i18n_gettext( 287, 
995     'CREATE_BIB_IMPORT_QUEUE', 'ppl', 'description' )),
996  ( 288, 'CREATE_LOCALE', oils_i18n_gettext( 288, 
997     'CREATE_LOCALE', 'ppl', 'description' )),
998  ( 289, 'CREATE_MARC_CODE', oils_i18n_gettext( 289, 
999     'CREATE_MARC_CODE', 'ppl', 'description' )),
1000  ( 290, 'CREATE_TRANSLATION', oils_i18n_gettext( 290, 
1001     'CREATE_TRANSLATION', 'ppl', 'description' )),
1002  ( 291, 'DELETE_ACQ_FUNDING_SOURCE', oils_i18n_gettext( 291, 
1003     'DELETE_ACQ_FUNDING_SOURCE', 'ppl', 'description' )),
1004  ( 292, 'DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', oils_i18n_gettext( 292, 
1005     'DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', 'ppl', 'description' )),
1006  ( 293, 'DELETE_AUTHORITY_IMPORT_QUEUE', oils_i18n_gettext( 293, 
1007     'DELETE_AUTHORITY_IMPORT_QUEUE', 'ppl', 'description' )),
1008  ( 294, 'DELETE_AUTHORITY_RECORD_NOTE', oils_i18n_gettext( 294, 
1009     'DELETE_AUTHORITY_RECORD_NOTE', 'ppl', 'description' )),
1010  ( 295, 'DELETE_BIB_IMPORT_IMPORT_FIELD_DEF', oils_i18n_gettext( 295, 
1011     'DELETE_BIB_IMPORT_IMPORT_FIELD_DEF', 'ppl', 'description' )),
1012  ( 296, 'DELETE_BIB_IMPORT_QUEUE', oils_i18n_gettext( 296, 
1013     'DELETE_BIB_IMPORT_QUEUE', 'ppl', 'description' )),
1014  ( 297, 'DELETE_LOCALE', oils_i18n_gettext( 297, 
1015     'DELETE_LOCALE', 'ppl', 'description' )),
1016  ( 298, 'DELETE_MARC_CODE', oils_i18n_gettext( 298, 
1017     'DELETE_MARC_CODE', 'ppl', 'description' )),
1018  ( 299, 'DELETE_TRANSLATION', oils_i18n_gettext( 299, 
1019     'DELETE_TRANSLATION', 'ppl', 'description' )),
1020  ( 300, 'UPDATE_ACQ_FUNDING_SOURCE', oils_i18n_gettext( 300, 
1021     'UPDATE_ACQ_FUNDING_SOURCE', 'ppl', 'description' )),
1022  ( 301, 'UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', oils_i18n_gettext( 301, 
1023     'UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF', 'ppl', 'description' )),
1024  ( 302, 'UPDATE_AUTHORITY_IMPORT_QUEUE', oils_i18n_gettext( 302, 
1025     'UPDATE_AUTHORITY_IMPORT_QUEUE', 'ppl', 'description' )),
1026  ( 303, 'UPDATE_AUTHORITY_RECORD_NOTE', oils_i18n_gettext( 303, 
1027     'UPDATE_AUTHORITY_RECORD_NOTE', 'ppl', 'description' )),
1028  ( 304, 'UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF', oils_i18n_gettext( 304, 
1029     'UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF', 'ppl', 'description' )),
1030  ( 305, 'UPDATE_BIB_IMPORT_QUEUE', oils_i18n_gettext( 305, 
1031     'UPDATE_BIB_IMPORT_QUEUE', 'ppl', 'description' )),
1032  ( 306, 'UPDATE_LOCALE', oils_i18n_gettext( 306, 
1033     'UPDATE_LOCALE', 'ppl', 'description' )),
1034  ( 307, 'UPDATE_MARC_CODE', oils_i18n_gettext( 307, 
1035     'UPDATE_MARC_CODE', 'ppl', 'description' )),
1036  ( 308, 'UPDATE_TRANSLATION', oils_i18n_gettext( 308, 
1037     'UPDATE_TRANSLATION', 'ppl', 'description' )),
1038  ( 309, 'VIEW_ACQ_FUNDING_SOURCE', oils_i18n_gettext( 309, 
1039     'VIEW_ACQ_FUNDING_SOURCE', 'ppl', 'description' )),
1040  ( 310, 'VIEW_AUTHORITY_RECORD_NOTES', oils_i18n_gettext( 310, 
1041     'VIEW_AUTHORITY_RECORD_NOTES', 'ppl', 'description' )),
1042  ( 311, 'CREATE_IMPORT_ITEM', oils_i18n_gettext( 311, 
1043     'CREATE_IMPORT_ITEM', 'ppl', 'description' )),
1044  ( 312, 'CREATE_IMPORT_ITEM_ATTR_DEF', oils_i18n_gettext( 312, 
1045     'CREATE_IMPORT_ITEM_ATTR_DEF', 'ppl', 'description' )),
1046  ( 313, 'CREATE_IMPORT_TRASH_FIELD', oils_i18n_gettext( 313, 
1047     'CREATE_IMPORT_TRASH_FIELD', 'ppl', 'description' )),
1048  ( 314, 'DELETE_IMPORT_ITEM', oils_i18n_gettext( 314, 
1049     'DELETE_IMPORT_ITEM', 'ppl', 'description' )),
1050  ( 315, 'DELETE_IMPORT_ITEM_ATTR_DEF', oils_i18n_gettext( 315, 
1051     'DELETE_IMPORT_ITEM_ATTR_DEF', 'ppl', 'description' )),
1052  ( 316, 'DELETE_IMPORT_TRASH_FIELD', oils_i18n_gettext( 316, 
1053     'DELETE_IMPORT_TRASH_FIELD', 'ppl', 'description' )),
1054  ( 317, 'UPDATE_IMPORT_ITEM', oils_i18n_gettext( 317, 
1055     'UPDATE_IMPORT_ITEM', 'ppl', 'description' )),
1056  ( 318, 'UPDATE_IMPORT_ITEM_ATTR_DEF', oils_i18n_gettext( 318, 
1057     'UPDATE_IMPORT_ITEM_ATTR_DEF', 'ppl', 'description' )),
1058  ( 319, 'UPDATE_IMPORT_TRASH_FIELD', oils_i18n_gettext( 319, 
1059     'UPDATE_IMPORT_TRASH_FIELD', 'ppl', 'description' )),
1060  ( 320, 'UPDATE_ORG_UNIT_SETTING_ALL', oils_i18n_gettext( 320, 
1061     'UPDATE_ORG_UNIT_SETTING_ALL', 'ppl', 'description' )),
1062  ( 321, 'UPDATE_ORG_UNIT_SETTING.circ.lost_materials_processing_fee', oils_i18n_gettext( 321, 
1063     'UPDATE_ORG_UNIT_SETTING.circ.lost_materials_processing_fee', 'ppl', 'description' )),
1064  ( 322, 'UPDATE_ORG_UNIT_SETTING.cat.default_item_price', oils_i18n_gettext( 322, 
1065     'UPDATE_ORG_UNIT_SETTING.cat.default_item_price', 'ppl', 'description' )),
1066  ( 323, 'UPDATE_ORG_UNIT_SETTING.auth.opac_timeout', oils_i18n_gettext( 323, 
1067     'UPDATE_ORG_UNIT_SETTING.auth.opac_timeout', 'ppl', 'description' )),
1068  ( 324, 'UPDATE_ORG_UNIT_SETTING.auth.staff_timeout', oils_i18n_gettext( 324, 
1069     'UPDATE_ORG_UNIT_SETTING.auth.staff_timeout', 'ppl', 'description' )),
1070  ( 325, 'UPDATE_ORG_UNIT_SETTING.org.bounced_emails', oils_i18n_gettext( 325, 
1071     'UPDATE_ORG_UNIT_SETTING.org.bounced_emails', 'ppl', 'description' )),
1072  ( 326, 'UPDATE_ORG_UNIT_SETTING.circ.hold_expire_alert_interval', oils_i18n_gettext( 326, 
1073     'UPDATE_ORG_UNIT_SETTING.circ.hold_expire_alert_interval', 'ppl', 'description' )),
1074  ( 327, 'UPDATE_ORG_UNIT_SETTING.circ.hold_expire_interval', oils_i18n_gettext( 327, 
1075     'UPDATE_ORG_UNIT_SETTING.circ.hold_expire_interval', 'ppl', 'description' )),
1076  ( 328, 'UPDATE_ORG_UNIT_SETTING.credit.payments.allow', oils_i18n_gettext( 328, 
1077     'UPDATE_ORG_UNIT_SETTING.credit.payments.allow', 'ppl', 'description' )),
1078  ( 329, 'UPDATE_ORG_UNIT_SETTING.circ.void_overdue_on_lost', oils_i18n_gettext( 329, 
1079     'UPDATE_ORG_UNIT_SETTING.circ.void_overdue_on_lost', 'ppl', 'description' )),
1080  ( 330, 'UPDATE_ORG_UNIT_SETTING.circ.hold_stalling.soft', oils_i18n_gettext( 330, 
1081     'UPDATE_ORG_UNIT_SETTING.circ.hold_stalling.soft', 'ppl', 'description' )),
1082  ( 331, 'UPDATE_ORG_UNIT_SETTING.circ.hold_boundary.hard', oils_i18n_gettext( 331, 
1083     'UPDATE_ORG_UNIT_SETTING.circ.hold_boundary.hard', 'ppl', 'description' )),
1084  ( 332, 'UPDATE_ORG_UNIT_SETTING.circ.hold_boundary.soft', oils_i18n_gettext( 332, 
1085     'UPDATE_ORG_UNIT_SETTING.circ.hold_boundary.soft', 'ppl', 'description' )),
1086  ( 333, 'UPDATE_ORG_UNIT_SETTING.opac.barcode_regex', oils_i18n_gettext( 333, 
1087     'UPDATE_ORG_UNIT_SETTING.opac.barcode_regex', 'ppl', 'description' )),
1088  ( 334, 'UPDATE_ORG_UNIT_SETTING.global.password_regex', oils_i18n_gettext( 334, 
1089     'UPDATE_ORG_UNIT_SETTING.global.password_regex', 'ppl', 'description' )),
1090  ( 335, 'UPDATE_ORG_UNIT_SETTING.circ.item_checkout_history.max', oils_i18n_gettext( 335, 
1091     'UPDATE_ORG_UNIT_SETTING.circ.item_checkout_history.max', 'ppl', 'description' )),
1092  ( 336, 'UPDATE_ORG_UNIT_SETTING.circ.reshelving_complete.interval', oils_i18n_gettext( 336, 
1093     'UPDATE_ORG_UNIT_SETTING.circ.reshelving_complete.interval', 'ppl', 'description' )),
1094  ( 337, 'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.patron_login_timeout', oils_i18n_gettext( 337, 
1095     'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.patron_login_timeout', 'ppl', 'description' )),
1096  ( 338, 'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.alert_on_checkout_event', oils_i18n_gettext( 338, 
1097     'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.alert_on_checkout_event', 'ppl', 'description' )),
1098  ( 339, 'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.require_patron_password', oils_i18n_gettext( 339, 
1099     'UPDATE_ORG_UNIT_SETTING.circ.selfcheck.require_patron_password', 'ppl', 'description' )),
1100  ( 340, 'UPDATE_ORG_UNIT_SETTING.global.juvenile_age_threshold', oils_i18n_gettext( 340, 
1101     'UPDATE_ORG_UNIT_SETTING.global.juvenile_age_threshold', 'ppl', 'description' )),
1102  ( 341, 'UPDATE_ORG_UNIT_SETTING.cat.bib.keep_on_empty', oils_i18n_gettext( 341, 
1103     'UPDATE_ORG_UNIT_SETTING.cat.bib.keep_on_empty', 'ppl', 'description' )),
1104  ( 342, 'UPDATE_ORG_UNIT_SETTING.cat.bib.alert_on_empty', oils_i18n_gettext( 342, 
1105     'UPDATE_ORG_UNIT_SETTING.cat.bib.alert_on_empty', 'ppl', 'description' )),
1106  ( 343, 'UPDATE_ORG_UNIT_SETTING.patron.password.use_phone', oils_i18n_gettext( 343, 
1107     'UPDATE_ORG_UNIT_SETTING.patron.password.use_phone', 'ppl', 'description' )),
1108  ( 344, 'HOLD_ITEM_CHECKED_OUT.override', oils_i18n_gettext( 344, 
1109     'Allows a user to place a hold on an item that they already have checked out', 'ppl', 'description' )),
1110  ( 345, 'ADMIN_ACQ_CANCEL_CAUSE', oils_i18n_gettext( 345, 
1111     'Allow a user to create/update/delete reasons for order cancellations', 'ppl', 'description' )),
1112  ( 346, 'ACQ_XFER_MANUAL_DFUND_AMOUNT', oils_i18n_gettext( 346, 
1113     'Allow a user to transfer different amounts of money out of one fund and into another', 'ppl', 'description' )),
1114  ( 347, 'OVERRIDE_HOLD_HAS_LOCAL_COPY', oils_i18n_gettext( 347, 
1115     'Allow a user to override the circ.holds.hold_has_copy_at.block setting', 'ppl', 'description' )),
1116  ( 348, 'UPDATE_PICKUP_LIB_FROM_TRANSIT', oils_i18n_gettext( 348, 
1117     'Allow a user to change the pickup and transit destination for a captured hold item already in transit', 'ppl', 'description' )),
1118  ( 349, 'COPY_NEEDED_FOR_HOLD.override', oils_i18n_gettext( 349, 
1119     'Allow a user to force renewal of an item that could fulfill a hold request', 'ppl', 'description' )),
1120  ( 350, 'MERGE_AUTH_RECORDS', oils_i18n_gettext( 350, 
1121     'Allow a user to merge authority records together', 'ppl', 'description' )),
1122  ( 351, 'ALLOW_ALT_TCN', oils_i18n_gettext( 351, 
1123     'Allows staff to import a record using an alternate TCN to avoid conflicts', 'ppl', 'description' )),
1124  ( 352, 'ADMIN_TRIGGER_EVENT_DEF', oils_i18n_gettext( 352, 
1125     'Allow a user to administer trigger event definitions', 'ppl', 'description' )),
1126  ( 353, 'ADMIN_TRIGGER_CLEANUP', oils_i18n_gettext( 353, 
1127     'Allow a user to create, delete, and update trigger cleanup entries', 'ppl', 'description' )),
1128  ( 354, 'CREATE_TRIGGER_CLEANUP', oils_i18n_gettext( 354, 
1129     'Allow a user to create trigger cleanup entries', 'ppl', 'description' )),
1130  ( 355, 'DELETE_TRIGGER_CLEANUP', oils_i18n_gettext( 355, 
1131     'Allow a user to delete trigger cleanup entries', 'ppl', 'description' )),
1132  ( 356, 'UPDATE_TRIGGER_CLEANUP', oils_i18n_gettext( 356, 
1133     'Allow a user to update trigger cleanup entries', 'ppl', 'description' )),
1134  ( 357, 'CREATE_TRIGGER_EVENT_DEF', oils_i18n_gettext( 357, 
1135     'Allow a user to create trigger event definitions', 'ppl', 'description' )),
1136  ( 358, 'DELETE_TRIGGER_EVENT_DEF', oils_i18n_gettext( 358, 
1137     'Allow a user to delete trigger event definitions', 'ppl', 'description' )),
1138  ( 359, 'UPDATE_TRIGGER_EVENT_DEF', oils_i18n_gettext( 359, 
1139     'Allow a user to update trigger event definitions', 'ppl', 'description' )),
1140  ( 360, 'VIEW_TRIGGER_EVENT_DEF', oils_i18n_gettext( 360, 
1141     'Allow a user to view trigger event definitions', 'ppl', 'description' )),
1142  ( 361, 'ADMIN_TRIGGER_HOOK', oils_i18n_gettext( 361, 
1143     'Allow a user to create, update, and delete trigger hooks', 'ppl', 'description' )),
1144  ( 362, 'CREATE_TRIGGER_HOOK', oils_i18n_gettext( 362, 
1145     'Allow a user to create trigger hooks', 'ppl', 'description' )),
1146  ( 363, 'DELETE_TRIGGER_HOOK', oils_i18n_gettext( 363, 
1147     'Allow a user to delete trigger hooks', 'ppl', 'description' )),
1148  ( 364, 'UPDATE_TRIGGER_HOOK', oils_i18n_gettext( 364, 
1149     'Allow a user to update trigger hooks', 'ppl', 'description' )),
1150  ( 365, 'ADMIN_TRIGGER_REACTOR', oils_i18n_gettext( 365, 
1151     'Allow a user to create, update, and delete trigger reactors', 'ppl', 'description' )),
1152  ( 366, 'CREATE_TRIGGER_REACTOR', oils_i18n_gettext( 366, 
1153     'Allow a user to create trigger reactors', 'ppl', 'description' )),
1154  ( 367, 'DELETE_TRIGGER_REACTOR', oils_i18n_gettext( 367, 
1155     'Allow a user to delete trigger reactors', 'ppl', 'description' )),
1156  ( 368, 'UPDATE_TRIGGER_REACTOR', oils_i18n_gettext( 368, 
1157     'Allow a user to update trigger reactors', 'ppl', 'description' )),
1158  ( 369, 'ADMIN_TRIGGER_TEMPLATE_OUTPUT', oils_i18n_gettext( 369, 
1159     'Allow a user to delete trigger template output', 'ppl', 'description' )),
1160  ( 370, 'DELETE_TRIGGER_TEMPLATE_OUTPUT', oils_i18n_gettext( 370, 
1161     'Allow a user to delete trigger template output', 'ppl', 'description' )),
1162  ( 371, 'ADMIN_TRIGGER_VALIDATOR', oils_i18n_gettext( 371, 
1163     'Allow a user to create, update, and delete trigger validators', 'ppl', 'description' )),
1164  ( 372, 'CREATE_TRIGGER_VALIDATOR', oils_i18n_gettext( 372, 
1165     'Allow a user to create trigger validators', 'ppl', 'description' )),
1166  ( 373, 'DELETE_TRIGGER_VALIDATOR', oils_i18n_gettext( 373, 
1167     'Allow a user to delete trigger validators', 'ppl', 'description' )),
1168  ( 374, 'UPDATE_TRIGGER_VALIDATOR', oils_i18n_gettext( 374, 
1169     'Allow a user to update trigger validators', 'ppl', 'description' )),
1170  ( 376, 'ADMIN_BOOKING_RESOURCE', oils_i18n_gettext( 376, 
1171     'Enables the user to create/update/delete booking resources', 'ppl', 'description' )),
1172  ( 377, 'ADMIN_BOOKING_RESOURCE_TYPE', oils_i18n_gettext( 377, 
1173     'Enables the user to create/update/delete booking resource types', 'ppl', 'description' )),
1174  ( 378, 'ADMIN_BOOKING_RESOURCE_ATTR', oils_i18n_gettext( 378, 
1175     'Enables the user to create/update/delete booking resource attributes', 'ppl', 'description' )),
1176  ( 379, 'ADMIN_BOOKING_RESOURCE_ATTR_MAP', oils_i18n_gettext( 379, 
1177     'Enables the user to create/update/delete booking resource attribute maps', 'ppl', 'description' )),
1178  ( 380, 'ADMIN_BOOKING_RESOURCE_ATTR_VALUE', oils_i18n_gettext( 380, 
1179     'Enables the user to create/update/delete booking resource attribute values', 'ppl', 'description' )),
1180  ( 381, 'ADMIN_BOOKING_RESERVATION', oils_i18n_gettext( 381, 
1181     'Enables the user to create/update/delete booking reservations', 'ppl', 'description' )),
1182  ( 382, 'ADMIN_BOOKING_RESERVATION_ATTR_VALUE_MAP', oils_i18n_gettext( 382, 
1183     'Enables the user to create/update/delete booking reservation attribute value maps', 'ppl', 'description' )),
1184  ( 383, 'RETRIEVE_RESERVATION_PULL_LIST', oils_i18n_gettext( 383, 
1185     'Allows a user to retrieve a booking reservation pull list', 'ppl', 'description' )),
1186  ( 384, 'CAPTURE_RESERVATION', oils_i18n_gettext( 384, 
1187     'Allows a user to capture booking reservations', 'ppl', 'description' )),
1188  ( 385, 'UPDATE_RECORD', oils_i18n_gettext( 385, 
1189     'UPDATE_RECORD', 'ppl', 'description' )),
1190  ( 386, 'UPDATE_ORG_UNIT_SETTING.circ.block_renews_for_holds', oils_i18n_gettext( 386, 
1191     'UPDATE_ORG_UNIT_SETTING.circ.block_renews_for_holds', 'ppl', 'description' )),
1192  ( 387, 'MERGE_USERS', oils_i18n_gettext( 387, 
1193     'Allows user records to be merged', 'ppl', 'description' )),
1194  ( 388, 'ISSUANCE_HOLDS', oils_i18n_gettext( 388, 
1195     'Allow a user to place holds on serials issuances', 'ppl', 'description' )),
1196  ( 389, 'VIEW_CREDIT_CARD_PROCESSING', oils_i18n_gettext( 389, 
1197     'View org unit settings related to credit card processing', 'ppl', 'description' )),
1198  ( 390, 'ADMIN_CREDIT_CARD_PROCESSING', oils_i18n_gettext( 390, 
1199     'Update org unit settings related to credit card processing', 'ppl', 'description' )),
1200  ( 391, 'ADMIN_ACQ_CLAIM', oils_i18n_gettext( 391, 
1201     'ADMIN_ACQ_CLAIM', 'ppl', 'description' )),
1202  ( 392, 'ADMIN_ACQ_CLAIM_EVENT_TYPE', oils_i18n_gettext( 392, 
1203     'ADMIN_ACQ_CLAIM_EVENT_TYPE', 'ppl', 'description' )),
1204  ( 393, 'ADMIN_ACQ_CLAIM_TYPE', oils_i18n_gettext( 393, 
1205     'ADMIN_ACQ_CLAIM_TYPE', 'ppl', 'description' )),
1206  ( 394, 'ADMIN_ACQ_DISTRIB_FORMULA', oils_i18n_gettext( 394, 
1207     'ADMIN_ACQ_DISTRIB_FORMULA', 'ppl', 'description' )),
1208  ( 395, 'ADMIN_ACQ_FISCAL_YEAR', oils_i18n_gettext( 395, 
1209     'ADMIN_ACQ_FISCAL_YEAR', 'ppl', 'description' )),
1210  ( 396, 'ADMIN_ACQ_FUND_ALLOCATION_PERCENT', oils_i18n_gettext( 396, 
1211     'ADMIN_ACQ_FUND_ALLOCATION_PERCENT', 'ppl', 'description' )),
1212  ( 397, 'ADMIN_ACQ_FUND_TAG', oils_i18n_gettext( 397, 
1213     'ADMIN_ACQ_FUND_TAG', 'ppl', 'description' )),
1214  ( 398, 'ADMIN_ACQ_LINEITEM_ALERT_TEXT', oils_i18n_gettext( 398, 
1215     'ADMIN_ACQ_LINEITEM_ALERT_TEXT', 'ppl', 'description' )),
1216  ( 399, 'ADMIN_AGE_PROTECT_RULE', oils_i18n_gettext( 399, 
1217     'ADMIN_AGE_PROTECT_RULE', 'ppl', 'description' )),
1218  ( 400, 'ADMIN_ASSET_COPY_TEMPLATE', oils_i18n_gettext( 400, 
1219     'ADMIN_ASSET_COPY_TEMPLATE', 'ppl', 'description' )),
1220  ( 401, 'ADMIN_BOOKING_RESERVATION_ATTR_MAP', oils_i18n_gettext( 401, 
1221     'ADMIN_BOOKING_RESERVATION_ATTR_MAP', 'ppl', 'description' )),
1222  ( 402, 'ADMIN_CIRC_MATRIX_MATCHPOINT', oils_i18n_gettext( 402, 
1223     'ADMIN_CIRC_MATRIX_MATCHPOINT', 'ppl', 'description' )),
1224  ( 403, 'ADMIN_CIRC_MOD', oils_i18n_gettext( 403, 
1225     'ADMIN_CIRC_MOD', 'ppl', 'description' )),
1226  ( 404, 'ADMIN_CLAIM_POLICY', oils_i18n_gettext( 404, 
1227     'ADMIN_CLAIM_POLICY', 'ppl', 'description' )),
1228  ( 405, 'ADMIN_CONFIG_REMOTE_ACCOUNT', oils_i18n_gettext( 405, 
1229     'ADMIN_CONFIG_REMOTE_ACCOUNT', 'ppl', 'description' )),
1230  ( 406, 'ADMIN_FIELD_DOC', oils_i18n_gettext( 406, 
1231     'ADMIN_FIELD_DOC', 'ppl', 'description' )),
1232  ( 407, 'ADMIN_GLOBAL_FLAG', oils_i18n_gettext( 407, 
1233     'ADMIN_GLOBAL_FLAG', 'ppl', 'description' )),
1234  ( 408, 'ADMIN_GROUP_PENALTY_THRESHOLD', oils_i18n_gettext( 408, 
1235     'ADMIN_GROUP_PENALTY_THRESHOLD', 'ppl', 'description' )),
1236  ( 409, 'ADMIN_HOLD_CANCEL_CAUSE', oils_i18n_gettext( 409, 
1237     'ADMIN_HOLD_CANCEL_CAUSE', 'ppl', 'description' )),
1238  ( 410, 'ADMIN_HOLD_MATRIX_MATCHPOINT', oils_i18n_gettext( 410, 
1239     'ADMIN_HOLD_MATRIX_MATCHPOINT', 'ppl', 'description' )),
1240  ( 411, 'ADMIN_IDENT_TYPE', oils_i18n_gettext( 411, 
1241     'ADMIN_IDENT_TYPE', 'ppl', 'description' )),
1242  ( 412, 'ADMIN_IMPORT_ITEM_ATTR_DEF', oils_i18n_gettext( 412, 
1243     'ADMIN_IMPORT_ITEM_ATTR_DEF', 'ppl', 'description' )),
1244  ( 413, 'ADMIN_INDEX_NORMALIZER', oils_i18n_gettext( 413, 
1245     'ADMIN_INDEX_NORMALIZER', 'ppl', 'description' )),
1246  ( 414, 'ADMIN_INVOICE', oils_i18n_gettext( 414, 
1247     'ADMIN_INVOICE', 'ppl', 'description' )),
1248  ( 415, 'ADMIN_INVOICE_METHOD', oils_i18n_gettext( 415, 
1249     'ADMIN_INVOICE_METHOD', 'ppl', 'description' )),
1250  ( 416, 'ADMIN_INVOICE_PAYMENT_METHOD', oils_i18n_gettext( 416, 
1251     'ADMIN_INVOICE_PAYMENT_METHOD', 'ppl', 'description' )),
1252  ( 417, 'ADMIN_LINEITEM_MARC_ATTR_DEF', oils_i18n_gettext( 417, 
1253     'ADMIN_LINEITEM_MARC_ATTR_DEF', 'ppl', 'description' )),
1254  ( 418, 'ADMIN_MARC_CODE', oils_i18n_gettext( 418, 
1255     'ADMIN_MARC_CODE', 'ppl', 'description' )),
1256  ( 419, 'ADMIN_MAX_FINE_RULE', oils_i18n_gettext( 419, 
1257     'ADMIN_MAX_FINE_RULE', 'ppl', 'description' )),
1258  ( 420, 'ADMIN_MERGE_PROFILE', oils_i18n_gettext( 420, 
1259     'ADMIN_MERGE_PROFILE', 'ppl', 'description' )),
1260  ( 421, 'ADMIN_ORG_UNIT_SETTING_TYPE', oils_i18n_gettext( 421, 
1261     'ADMIN_ORG_UNIT_SETTING_TYPE', 'ppl', 'description' )),
1262  ( 422, 'ADMIN_RECURRING_FINE_RULE', oils_i18n_gettext( 422, 
1263     'ADMIN_RECURRING_FINE_RULE', 'ppl', 'description' )),
1264  ( 423, 'ADMIN_SERIAL_SUBSCRIPTION', oils_i18n_gettext( 423, 
1265     'ADMIN_SERIAL_SUBSCRIPTION', 'ppl', 'description' )),
1266  ( 424, 'ADMIN_STANDING_PENALTY', oils_i18n_gettext( 424, 
1267     'ADMIN_STANDING_PENALTY', 'ppl', 'description' )),
1268  ( 425, 'ADMIN_SURVEY', oils_i18n_gettext( 425, 
1269     'ADMIN_SURVEY', 'ppl', 'description' )),
1270  ( 426, 'ADMIN_USER_REQUEST_TYPE', oils_i18n_gettext( 426, 
1271     'ADMIN_USER_REQUEST_TYPE', 'ppl', 'description' )),
1272  ( 427, 'ADMIN_USER_SETTING_GROUP', oils_i18n_gettext( 427, 
1273     'ADMIN_USER_SETTING_GROUP', 'ppl', 'description' )),
1274  ( 428, 'ADMIN_USER_SETTING_TYPE', oils_i18n_gettext( 428, 
1275     'ADMIN_USER_SETTING_TYPE', 'ppl', 'description' )),
1276  ( 429, 'ADMIN_Z3950_SOURCE', oils_i18n_gettext( 429, 
1277     'ADMIN_Z3950_SOURCE', 'ppl', 'description' )),
1278  ( 430, 'CREATE_BIB_BTYPE', oils_i18n_gettext( 430, 
1279     'CREATE_BIB_BTYPE', 'ppl', 'description' )),
1280  ( 431, 'CREATE_BIBLIO_FINGERPRINT', oils_i18n_gettext( 431, 
1281     'CREATE_BIBLIO_FINGERPRINT', 'ppl', 'description' )),
1282  ( 432, 'CREATE_BIB_SOURCE', oils_i18n_gettext( 432, 
1283     'CREATE_BIB_SOURCE', 'ppl', 'description' )),
1284  ( 433, 'CREATE_BILLING_TYPE', oils_i18n_gettext( 433, 
1285     'CREATE_BILLING_TYPE', 'ppl', 'description' )),
1286  ( 434, 'CREATE_CN_BTYPE', oils_i18n_gettext( 434, 
1287     'CREATE_CN_BTYPE', 'ppl', 'description' )),
1288  ( 435, 'CREATE_COPY_BTYPE', oils_i18n_gettext( 435, 
1289     'CREATE_COPY_BTYPE', 'ppl', 'description' )),
1290  ( 436, 'CREATE_INVOICE', oils_i18n_gettext( 436, 
1291     'CREATE_INVOICE', 'ppl', 'description' )),
1292  ( 437, 'CREATE_INVOICE_ITEM_TYPE', oils_i18n_gettext( 437, 
1293     'CREATE_INVOICE_ITEM_TYPE', 'ppl', 'description' )),
1294  ( 438, 'CREATE_INVOICE_METHOD', oils_i18n_gettext( 438, 
1295     'CREATE_INVOICE_METHOD', 'ppl', 'description' )),
1296  ( 439, 'CREATE_MERGE_PROFILE', oils_i18n_gettext( 439, 
1297     'CREATE_MERGE_PROFILE', 'ppl', 'description' )),
1298  ( 440, 'CREATE_METABIB_CLASS', oils_i18n_gettext( 440, 
1299     'CREATE_METABIB_CLASS', 'ppl', 'description' )),
1300  ( 441, 'CREATE_METABIB_SEARCH_ALIAS', oils_i18n_gettext( 441, 
1301     'CREATE_METABIB_SEARCH_ALIAS', 'ppl', 'description' )),
1302  ( 442, 'CREATE_USER_BTYPE', oils_i18n_gettext( 442, 
1303     'CREATE_USER_BTYPE', 'ppl', 'description' )),
1304  ( 443, 'DELETE_BIB_BTYPE', oils_i18n_gettext( 443, 
1305     'DELETE_BIB_BTYPE', 'ppl', 'description' )),
1306  ( 444, 'DELETE_BIBLIO_FINGERPRINT', oils_i18n_gettext( 444, 
1307     'DELETE_BIBLIO_FINGERPRINT', 'ppl', 'description' )),
1308  ( 445, 'DELETE_BIB_SOURCE', oils_i18n_gettext( 445, 
1309     'DELETE_BIB_SOURCE', 'ppl', 'description' )),
1310  ( 446, 'DELETE_BILLING_TYPE', oils_i18n_gettext( 446, 
1311     'DELETE_BILLING_TYPE', 'ppl', 'description' )),
1312  ( 447, 'DELETE_CN_BTYPE', oils_i18n_gettext( 447, 
1313     'DELETE_CN_BTYPE', 'ppl', 'description' )),
1314  ( 448, 'DELETE_COPY_BTYPE', oils_i18n_gettext( 448, 
1315     'DELETE_COPY_BTYPE', 'ppl', 'description' )),
1316  ( 449, 'DELETE_INVOICE_ITEM_TYPE', oils_i18n_gettext( 449, 
1317     'DELETE_INVOICE_ITEM_TYPE', 'ppl', 'description' )),
1318  ( 450, 'DELETE_INVOICE_METHOD', oils_i18n_gettext( 450, 
1319     'DELETE_INVOICE_METHOD', 'ppl', 'description' )),
1320  ( 451, 'DELETE_MERGE_PROFILE', oils_i18n_gettext( 451, 
1321     'DELETE_MERGE_PROFILE', 'ppl', 'description' )),
1322  ( 452, 'DELETE_METABIB_CLASS', oils_i18n_gettext( 452, 
1323     'DELETE_METABIB_CLASS', 'ppl', 'description' )),
1324  ( 453, 'DELETE_METABIB_SEARCH_ALIAS', oils_i18n_gettext( 453, 
1325     'DELETE_METABIB_SEARCH_ALIAS', 'ppl', 'description' )),
1326  ( 454, 'DELETE_USER_BTYPE', oils_i18n_gettext( 454, 
1327     'DELETE_USER_BTYPE', 'ppl', 'description' )),
1328  ( 455, 'MANAGE_CLAIM', oils_i18n_gettext( 455, 
1329     'MANAGE_CLAIM', 'ppl', 'description' )),
1330  ( 456, 'UPDATE_BIB_BTYPE', oils_i18n_gettext( 456, 
1331     'UPDATE_BIB_BTYPE', 'ppl', 'description' )),
1332  ( 457, 'UPDATE_BIBLIO_FINGERPRINT', oils_i18n_gettext( 457, 
1333     'UPDATE_BIBLIO_FINGERPRINT', 'ppl', 'description' )),
1334  ( 458, 'UPDATE_BIB_SOURCE', oils_i18n_gettext( 458, 
1335     'UPDATE_BIB_SOURCE', 'ppl', 'description' )),
1336  ( 459, 'UPDATE_BILLING_TYPE', oils_i18n_gettext( 459, 
1337     'UPDATE_BILLING_TYPE', 'ppl', 'description' )),
1338  ( 460, 'UPDATE_CN_BTYPE', oils_i18n_gettext( 460, 
1339     'UPDATE_CN_BTYPE', 'ppl', 'description' )),
1340  ( 461, 'UPDATE_COPY_BTYPE', oils_i18n_gettext( 461, 
1341     'UPDATE_COPY_BTYPE', 'ppl', 'description' )),
1342  ( 462, 'UPDATE_INVOICE_ITEM_TYPE', oils_i18n_gettext( 462, 
1343     'UPDATE_INVOICE_ITEM_TYPE', 'ppl', 'description' )),
1344  ( 463, 'UPDATE_INVOICE_METHOD', oils_i18n_gettext( 463, 
1345     'UPDATE_INVOICE_METHOD', 'ppl', 'description' )),
1346  ( 464, 'UPDATE_MERGE_PROFILE', oils_i18n_gettext( 464, 
1347     'UPDATE_MERGE_PROFILE', 'ppl', 'description' )),
1348  ( 465, 'UPDATE_METABIB_CLASS', oils_i18n_gettext( 465, 
1349     'UPDATE_METABIB_CLASS', 'ppl', 'description' )),
1350  ( 466, 'UPDATE_METABIB_SEARCH_ALIAS', oils_i18n_gettext( 466, 
1351     'UPDATE_METABIB_SEARCH_ALIAS', 'ppl', 'description' )),
1352  ( 467, 'UPDATE_USER_BTYPE', oils_i18n_gettext( 467, 
1353     'UPDATE_USER_BTYPE', 'ppl', 'description' )),
1354  ( 468, 'user_request.create', oils_i18n_gettext( 468, 
1355     'user_request.create', 'ppl', 'description' )),
1356  ( 469, 'user_request.delete', oils_i18n_gettext( 469, 
1357     'user_request.delete', 'ppl', 'description' )),
1358  ( 470, 'user_request.update', oils_i18n_gettext( 470, 
1359     'user_request.update', 'ppl', 'description' )),
1360  ( 471, 'user_request.view', oils_i18n_gettext( 471, 
1361     'user_request.view', 'ppl', 'description' )),
1362  ( 472, 'VIEW_ACQ_FUND_ALLOCATION_PERCENT', oils_i18n_gettext( 472, 
1363     'VIEW_ACQ_FUND_ALLOCATION_PERCENT', 'ppl', 'description' )),
1364  ( 473, 'VIEW_CIRC_MATRIX_MATCHPOINT', oils_i18n_gettext( 473, 
1365     'VIEW_CIRC_MATRIX_MATCHPOINT', 'ppl', 'description' )),
1366  ( 474, 'VIEW_CLAIM', oils_i18n_gettext( 474, 
1367     'VIEW_CLAIM', 'ppl', 'description' )),
1368  ( 475, 'VIEW_GROUP_PENALTY_THRESHOLD', oils_i18n_gettext( 475, 
1369     'VIEW_GROUP_PENALTY_THRESHOLD', 'ppl', 'description' )),
1370  ( 476, 'VIEW_HOLD_MATRIX_MATCHPOINT', oils_i18n_gettext( 476, 
1371     'VIEW_HOLD_MATRIX_MATCHPOINT', 'ppl', 'description' )),
1372  ( 477, 'VIEW_INVOICE', oils_i18n_gettext( 477, 
1373     'VIEW_INVOICE', 'ppl', 'description' )),
1374  ( 478, 'VIEW_MERGE_PROFILE', oils_i18n_gettext( 478, 
1375     'VIEW_MERGE_PROFILE', 'ppl', 'description' )),
1376  ( 479, 'VIEW_SERIAL_SUBSCRIPTION', oils_i18n_gettext( 479, 
1377     'VIEW_SERIAL_SUBSCRIPTION', 'ppl', 'description' )),
1378  ( 480, 'VIEW_STANDING_PENALTY', oils_i18n_gettext( 480, 
1379     'VIEW_STANDING_PENALTY', 'ppl', 'description' )),
1380  ( 481, 'ADMIN_SERIAL_CAPTION_PATTERN', oils_i18n_gettext( 481, 
1381     'ADMIN_SERIAL_CAPTION_PATTERN', 'ppl', 'description' )),
1382  ( 482, 'ADMIN_SERIAL_DISTRIBUTION', oils_i18n_gettext( 482, 
1383     'ADMIN_SERIAL_DISTRIBUTION', 'ppl', 'description' )),
1384  ( 483, 'ADMIN_SERIAL_STREAM', oils_i18n_gettext( 483, 
1385     'ADMIN_SERIAL_STREAM', 'ppl', 'description' )),
1386  ( 484, 'RECEIVE_SERIAL', oils_i18n_gettext(484,
1387         'Receive serial items', 'ppl', 'description')),
1388  ( 485, 'CREATE_VOLUME_SUFFIX', oils_i18n_gettext(485,
1389     'Create suffix label definition.', 'ppl', 'description')),
1390  ( 486, 'UPDATE_VOLUME_SUFFIX', oils_i18n_gettext(486,
1391     'Update suffix label definition.', 'ppl', 'description')),
1392  ( 487, 'DELETE_VOLUME_SUFFIX', oils_i18n_gettext(487,
1393     'Delete suffix label definition.', 'ppl', 'description')),
1394  ( 488, 'CREATE_VOLUME_PREFIX', oils_i18n_gettext(488,
1395     'Create prefix label definition.', 'ppl', 'description')),
1396  ( 489, 'UPDATE_VOLUME_PREFIX', oils_i18n_gettext(489,
1397     'Update prefix label definition.', 'ppl', 'description')),
1398  ( 490, 'DELETE_VOLUME_PREFIX', oils_i18n_gettext(490,
1399     'Delete prefix label definition.', 'ppl', 'description')),
1400  ( 491, 'CREATE_MONOGRAPH_PART', oils_i18n_gettext(491,
1401     'Create monograph part definition.', 'ppl', 'description')),
1402  ( 492, 'UPDATE_MONOGRAPH_PART', oils_i18n_gettext(492,
1403     'Update monograph part definition.', 'ppl', 'description')),
1404  ( 493, 'DELETE_MONOGRAPH_PART', oils_i18n_gettext(493,
1405     'Delete monograph part definition.', 'ppl', 'description')),
1406  ( 494, 'ADMIN_CODED_VALUE', oils_i18n_gettext(494,
1407     'Create/Update/Delete SVF Record Attribute Coded Value Map', 'ppl', 'description')),
1408  ( 495, 'ADMIN_SERIAL_ITEM', oils_i18n_gettext(495,
1409     'Create/Retrieve/Update/Delete Serial Item', 'ppl', 'description')),
1410  ( 496, 'ADMIN_SVF', oils_i18n_gettext(496,
1411     'Create/Update/Delete SVF Record Attribute Defintion', 'ppl', 'description')),
1412  ( 497, 'CREATE_BIB_PTYPE', oils_i18n_gettext(497,
1413     'Create Bibliographic Record Peer Type', 'ppl', 'description')),
1414  ( 498, 'CREATE_PURCHASE_REQUEST', oils_i18n_gettext(498,
1415     'Create User Purchase Request', 'ppl', 'description')),
1416  ( 499, 'DELETE_BIB_PTYPE', oils_i18n_gettext(499,
1417     'Delete Bibliographic Record Peer Type', 'ppl', 'description')),
1418  ( 500, 'MAP_MONOGRAPH_PART', oils_i18n_gettext(500,
1419     'Create/Update/Delete Copy Monograph Part Map', 'ppl', 'description')),
1420  ( 501, 'MARK_ITEM_MISSING_PIECES', oils_i18n_gettext(501,
1421     'Allows the Mark Item Missing Pieces action.', 'ppl', 'description')),
1422  ( 502, 'UPDATE_BIB_PTYPE', oils_i18n_gettext(502,
1423     'Update Bibliographic Record Peer Type', 'ppl', 'description')),
1424  ( 503, 'UPDATE_HOLD_REQUEST_TIME', oils_i18n_gettext(503,
1425     'Allows editing of a hold''s request time, and/or its Cut-in-line/Top-of-queue flag.', 'ppl', 'description')),
1426  ( 504, 'UPDATE_PICKLIST', oils_i18n_gettext(504,
1427     'Allows update/re-use of an acquisitions pick/selection list.', 'ppl', 'description')),
1428  ( 505, 'UPDATE_WORKSTATION', oils_i18n_gettext(505,
1429     'Allows update of a workstation during workstation registration override.', 'ppl', 'description')),
1430  ( 506, 'VIEW_USER_SETTING_TYPE', oils_i18n_gettext(506,
1431     'Allows viewing of configurable user setting types.', 'ppl', 'description')),
1432  ( 507, 'ABORT_TRANSIT_ON_LOST', oils_i18n_gettext(507,
1433     'Allows a user to abort a transit on a copy with status of LOST', 'ppl', 'description')),
1434  ( 508, 'ABORT_TRANSIT_ON_MISSING', oils_i18n_gettext(508,
1435     'Allows a user to abort a transit on a copy with status of MISSING', 'ppl', 'description')),
1436  ( 509, 'TRANSIT_CHECKIN_INTERVAL_BLOCK.override', oils_i18n_gettext(509,
1437     'Allows a user to override the TRANSIT_CHECKIN_INTERVAL_BLOCK event', 'ppl', 'description')),
1438  ( 510, 'UPDATE_PATRON_COLLECTIONS_EXEMPT', oils_i18n_gettext(510,
1439     'Allows a user to indicate that a patron is exempt from collections processing', 'ppl', 'description')),
1440  ( 511, 'PERSISTENT_LOGIN', oils_i18n_gettext( 511,
1441     'Allows a user to authenticate and get a long-lived session (length configured in opensrf.xml)', 'ppl', 'description' )),
1442  ( 512, 'ACQ_INVOICE_REOPEN', oils_i18n_gettext( 512,
1443     'Allows a user to reopen an Acquisitions invoice', 'ppl', 'description' )),
1444  ( 513, 'DEBUG_CLIENT', oils_i18n_gettext( 513,
1445     'Allows a user to use debug functions in the staff client', 'ppl', 'description' )),
1446  ( 514, 'UPDATE_PATRON_ACTIVE_CARD', oils_i18n_gettext( 514,
1447     'Allows a user to manually adjust a patron''s active cards', 'ppl', 'description')),
1448  ( 515, 'UPDATE_PATRON_PRIMARY_CARD', oils_i18n_gettext( 515,
1449     'Allows a user to manually adjust a patron''s primary card', 'ppl', 'description')),
1450  ( 516, 'CREATE_REPORT_TEMPLATE', oils_i18n_gettext( 516,
1451     'Allows a user to create report templates', 'ppl', 'description' ));
1452
1453 SELECT SETVAL('permission.perm_list_id_seq'::TEXT, 1000);
1454
1455 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1456         (1, oils_i18n_gettext(1, 'Users', 'pgt', 'name'), NULL, NULL, '3 years', FALSE, 'group_application.user');
1457 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1458         (2, oils_i18n_gettext(2, 'Patrons', 'pgt', 'name'), 1, NULL, '3 years', TRUE, 'group_application.user.patron');
1459 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1460         (3, oils_i18n_gettext(3, 'Staff', 'pgt', 'name'), 1, NULL, '3 years', FALSE, 'group_application.user.staff');
1461 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1462         (4, oils_i18n_gettext(4, 'Catalogers', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.cat');
1463 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1464         (5, oils_i18n_gettext(5, 'Circulators', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.circ');
1465 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1466         (6, oils_i18n_gettext(6, 'Acquisitions', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.acq');
1467 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1468         (7, oils_i18n_gettext(7, 'Acquisitions Administrator', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.acq_admin');
1469 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1470         (8, oils_i18n_gettext(8, 'Cataloging Administrator', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.cat_admin');
1471 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1472         (9, oils_i18n_gettext(9, 'Circulation Administrator', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.circ_admin');
1473 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1474         (10, oils_i18n_gettext(10, 'Local Administrator', 'pgt', 'name'), 3, 
1475         oils_i18n_gettext(10, 'Can do anything at the Branch level', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.admin.local_admin');
1476 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1477         (11, oils_i18n_gettext(11, 'Serials', 'pgt', 'name'), 3, 
1478         oils_i18n_gettext(11, 'Serials (includes admin features)', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.serials');
1479 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1480         (12, oils_i18n_gettext(12, 'System Administrator', 'pgt', 'name'), 3, 
1481         oils_i18n_gettext(12, 'Can do anything at the System level', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.admin.system_admin');
1482 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1483         (13, oils_i18n_gettext(13, 'Global Administrator', 'pgt', 'name'), 3, 
1484         oils_i18n_gettext(13, 'Can do anything at the Consortium level', 'pgt', 'description'), '3 years', TRUE, 'group_application.user.staff.admin.global_admin');
1485 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1486         (14, oils_i18n_gettext(14, 'Data Review', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.data_review');
1487 INSERT INTO permission.grp_tree (id, name, parent, description, perm_interval, usergroup, application_perm) VALUES
1488         (15, oils_i18n_gettext(15, 'Volunteers', 'pgt', 'name'), 3, NULL, '3 years', TRUE, 'group_application.user.staff.volunteers');
1489
1490 SELECT SETVAL('permission.grp_tree_id_seq'::TEXT, (SELECT MAX(id) FROM permission.grp_tree));
1491
1492 INSERT INTO permission.grp_penalty_threshold (grp,org_unit,penalty,threshold)
1493     VALUES (1,1,1,10.0);
1494 INSERT INTO permission.grp_penalty_threshold (grp,org_unit,penalty,threshold)
1495     VALUES (1,1,2,10.0);
1496 INSERT INTO permission.grp_penalty_threshold (grp,org_unit,penalty,threshold)
1497     VALUES (1,1,3,10.0);
1498
1499 SELECT SETVAL('permission.grp_penalty_threshold_id_seq'::TEXT, (SELECT MAX(id) FROM permission.grp_penalty_threshold));
1500
1501
1502 -- Add basic user permissions to the Users group
1503
1504 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1505         SELECT
1506                 pgt.id, perm.id, aout.depth, FALSE
1507         FROM
1508                 permission.grp_tree pgt,
1509                 permission.perm_list perm,
1510                 actor.org_unit_type aout
1511         WHERE
1512                 pgt.name = 'Users' AND
1513                 aout.name = 'Consortium' AND
1514                 perm.code IN (
1515                         'COPY_CHECKIN',
1516                         'CREATE_MY_CONTAINER',
1517                         'CREATE_PURCHASE_REQUEST',
1518                         'MR_HOLDS',
1519                         'OPAC_LOGIN',
1520                         'PERSISTENT_LOGIN',
1521                         'RENEW_CIRC',
1522                         'TITLE_HOLDS',
1523                         'user_request.create'
1524                 );
1525
1526
1527 -- Add basic user permissions to the Data Review group
1528
1529 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1530         SELECT
1531                 pgt.id, perm.id, aout.depth, FALSE
1532         FROM
1533                 permission.grp_tree pgt,
1534                 permission.perm_list perm,
1535                 actor.org_unit_type aout
1536         WHERE
1537                 pgt.name = 'Data Review' AND
1538                 aout.name = 'Consortium' AND
1539                 perm.code IN (
1540                         'CREATE_COPY_TRANSIT',
1541                         'VIEW_BILLING_TYPE',
1542                         'VIEW_CIRCULATIONS',
1543                         'VIEW_COPY_NOTES',
1544                         'VIEW_HOLD',
1545                         'VIEW_ORG_SETTINGS',
1546                         'VIEW_TITLE_NOTES',
1547                         'VIEW_TRANSACTION',
1548                         'VIEW_USER',
1549                         'VIEW_USER_FINES_SUMMARY',
1550                         'VIEW_USER_TRANSACTIONS',
1551                         'VIEW_VOLUME_NOTES',
1552                         'VIEW_ZIP_DATA');
1553
1554 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1555         SELECT
1556                 pgt.id, perm.id, aout.depth, FALSE
1557         FROM
1558                 permission.grp_tree pgt,
1559                 permission.perm_list perm,
1560                 actor.org_unit_type aout
1561         WHERE
1562                 pgt.name = 'Data Review' AND
1563                 aout.name = 'System' AND
1564                 perm.code IN (
1565                         'COPY_CHECKOUT',
1566                         'COPY_HOLDS',
1567                         'CREATE_IN_HOUSE_USE',
1568                         'CREATE_TRANSACTION',
1569                         'OFFLINE_EXECUTE',
1570                         'OFFLINE_VIEW',
1571                         'STAFF_LOGIN',
1572                         'VOLUME_HOLDS');
1573
1574
1575 -- Add basic staff permissions to the Staff group
1576
1577 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1578         SELECT
1579                 pgt.id, perm.id, aout.depth, FALSE
1580         FROM
1581                 permission.grp_tree pgt,
1582                 permission.perm_list perm,
1583                 actor.org_unit_type aout
1584         WHERE
1585                 pgt.name = 'Staff' AND
1586                 aout.name = 'Consortium' AND
1587                 perm.code IN (
1588                         'CREATE_CONTAINER',
1589                         'CREATE_CONTAINER_ITEM',
1590                         'CREATE_COPY_TRANSIT',
1591                         'CREATE_HOLD_NOTIFICATION',
1592                         'CREATE_TRANSACTION',
1593                         'CREATE_TRANSIT',
1594                         'DELETE_CONTAINER',
1595                         'DELETE_CONTAINER_ITEM',
1596                         'group_application.user',
1597                         'group_application.user.patron',
1598                         'REGISTER_WORKSTATION',
1599                         'REMOTE_Z3950_QUERY',
1600                         'REQUEST_HOLDS',
1601                         'STAFF_LOGIN',
1602                         'TRANSIT_COPY',
1603                         'UPDATE_CONTAINER',
1604                         'VIEW_CONTAINER',
1605                         'VIEW_COPY_CHECKOUT_HISTORY',
1606                         'VIEW_COPY_NOTES',
1607                         'VIEW_HOLD',
1608                         'VIEW_HOLD_NOTIFICATION',
1609                         'VIEW_HOLD_PERMIT',
1610                         'VIEW_PERM_GROUPS',
1611                         'VIEW_PERMISSION',
1612                         'VIEW_TITLE_NOTES',
1613                         'VIEW_TRANSACTION',
1614                         'VIEW_USER_SETTING_TYPE',
1615                         'VIEW_VOLUME_NOTES'
1616                 );
1617
1618 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1619         SELECT
1620                 pgt.id, perm.id, aout.depth, FALSE
1621         FROM
1622                 permission.grp_tree pgt,
1623                 permission.perm_list perm,
1624                 actor.org_unit_type aout
1625         WHERE
1626                 pgt.name = 'Staff' AND
1627                 aout.name = 'System' AND
1628                 perm.code IN (
1629                         'CREATE_USER',
1630                         'UPDATE_USER',
1631                         'VIEW_BILLING_TYPE',
1632                         'VIEW_CIRCULATIONS',
1633                         'VIEW_ORG_SETTINGS',
1634                         'VIEW_PERMIT_CHECKOUT',
1635                         'VIEW_USER',
1636                         'VIEW_USER_FINES_SUMMARY',
1637                         'VIEW_USER_TRANSACTIONS');
1638
1639 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1640         SELECT
1641                 pgt.id, perm.id, aout.depth, FALSE
1642         FROM
1643                 permission.grp_tree pgt,
1644                 permission.perm_list perm,
1645                 actor.org_unit_type aout
1646         WHERE
1647                 pgt.name = 'Staff' AND
1648                 aout.name = 'Branch' AND
1649                 perm.code IN (
1650                         'CANCEL_HOLDS',
1651                         'COPY_CHECKOUT',
1652                         'COPY_HOLDS',
1653                         'COPY_TRANSIT_RECEIVE',
1654                         'CREATE_BILL',
1655                         'CREATE_IN_HOUSE_USE',
1656                         'CREATE_PAYMENT',
1657                         'RENEW_HOLD_OVERRIDE',
1658                         'UPDATE_COPY',
1659                         'UPDATE_VOLUME',
1660                         'VOLUME_HOLDS');
1661
1662
1663 -- Add basic cataloguing permissions to the Catalogers group
1664
1665 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1666         SELECT
1667                 pgt.id, perm.id, aout.depth, FALSE
1668         FROM
1669                 permission.grp_tree pgt,
1670                 permission.perm_list perm,
1671                 actor.org_unit_type aout
1672         WHERE
1673                 pgt.name = 'Catalogers' AND
1674                 aout.name = 'Consortium' AND
1675                 perm.code IN (
1676                         'ALLOW_ALT_TCN',
1677                         'CREATE_BIB_IMPORT_QUEUE',
1678                         'CREATE_IMPORT_ITEM',
1679                         'CREATE_MARC',
1680                         'CREATE_TITLE_NOTE',
1681                         'DELETE_BIB_IMPORT_QUEUE',
1682                         'DELETE_IMPORT_ITEM',
1683                         'DELETE_RECORD',
1684                         'DELETE_TITLE_NOTE',
1685                         'IMPORT_ACQ_LINEITEM_BIB_RECORD',
1686                         'IMPORT_MARC',
1687                         'MERGE_AUTH_RECORDS',
1688                         'MERGE_BIB_RECORDS',
1689                         'UPDATE_AUTHORITY_IMPORT_QUEUE',
1690                         'UPDATE_AUTHORITY_RECORD_NOTE',
1691                         'UPDATE_BIB_IMPORT_QUEUE',
1692                         'UPDATE_MARC',
1693                         'UPDATE_RECORD',
1694                         'user_request.view',
1695                         'VIEW_AUTHORITY_RECORD_NOTES');
1696
1697 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1698         SELECT
1699                 pgt.id, perm.id, aout.depth, FALSE
1700         FROM
1701                 permission.grp_tree pgt,
1702                 permission.perm_list perm,
1703                 actor.org_unit_type aout
1704         WHERE
1705                 pgt.name = 'Catalogers' AND
1706                 aout.name = 'System' AND
1707                 perm.code IN (
1708                         'CREATE_COPY',
1709                         'CREATE_COPY_NOTE',
1710                         'CREATE_MFHD_RECORD',
1711                         'CREATE_VOLUME',
1712                         'CREATE_VOLUME_NOTE',
1713                         'DELETE_COPY',
1714                         'DELETE_COPY_NOTE',
1715                         'DELETE_MFHD_RECORD',
1716                         'DELETE_VOLUME',
1717                         'DELETE_VOLUME_NOTE',
1718                         'MAP_MONOGRAPH_PART',
1719                         'MARK_ITEM_AVAILABLE',
1720                         'MARK_ITEM_BINDERY',
1721                         'MARK_ITEM_CHECKED_OUT',
1722                         'MARK_ITEM_ILL',
1723                         'MARK_ITEM_IN_PROCESS',
1724                         'MARK_ITEM_IN_TRANSIT',
1725                         'MARK_ITEM_LOST',
1726                         'MARK_ITEM_MISSING',
1727                         'MARK_ITEM_ON_HOLDS_SHELF',
1728                         'MARK_ITEM_ON_ORDER',
1729                         'MARK_ITEM_RESHELVING',
1730                         'UPDATE_COPY',
1731                         'UPDATE_COPY_NOTE',
1732                         'UPDATE_IMPORT_ITEM',
1733                         'UPDATE_MFHD_RECORD',
1734                         'UPDATE_VOLUME',
1735                         'UPDATE_VOLUME_NOTE',
1736                         'VIEW_SERIAL_SUBSCRIPTION');
1737
1738
1739 -- Add advanced cataloguing permissions to the Cataloging Admin group
1740
1741 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1742         SELECT
1743                 pgt.id, perm.id, aout.depth, TRUE
1744         FROM
1745                 permission.grp_tree pgt,
1746                 permission.perm_list perm,
1747                 actor.org_unit_type aout
1748         WHERE
1749                 pgt.name = 'Cataloging Administrator' AND
1750                 aout.name = 'Consortium' AND
1751                 perm.code IN (
1752                         'ADMIN_IMPORT_ITEM_ATTR_DEF',
1753                         'ADMIN_MERGE_PROFILE',
1754                         'CREATE_AUTHORITY_IMPORT_IMPORT_DEF',
1755                         'CREATE_BIB_IMPORT_FIELD_DEF',
1756                         'CREATE_BIB_PTYPE',
1757                         'CREATE_BIB_SOURCE',
1758                         'CREATE_IMPORT_ITEM_ATTR_DEF',
1759                         'CREATE_IMPORT_TRASH_FIELD',
1760                         'CREATE_MERGE_PROFILE',
1761                         'CREATE_MONOGRAPH_PART',
1762                         'CREATE_VOLUME_PREFIX',
1763                         'CREATE_VOLUME_SUFFIX',
1764                         'DELETE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
1765                         'DELETE_BIB_PTYPE',
1766                         'DELETE_BIB_SOURCE',
1767                         'DELETE_IMPORT_ITEM_ATTR_DEF',
1768                         'DELETE_IMPORT_TRASH_FIELD',
1769                         'DELETE_MERGE_PROFILE',
1770                         'DELETE_MONOGRAPH_PART',
1771                         'DELETE_VOLUME_PREFIX',
1772                         'DELETE_VOLUME_SUFFIX',
1773                         'MAP_MONOGRAPH_PART',
1774                         'UPDATE_AUTHORITY_IMPORT_IMPORT_FIELD_DEF',
1775                         'UPDATE_BIB_IMPORT_IMPORT_FIELD_DEF',
1776                         'UPDATE_BIB_PTYPE',
1777                         'UPDATE_IMPORT_ITEM_ATTR_DEF',
1778                         'UPDATE_IMPORT_TRASH_FIELD',
1779                         'UPDATE_MERGE_PROFILE',
1780                         'UPDATE_MONOGRAPH_PART',
1781                         'UPDATE_VOLUME_PREFIX',
1782                         'UPDATE_VOLUME_SUFFIX'
1783                 );
1784
1785 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1786         SELECT
1787                 pgt.id, perm.id, aout.depth, TRUE
1788         FROM
1789                 permission.grp_tree pgt,
1790                 permission.perm_list perm,
1791                 actor.org_unit_type aout
1792         WHERE
1793                 pgt.name = 'Cataloging Administrator' AND
1794                 aout.name = 'System' AND
1795                 perm.code IN (
1796                         'CREATE_COPY_STAT_CAT',
1797                         'CREATE_COPY_STAT_CAT_ENTRY',
1798                         'CREATE_COPY_STAT_CAT_ENTRY_MAP',
1799                         'RUN_REPORTS',
1800                         'CREATE_REPORT_TEMPLATE',
1801                         'SHARE_REPORT_FOLDER',
1802                         'UPDATE_COPY_LOCATION',
1803                         'UPDATE_COPY_STAT_CAT',
1804                         'UPDATE_COPY_STAT_CAT_ENTRY',
1805                         'VIEW_REPORT_OUTPUT');
1806
1807
1808 -- Add basic circulation permissions to the Circulators group
1809
1810 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1811         SELECT
1812                 pgt.id, perm.id, aout.depth, FALSE
1813         FROM
1814                 permission.grp_tree pgt,
1815                 permission.perm_list perm,
1816                 actor.org_unit_type aout
1817         WHERE
1818                 pgt.name = 'Circulators' AND
1819                 aout.name = 'Branch' AND
1820                 perm.code IN (
1821                         'ADMIN_BOOKING_RESERVATION',
1822                         'ADMIN_BOOKING_RESOURCE',
1823                         'ADMIN_BOOKING_RESOURCE_ATTR',
1824                         'ADMIN_BOOKING_RESOURCE_ATTR_MAP',
1825                         'ADMIN_BOOKING_RESOURCE_ATTR_VALUE',
1826                         'ADMIN_BOOKING_RESOURCE_TYPE',
1827                         'ASSIGN_GROUP_PERM',
1828                         'MARK_ITEM_AVAILABLE',
1829                         'MARK_ITEM_BINDERY',
1830                         'MARK_ITEM_CHECKED_OUT',
1831                         'MARK_ITEM_ILL',
1832                         'MARK_ITEM_IN_PROCESS',
1833                         'MARK_ITEM_IN_TRANSIT',
1834                         'MARK_ITEM_LOST',
1835                         'MARK_ITEM_MISSING',
1836                         'MARK_ITEM_MISSING_PIECES',
1837                         'MARK_ITEM_ON_HOLDS_SHELF',
1838                         'MARK_ITEM_ON_ORDER',
1839                         'MARK_ITEM_RESHELVING',
1840                         'OFFLINE_UPLOAD',
1841                         'OFFLINE_VIEW',
1842                         'REMOVE_USER_GROUP_LINK',
1843                         'SET_CIRC_CLAIMS_RETURNED',
1844                         'SET_CIRC_CLAIMS_RETURNED.override',
1845                         'SET_CIRC_LOST',
1846                         'SET_CIRC_MISSING',
1847                         'UPDATE_BILL_NOTE',
1848                         'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT',
1849                         'UPDATE_PATRON_CLAIM_RETURN_COUNT',
1850                         'UPDATE_PAYMENT_NOTE',
1851                         'UPDATE_PICKUP_LIB FROM_TRANSIT',
1852                         'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF',
1853                         'VIEW_GROUP_PENALTY_THRESHOLD',
1854                         'VIEW_STANDING_PENALTY',
1855                         'VOID_BILLING',
1856                         'VOLUME_HOLDS');
1857
1858 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1859         SELECT
1860                 pgt.id, perm.id, aout.depth, FALSE
1861         FROM
1862                 permission.grp_tree pgt,
1863                 permission.perm_list perm,
1864                 actor.org_unit_type aout
1865         WHERE
1866                 pgt.name = 'Circulators' AND
1867                 aout.name = 'System' AND
1868                 perm.code IN (
1869                         'ABORT_REMOTE_TRANSIT',
1870                         'ABORT_TRANSIT',
1871                         'CAPTURE_RESERVATION',
1872                         'CIRC_CLAIMS_RETURNED.override',
1873                         'CIRC_EXCEEDS_COPY_RANGE.override',
1874                         'CIRC_OVERRIDE_DUE_DATE',
1875                         'CIRC_PERMIT_OVERRIDE',
1876                         'COPY_ALERT_MESSAGE.override',
1877                         'COPY_BAD_STATUS.override',
1878                         'COPY_CIRC_NOT_ALLOWED.override',
1879                         'COPY_IS_REFERENCE.override',
1880                         'COPY_NEEDED_FOR_HOLD.override',
1881                         'COPY_NOT_AVAILABLE.override',
1882                         'COPY_STATUS_LOST.override',
1883                         'COPY_STATUS_MISSING.override',
1884                         'CREATE_DUPLICATE_HOLDS',
1885                         'CREATE_USER_GROUP_LINK',
1886                         'DELETE_TRANSIT',
1887                         'HOLD_EXISTS.override',
1888                         'HOLD_ITEM_CHECKED_OUT.override',
1889                         'ISSUANCE_HOLDS',
1890                         'ITEM_AGE_PROTECTED.override',
1891                         'ITEM_ON_HOLDS_SHELF.override',
1892                         'MAX_RENEWALS_REACHED.override',
1893                         'OVERRIDE_HOLD_HAS_LOCAL_COPY',
1894                         'PATRON_EXCEEDS_CHECKOUT_COUNT.override',
1895                         'PATRON_EXCEEDS_FINES.override',
1896                         'PATRON_EXCEEDS_OVERDUE_COUNT.override',
1897                         'RETRIEVE_RESERVATION_PULL_LIST',
1898                         'UPDATE_HOLD');
1899
1900
1901 -- Add advanced circulation permissions to the Circulation Admin group
1902
1903 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1904         SELECT
1905                 pgt.id, perm.id, aout.depth, TRUE
1906         FROM
1907                 permission.grp_tree pgt,
1908                 permission.perm_list perm,
1909                 actor.org_unit_type aout
1910         WHERE
1911                 pgt.name = 'Circulation Administrator' AND
1912                 aout.name = 'Branch' AND
1913                 perm.code IN (
1914                         'DELETE_USER');
1915
1916 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1917         SELECT
1918                 pgt.id, perm.id, aout.depth, TRUE
1919         FROM
1920                 permission.grp_tree pgt,
1921                 permission.perm_list perm,
1922                 actor.org_unit_type aout
1923         WHERE
1924                 pgt.name = 'Circulation Administrator' AND
1925                 aout.name = 'Consortium' AND
1926                 perm.code IN (
1927                         'ADMIN_MAX_FINE_RULE',
1928                         'CREATE_CIRC_DURATION',
1929                         'DELETE_CIRC_DURATION',
1930                         'MARK_ITEM_MISSING_PIECES',
1931                         'UPDATE_CIRC_DURATION',
1932                         'UPDATE_HOLD_REQUEST_TIME',
1933                         'UPDATE_NET_ACCESS_LEVEL',
1934                         'VIEW_CIRC_MATRIX_MATCHPOINT',
1935             'ABORT_TRANSIT_ON_LOST', 
1936             'ABORT_TRANSIT_ON_MISSING',
1937             'UPDATE_PATRON_COLLECTIONS_EXEMPT',
1938                         'VIEW_HOLD_MATRIX_MATCHPOINT');
1939
1940 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
1941         SELECT
1942                 pgt.id, perm.id, aout.depth, TRUE
1943         FROM
1944                 permission.grp_tree pgt,
1945                 permission.perm_list perm,
1946                 actor.org_unit_type aout
1947         WHERE
1948                 pgt.name = 'Circulation Administrator' AND
1949                 aout.name = 'System' AND
1950                 perm.code IN (
1951                         'ADMIN_BOOKING_RESERVATION',
1952                         'ADMIN_BOOKING_RESERVATION_ATTR_MAP',
1953                         'ADMIN_BOOKING_RESERVATION_ATTR_VALUE_MAP',
1954                         'ADMIN_BOOKING_RESOURCE',
1955                         'ADMIN_BOOKING_RESOURCE_ATTR',
1956                         'ADMIN_BOOKING_RESOURCE_ATTR_MAP',
1957                         'ADMIN_BOOKING_RESOURCE_ATTR_VALUE',
1958                         'ADMIN_BOOKING_RESOURCE_TYPE',
1959                         'ADMIN_COPY_LOCATION_ORDER',
1960                         'ADMIN_HOLD_CANCEL_CAUSE',
1961                         'ASSIGN_GROUP_PERM',
1962                         'BAR_PATRON',
1963                         'COPY_HOLDS',
1964                         'COPY_TRANSIT_RECEIVE',
1965                         'CREATE_BILL',
1966                         'CREATE_BILLING_TYPE',
1967                         'CREATE_NON_CAT_TYPE',
1968                         'CREATE_PATRON_STAT_CAT',
1969                         'CREATE_PATRON_STAT_CAT_ENTRY',
1970                         'CREATE_PATRON_STAT_CAT_ENTRY_MAP',
1971                         'CREATE_USER_GROUP_LINK',
1972                         'DELETE_BILLING_TYPE',
1973                         'DELETE_NON_CAT_TYPE',
1974                         'DELETE_PATRON_STAT_CAT',
1975                         'DELETE_PATRON_STAT_CAT_ENTRY',
1976                         'DELETE_PATRON_STAT_CAT_ENTRY_MAP',
1977                         'DELETE_TRANSIT',
1978                         'group_application.user.staff',
1979                         'MANAGE_BAD_DEBT',
1980                         'MARK_ITEM_AVAILABLE',
1981                         'MARK_ITEM_BINDERY',
1982                         'MARK_ITEM_CHECKED_OUT',
1983                         'MARK_ITEM_ILL',
1984                         'MARK_ITEM_IN_PROCESS',
1985                         'MARK_ITEM_IN_TRANSIT',
1986                         'MARK_ITEM_LOST',
1987                         'MARK_ITEM_MISSING',
1988                         'MARK_ITEM_ON_HOLDS_SHELF',
1989                         'MARK_ITEM_ON_ORDER',
1990                         'MARK_ITEM_RESHELVING',
1991                         'MERGE_USERS',
1992                         'money.collections_tracker.create',
1993                         'money.collections_tracker.delete',
1994                         'OFFLINE_EXECUTE',
1995                         'OFFLINE_UPLOAD',
1996                         'OFFLINE_VIEW',
1997                         'REMOVE_USER_GROUP_LINK',
1998                         'SET_CIRC_CLAIMS_RETURNED',
1999                         'SET_CIRC_CLAIMS_RETURNED.override',
2000                         'SET_CIRC_LOST',
2001                         'SET_CIRC_MISSING',
2002                         'UNBAR_PATRON',
2003                         'UPDATE_BILL_NOTE',
2004                         'UPDATE_NON_CAT_TYPE',
2005                         'UPDATE_PATRON_CLAIM_NEVER_CHECKED_OUT_COUNT',
2006                         'UPDATE_PATRON_CLAIM_RETURN_COUNT',
2007                         'UPDATE_PICKUP_LIB_FROM_HOLDS_SHELF',
2008                         'UPDATE_PICKUP_LIB_FROM_TRANSIT',
2009                         'UPDATE_USER',
2010                         'VIEW_REPORT_OUTPUT',
2011                         'VIEW_STANDING_PENALTY',
2012                         'VOID_BILLING',
2013             'TRANSIT_CHECKIN_INTERVAL_BLOCK.override',
2014                         'VOLUME_HOLDS');
2015
2016
2017 -- Add basic sys admin permissions to the Local Administrator group
2018
2019 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2020         SELECT
2021                 pgt.id, perm.id, aout.depth, TRUE
2022         FROM
2023                 permission.grp_tree pgt,
2024                 permission.perm_list perm,
2025                 actor.org_unit_type aout
2026         WHERE
2027                 pgt.name = 'Local Administrator' AND
2028                 aout.name = 'Branch' AND
2029                 perm.code IN (
2030                         'EVERYTHING');
2031
2032
2033 -- Add administration permissions to the System Administrator group
2034
2035 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2036         SELECT
2037                 pgt.id, perm.id, aout.depth, TRUE
2038         FROM
2039                 permission.grp_tree pgt,
2040                 permission.perm_list perm,
2041                 actor.org_unit_type aout
2042         WHERE
2043                 pgt.name = 'System Administrator' AND
2044                 aout.name = 'System' AND
2045                 perm.code IN (
2046                         'EVERYTHING');
2047
2048 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2049         SELECT
2050                 pgt.id, perm.id, aout.depth, FALSE
2051         FROM
2052                 permission.grp_tree pgt,
2053                 permission.perm_list perm,
2054                 actor.org_unit_type aout
2055         WHERE
2056                 pgt.name = 'System Administrator' AND
2057                 aout.name = 'Consortium' AND
2058                 perm.code ~ '^VIEW_TRIGGER';
2059
2060
2061 -- Add administration permissions to the Global Administrator group
2062
2063 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2064         SELECT
2065                 pgt.id, perm.id, aout.depth, TRUE
2066         FROM
2067                 permission.grp_tree pgt,
2068                 permission.perm_list perm,
2069                 actor.org_unit_type aout
2070         WHERE
2071                 pgt.name = 'Global Administrator' AND
2072                 aout.name = 'Consortium' AND
2073                 perm.code IN (
2074                         'EVERYTHING');
2075
2076
2077 -- Add basic acquisitions permissions to the Acquisitions group
2078
2079 SELECT SETVAL('permission.grp_perm_map_id_seq'::TEXT, (SELECT MAX(id) FROM permission.grp_perm_map));
2080
2081 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2082         SELECT
2083                 pgt.id, perm.id, aout.depth, FALSE
2084         FROM
2085                 permission.grp_tree pgt,
2086                 permission.perm_list perm,
2087                 actor.org_unit_type aout
2088         WHERE
2089                 pgt.name = 'Acquisitions' AND
2090                 aout.name = 'Consortium' AND
2091                 perm.code IN (
2092                         'ALLOW_ALT_TCN',
2093                         'CREATE_BIB_IMPORT_QUEUE',
2094                         'CREATE_IMPORT_ITEM',
2095                         'CREATE_INVOICE',
2096                         'CREATE_MARC',
2097                         'CREATE_PICKLIST',
2098                         'CREATE_PURCHASE_ORDER',
2099                         'DELETE_BIB_IMPORT_QUEUE',
2100                         'DELETE_IMPORT_ITEM',
2101                         'DELETE_RECORD',
2102                         'DELETE_VOLUME',
2103                         'DELETE_VOLUME_NOTE',
2104                         'GENERAL_ACQ',
2105                         'IMPORT_ACQ_LINEITEM_BIB_RECORD',
2106                         'IMPORT_MARC',
2107                         'MANAGE_CLAIM',
2108                         'MANAGE_FUND',
2109                         'MANAGE_FUNDING_SOURCE',
2110                         'MANAGE_PROVIDER',
2111                         'MARK_ITEM_AVAILABLE',
2112                         'MARK_ITEM_BINDERY',
2113                         'MARK_ITEM_CHECKED_OUT',
2114                         'MARK_ITEM_ILL',
2115                         'MARK_ITEM_IN_PROCESS',
2116                         'MARK_ITEM_IN_TRANSIT',
2117                         'MARK_ITEM_LOST',
2118                         'MARK_ITEM_MISSING',
2119                         'MARK_ITEM_ON_HOLDS_SHELF',
2120                         'MARK_ITEM_ON_ORDER',
2121                         'MARK_ITEM_RESHELVING',
2122                         'RECEIVE_PURCHASE_ORDER',
2123                         'UPDATE_BATCH_COPY',
2124                         'UPDATE_BIB_IMPORT_QUEUE',
2125                         'UPDATE_COPY',
2126                         'UPDATE_FUND',
2127                         'UPDATE_FUND_ALLOCATION',
2128                         'UPDATE_FUNDING_SOURCE',
2129                         'UPDATE_IMPORT_ITEM',
2130                         'UPDATE_MARC',
2131                         'UPDATE_PICKLIST',
2132                         'UPDATE_RECORD',
2133                         'UPDATE_VOLUME',
2134                         'user_request.delete',
2135                         'user_request.update',
2136                         'user_request.view',
2137                         'VIEW_ACQ_FUND_ALLOCATION_PERCENT',
2138                         'VIEW_ACQ_FUNDING_SOURCE',
2139                         'VIEW_FUND',
2140                         'VIEW_FUND_ALLOCATION',
2141                         'VIEW_FUNDING_SOURCE',
2142                         'VIEW_HOLDS',
2143                         'VIEW_INVOICE',
2144                         'VIEW_ORG_SETTINGS',
2145                         'VIEW_PICKLIST',
2146                         'VIEW_PROVIDER',
2147                         'VIEW_PURCHASE_ORDER',
2148                         'VIEW_REPORT_OUTPUT');
2149
2150
2151 -- Add acquisitions administration permissions to the Acquisitions Admin group
2152
2153 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2154         SELECT
2155                 pgt.id, perm.id, aout.depth, TRUE
2156         FROM
2157                 permission.grp_tree pgt,
2158                 permission.perm_list perm,
2159                 actor.org_unit_type aout
2160         WHERE
2161                 pgt.name = 'Acquisitions Administrator' AND
2162                 aout.name = 'Consortium' AND
2163                 perm.code IN (
2164                         'ACQ_INVOICE_REOPEN',
2165                         'ACQ_XFER_MANUAL_DFUND_AMOUNT',
2166                         'ADMIN_ACQ_CANCEL_CAUSE',
2167                         'ADMIN_ACQ_CLAIM',
2168                         'ADMIN_ACQ_CLAIM_EVENT_TYPE',
2169                         'ADMIN_ACQ_CLAIM_TYPE',
2170                         'ADMIN_ACQ_DISTRIB_FORMULA',
2171                         'ADMIN_ACQ_FISCAL_YEAR',
2172                         'ADMIN_ACQ_FUND',
2173                         'ADMIN_ACQ_FUND_ALLOCATION_PERCENT',
2174                         'ADMIN_ACQ_FUND_TAG',
2175                         'ADMIN_ACQ_LINE_ITEM_ALERT_TEXT',
2176                         'ADMIN_CLAIM_POLICY',
2177                         'ADMIN_CURRENCY_TYPE',
2178                         'ADMIN_FUND',
2179                         'ADMIN_FUNDING_SOURCE',
2180                         'ADMIN_INVOICE',
2181                         'ADMIN_INVOICE_METHOD',
2182                         'ADMIN_INVOICE_PAYMENT_METHOD',
2183                         'ADMIN_LINEITEM_MARC_ATTR_DEF',
2184                         'ADMIN_PROVIDER',
2185                         'ADMIN_USER_REQUEST_TYPE',
2186                         'CREATE_ACQ_FUNDING_SOURCE',
2187                         'CREATE_FUND',
2188                         'CREATE_FUND_ALLOCATION',
2189                         'CREATE_FUNDING_SOURCE',
2190                         'CREATE_INVOICE_ITEM_TYPE',
2191                         'CREATE_INVOICE_METHOD',
2192                         'CREATE_PROVIDER',
2193                         'DELETE_ACQ_FUNDING_SOURCE',
2194                         'DELETE_FUND',
2195                         'DELETE_FUND_ALLOCATION',
2196                         'DELETE_FUNDING_SOURCE',
2197                         'DELETE_INVOICE_ITEM_TYPE',
2198                         'DELETE_INVOICE_METHOD',
2199                         'DELETE_PROVIDER',
2200                         'RUN_REPORTS',
2201                         'CREATE_REPORT_TEMPLATE',
2202                         'SHARE_REPORT_FOLDER',
2203                         'UPDATE_ACQ_FUNDING_SOURCE',
2204                         'UPDATE_INVOICE_ITEM_TYPE',
2205                         'UPDATE_INVOICE_METHOD',
2206                         'UPDATE_PICKLIST'
2207                 );
2208
2209 -- Add serials permissions to the Serials group
2210
2211 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2212         SELECT
2213                 pgt.id, perm.id, aout.depth, FALSE
2214         FROM
2215                 permission.grp_tree pgt,
2216                 permission.perm_list perm,
2217                 actor.org_unit_type aout
2218         WHERE
2219                 pgt.name = 'Serials' AND
2220                 aout.name = 'System' AND
2221                 perm.code IN (
2222                         'ADMIN_ASSET_COPY_TEMPLATE',
2223                         'ADMIN_SERIAL_CAPTION_PATTERN',
2224                         'ADMIN_SERIAL_DISTRIBUTION',
2225                         'ADMIN_SERIAL_ITEM',
2226                         'ADMIN_SERIAL_STREAM',
2227                         'ADMIN_SERIAL_SUBSCRIPTION',
2228                         'ISSUANCE_HOLDS',
2229                         'RECEIVE_SERIAL');
2230
2231
2232 -- Add basic staff permissions to the Volunteers group
2233
2234 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2235         SELECT
2236                 pgt.id, perm.id, aout.depth, FALSE
2237         FROM
2238                 permission.grp_tree pgt,
2239                 permission.perm_list perm,
2240                 actor.org_unit_type aout
2241         WHERE
2242                 pgt.name = 'Volunteers' AND
2243                 aout.name = 'Branch' AND
2244                 perm.code IN (
2245                         'COPY_CHECKOUT',
2246                         'CREATE_BILL',
2247                         'CREATE_IN_HOUSE_USE',
2248                         'CREATE_PAYMENT',
2249                         'VIEW_BILLING_TYPE',
2250                         'VIEW_CIRCS',
2251                         'VIEW_COPY_CHECKOUT',
2252                         'VIEW_HOLD',
2253                         'VIEW_TITLE_HOLDS',
2254                         'VIEW_TRANSACTION',
2255                         'VIEW_USER',
2256                         'VIEW_USER_FINES_SUMMARY',
2257                         'VIEW_USER_TRANSACTIONS');
2258
2259 INSERT INTO permission.grp_perm_map (grp, perm, depth, grantable)
2260         SELECT
2261                 pgt.id, perm.id, aout.depth, FALSE
2262         FROM
2263                 permission.grp_tree pgt,
2264                 permission.perm_list perm,
2265                 actor.org_unit_type aout
2266         WHERE
2267                 pgt.name = 'Volunteers' AND
2268                 aout.name = 'Consortium' AND
2269                 perm.code IN (
2270                         'CREATE_COPY_TRANSIT',
2271                         'CREATE_TRANSACTION',
2272                         'CREATE_TRANSIT',
2273                         'STAFF_LOGIN',
2274                         'TRANSIT_COPY',
2275                         'VIEW_ORG_SETTINGS');
2276
2277
2278 -- Admin user account
2279 INSERT INTO actor.usr ( profile, card, usrname, passwd, first_given_name, family_name, dob, master_account, super_user, ident_type, ident_value, home_ou ) VALUES ( 1, 1, md5(random()::text), md5(random()::text), 'Administrator', 'System Account', '1979-01-22', TRUE, TRUE, 1, 'identification', 1 );
2280
2281 -- Admin user barcode
2282 INSERT INTO actor.card (usr, barcode) VALUES (1,md5(random()::text));
2283 UPDATE actor.usr SET card = (SELECT currval('actor.card_id_seq')) WHERE id = 1;
2284
2285 -- Admin user permissions
2286 INSERT INTO permission.usr_perm_map (usr,perm,depth) VALUES (1,-1,0);
2287
2288 -- Set a work_ou for the Administrator user
2289 INSERT INTO permission.usr_work_ou_map (usr, work_ou) VALUES (1, 1);
2290
2291 --010.schema.biblio.sql:
2292 INSERT INTO biblio.record_entry VALUES (-1,1,1,1,-1,NOW(),NOW(),FALSE,FALSE,'','AUTOGEN','-1','<record xmlns="http://www.loc.gov/MARC21/slim"/>','FOO');
2293
2294 --040.schema.asset.sql:
2295 INSERT INTO asset.copy_location (id, name,owning_lib) VALUES (1, oils_i18n_gettext(1, 'Stacks', 'acpl', 'name'),1);
2296 SELECT SETVAL('asset.copy_location_id_seq'::TEXT, 100);
2297
2298 INSERT INTO asset.call_number_suffix (id, owning_lib, label) VALUES (-1, 1, '');
2299 INSERT INTO asset.call_number_prefix (id, owning_lib, label) VALUES (-1, 1, '');
2300 INSERT INTO asset.call_number VALUES (-1,1,NOW(),1,NOW(),-1,1,'UNCATALOGED');
2301
2302 -- circ matrix
2303 INSERT INTO config.circ_matrix_matchpoint (org_unit,grp,circulate,duration_rule,recurring_fine_rule,max_fine_rule) VALUES (1,1,true,11,1,1);
2304
2305 INSERT INTO config.circ_matrix_weights(name, org_unit, grp, circ_modifier, marc_type, marc_form, marc_bib_level, marc_vr_format, copy_circ_lib, copy_owning_lib, user_home_ou, ref_flag, juvenile_flag, is_renewal, usr_age_upper_bound, usr_age_lower_bound, item_age) VALUES 
2306     ('Default', 10.0, 11.0, 5.0, 4.0, 3.0, 2.0, 2.0, 8.0, 8.0, 8.0, 1.0, 6.0, 7.0, 0.0, 0.0, 0.0),
2307     ('Org_Unit_First', 11.0, 10.0, 5.0, 4.0, 3.0, 2.0, 2.0, 8.0, 8.0, 8.0, 1.0, 6.0, 7.0, 0.0, 0.0, 0.0),
2308     ('Item_Owner_First', 8.0, 8.0, 5.0, 4.0, 3.0, 2.0, 2.0, 10.0, 11.0, 8.0, 1.0, 6.0, 7.0, 0.0, 0.0, 0.0),
2309     ('All_Equal', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
2310
2311 -- hold matrix - 110.hold_matrix.sql:
2312 INSERT INTO config.hold_matrix_matchpoint (requestor_grp) VALUES (1);
2313
2314 INSERT INTO config.hold_matrix_weights(name, user_home_ou, request_ou, pickup_ou, item_owning_ou, item_circ_ou, usr_grp, requestor_grp, circ_modifier, marc_type, marc_form, marc_bib_level, marc_vr_format, juvenile_flag, ref_flag, item_age) VALUES
2315     ('Default', 5.0, 5.0, 5.0, 5.0, 5.0, 7.0, 8.0, 4.0, 3.0, 2.0, 1.0, 1.0, 4.0, 0.0, 0.0),
2316     ('Item_Owner_First', 5.0, 5.0, 5.0, 8.0, 7.0, 5.0, 5.0, 4.0, 3.0, 2.0, 1.0, 1.0, 4.0, 0.0, 0.0),
2317     ('User_Before_Requestor', 5.0, 5.0, 5.0, 5.0, 5.0, 8.0, 7.0, 4.0, 3.0, 2.0, 1.0, 1.0, 4.0, 0.0, 0.0),
2318     ('All_Equal', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
2319
2320 -- dynamic weight associations
2321 INSERT INTO config.weight_assoc(active, org_unit, circ_weights, hold_weights) VALUES
2322     (true, 1, 1, 1);
2323
2324 -- User setting types
2325 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2326     VALUES ('opac.default_font', TRUE, 'OPAC Font Size', 'OPAC Font Size', 'string');
2327
2328 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2329     VALUES ('opac.default_search_depth', TRUE, 'OPAC Search Depth', 'OPAC Search Depth', 'integer');
2330
2331 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2332     VALUES ('opac.default_search_location', TRUE, 'OPAC Search Location', 'OPAC Search Location', 'integer');
2333
2334 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2335     VALUES ('opac.hits_per_page', TRUE, 'Hits per Page', 'Hits per Page', 'string');
2336
2337 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2338     VALUES ('opac.hold_notify', TRUE, 'Hold Notification Format', 'Hold Notification Format', 'string');
2339
2340 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2341     VALUES ('staff_client.catalog.record_view.default', TRUE, 'Default Record View', 'Default Record View', 'string');
2342
2343 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2344     VALUES ('staff_client.copy_editor.templates', TRUE, 'Copy Editor Template', 'Copy Editor Template', 'object');
2345
2346 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
2347     VALUES ('circ.holds_behind_desk', FALSE, 'Hold is behind Circ Desk', 'Hold is behind Circ Desk', 'bool');
2348
2349 -- Add groups for org_unitu settings
2350 INSERT INTO config.settings_group (name, label) VALUES
2351 ('sys', oils_i18n_gettext('config.settings_group.system', 'System', 'coust', 'label')),
2352 ('gui', oils_i18n_gettext('config.settings_group.gui', 'GUI', 'coust', 'label')),
2353 ('lib', oils_i18n_gettext('config.settings_group.lib', 'Library', 'coust', 'label')),
2354 ('sec', oils_i18n_gettext('config.settings_group.sec', 'Security', 'coust', 'label')),
2355 ('cat', oils_i18n_gettext('config.settings_group.cat', 'Cataloging', 'coust', 'label')),
2356 ('holds', oils_i18n_gettext('config.settings_group.holds', 'Holds', 'coust', 'label')),
2357 ('circ', oils_i18n_gettext('config.settings_group.circulation', 'Circulation', 'coust', 'label')),
2358 ('self', oils_i18n_gettext('config.settings_group.self', 'Self Check', 'coust', 'label')),
2359 ('opac', oils_i18n_gettext('config.settings_group.opac', 'OPAC', 'coust', 'label')),
2360 ('prog', oils_i18n_gettext('config.settings_group.program', 'Program', 'coust', 'label')),
2361 ('glob', oils_i18n_gettext('config.settings_group.global', 'Global', 'coust', 'label')),
2362 ('finance', oils_i18n_gettext('config.settings_group.finances', 'Finanaces', 'coust', 'label')),
2363 ('credit', oils_i18n_gettext('config.settings_group.ccp', 'Credit Card Processing', 'coust', 'label')),
2364 ('serial', oils_i18n_gettext('config.settings_group.serial', 'Serials', 'coust', 'label')),
2365 ('recall', oils_i18n_gettext('config.settings_group.recall', 'Recalls', 'coust', 'label')),
2366 ('booking', oils_i18n_gettext('config.settings_group.booking', 'Booking', 'coust', 'label')),
2367 ('offline', oils_i18n_gettext('config.settings_group.offline', 'Offline', 'coust', 'label')),
2368 ('receipt_template', oils_i18n_gettext('config.settings_group.receipt_template', 'Receipt Template', 'coust', 'label'));
2369
2370
2371 -- org_unit setting types
2372 INSERT into config.org_unit_setting_type
2373 ( name, grp, label, description, datatype, fm_class ) VALUES
2374
2375 ( 'acq.copy_creator_uses_receiver', 'lib',
2376     oils_i18n_gettext('acq.copy_creator_uses_receiver',
2377         'Set copy creator as receiver',
2378         'coust', 'label'),
2379     oils_i18n_gettext('acq.copy_creator_uses_receiver',
2380         'When receiving a copy in acquisitions, set the copy "creator" to be the staff that received the copy',
2381         'coust', 'description'),
2382     'bool', null)
2383
2384 ,( 'acq.default_circ_modifier', 'lib',
2385     oils_i18n_gettext('acq.default_circ_modifier',
2386         'Default circulation modifier',
2387         'coust', 'label'),
2388     oils_i18n_gettext('acq.default_circ_modifier',
2389         'Default circulation modifier',
2390         'coust', 'description'),
2391     'string', null)
2392
2393 ,( 'acq.default_copy_location', 'lib',
2394     oils_i18n_gettext('acq.default_copy_location',
2395         'Default copy location',
2396         'coust', 'label'),
2397     oils_i18n_gettext('acq.default_copy_location',
2398         'Default copy location',
2399         'coust', 'description'),
2400     'link', 'acpl')
2401
2402 ,( 'acq.fund.balance_limit.block', 'finance',
2403     oils_i18n_gettext('acq.fund.balance_limit.block',
2404         'Fund Spending Limit for Block',
2405         'coust', 'label'),
2406     oils_i18n_gettext('acq.fund.balance_limit.block',
2407         'When the amount remaining in the fund, including spent money and encumbrances, goes below this percentage, attempts to spend from the fund will be blocked.',
2408         'coust', 'description'),
2409     'integer', null)
2410
2411 ,( 'acq.fund.balance_limit.warn', 'finance',
2412     oils_i18n_gettext('acq.fund.balance_limit.warn',
2413         'Fund Spending Limit for Warning',
2414         'coust', 'label'),
2415     oils_i18n_gettext('acq.fund.balance_limit.warn',
2416         'When the amount remaining in the fund, including spent money and encumbrances, goes below this percentage, attempts to spend from the fund will result in a warning to the staff.',
2417         'coust', 'description'),
2418     'integer', null)
2419
2420 ,( 'acq.holds.allow_holds_from_purchase_request', 'lib',
2421     oils_i18n_gettext('acq.holds.allow_holds_from_purchase_request',
2422         'Allows patrons to create automatic holds from purchase requests.',
2423         'coust', 'label'),
2424     oils_i18n_gettext('acq.holds.allow_holds_from_purchase_request',
2425         'Allows patrons to create automatic holds from purchase requests.',
2426         'coust', 'description'),
2427     'bool', null)
2428
2429 ,( 'acq.tmp_barcode_prefix', 'lib',
2430     oils_i18n_gettext('acq.tmp_barcode_prefix',
2431         'Temporary barcode prefix',
2432         'coust', 'label'),
2433     oils_i18n_gettext('acq.tmp_barcode_prefix',
2434         'Temporary barcode prefix',
2435         'coust', 'description'),
2436     'string', null)
2437
2438 ,( 'acq.tmp_callnumber_prefix', 'lib',
2439     oils_i18n_gettext('acq.tmp_callnumber_prefix',
2440         'Temporary call number prefix',
2441         'coust', 'label'),
2442     oils_i18n_gettext('acq.tmp_callnumber_prefix',
2443         'Temporary call number prefix',
2444         'coust', 'description'),
2445     'string', null)
2446
2447 ,( 'auth.opac_timeout', 'sec',
2448     oils_i18n_gettext('auth.opac_timeout',
2449         'OPAC Inactivity Timeout (in seconds)',
2450         'coust', 'label'),
2451     oils_i18n_gettext('auth.opac_timeout',
2452         'OPAC Inactivity Timeout (in seconds)',
2453         'coust', 'description'),
2454     'integer', null)
2455
2456 ,( 'auth.persistent_login_interval', 'sec',
2457     oils_i18n_gettext('auth.persistent_login_interval',
2458         'Persistent Login Duration',
2459         'coust', 'label'),
2460     oils_i18n_gettext('auth.persistent_login_interval',
2461         'How long a persistent login lasts.  E.g. ''2 weeks''',
2462         'coust', 'description'),
2463     'interval', null)
2464
2465 ,( 'auth.staff_timeout', 'sec',
2466     oils_i18n_gettext('auth.staff_timeout',
2467         'Staff Login Inactivity Timeout (in seconds)',
2468         'coust', 'label'),
2469     oils_i18n_gettext('auth.staff_timeout',
2470         'Staff Login Inactivity Timeout (in seconds)',
2471         'coust', 'description'),
2472     'integer', null)
2473
2474 ,( 'booking.allow_email_notify', 'booking',
2475     oils_i18n_gettext('booking.allow_email_notify',
2476         'Allow Email Notify',
2477         'coust', 'label'),
2478     oils_i18n_gettext('booking.allow_email_notify',
2479         'Permit email notification when a reservation is ready for pickup.',
2480         'coust', 'description'),
2481     'bool', null)
2482
2483 ,( 'cat.bib.alert_on_empty', 'gui',
2484     oils_i18n_gettext('cat.bib.alert_on_empty',
2485         'Alert on empty bib records',
2486         'coust', 'label'),
2487     oils_i18n_gettext('cat.bib.alert_on_empty',
2488         'Alert staff when the last copy for a record is being deleted',
2489         'coust', 'description'),
2490     'bool', null)
2491
2492 ,( 'cat.bib.delete_on_no_copy_via_acq_lineitem_cancel', 'cat',
2493     oils_i18n_gettext('cat.bib.delete_on_no_copy_via_acq_lineitem_cancel',
2494         'Delete bib if all copies are deleted via Acquisitions lineitem cancellation.',
2495         'coust', 'label'),
2496     oils_i18n_gettext('cat.bib.delete_on_no_copy_via_acq_lineitem_cancel',
2497         'Delete bib if all copies are deleted via Acquisitions lineitem cancellation.',
2498         'coust', 'description'),
2499     'bool', null)
2500
2501 ,( 'cat.bib.keep_on_empty', 'prog',
2502     oils_i18n_gettext('cat.bib.keep_on_empty',
2503         'Retain empty bib records',
2504         'coust', 'label'),
2505     oils_i18n_gettext('cat.bib.keep_on_empty',
2506         'Retain a bib record even when all attached copies are deleted',
2507         'coust', 'description'),
2508     'bool', null)
2509
2510 ,( 'cat.default_classification_scheme', 'cat',
2511     oils_i18n_gettext('cat.default_classification_scheme',
2512         'Default Classification Scheme',
2513         'coust', 'label'),
2514     oils_i18n_gettext('cat.default_classification_scheme',
2515         'Defines the default classification scheme for new call numbers: 1 = Generic; 2 = Dewey; 3 = LC',
2516         'coust', 'description'),
2517     'link', 'acnc')
2518
2519 ,( 'cat.default_copy_status_fast', 'cat',
2520     oils_i18n_gettext('cat.default_copy_status_fast',
2521         'Default copy status (fast add)',
2522         'coust', 'label'),
2523     oils_i18n_gettext('cat.default_copy_status_fast',
2524         'Default status when a copy is created using the "Fast Add" interface.',
2525         'coust', 'description'),
2526     'link', 'ccs')
2527
2528 ,( 'cat.default_copy_status_normal', 'cat',
2529     oils_i18n_gettext('cat.default_copy_status_normal',
2530         'Default copy status (normal)',
2531         'coust', 'label'),
2532     oils_i18n_gettext('cat.default_copy_status_normal',
2533         'Default status when a copy is created using the normal volume/copy creator interface.',
2534         'coust', 'description'),
2535     'link', 'ccs')
2536
2537 ,( 'cat.default_item_price', 'finance',
2538     oils_i18n_gettext('cat.default_item_price',
2539         'Default Item Price',
2540         'coust', 'label'),
2541     oils_i18n_gettext('cat.default_item_price',
2542         'Default Item Price',
2543         'coust', 'description'),
2544     'currency', null)
2545
2546 ,( 'cat.label.font.family', 'cat',
2547     oils_i18n_gettext('cat.label.font.family',
2548         'Spine and pocket label font family',
2549         'coust', 'label'),
2550     oils_i18n_gettext('cat.label.font.family',
2551         'Set the preferred font family for spine and pocket labels. You can specify a list of fonts, separated by commas, in order of preference; the system will use the first font it finds with a matching name. For example, "Arial, Helvetica, serif".',
2552         'coust', 'description'),
2553     'string', null)
2554
2555 ,( 'cat.label.font.size', 'cat',
2556     oils_i18n_gettext('cat.label.font.size',
2557         'Spine and pocket label font size',
2558         'coust', 'label'),
2559     oils_i18n_gettext('cat.label.font.size',
2560         'Set the default font size for spine and pocket labels',
2561         'coust', 'description'),
2562     'integer', null)
2563
2564 ,( 'cat.label.font.weight', 'cat',
2565     oils_i18n_gettext('cat.label.font.weight',
2566         'Spine and pocket label font weight',
2567         'coust', 'label'),
2568     oils_i18n_gettext('cat.label.font.weight',
2569         'Set the preferred font weight for spine and pocket labels. You can specify "normal", "bold", "bolder", or "lighter".',
2570         'coust', 'description'),
2571     'string', null)
2572
2573 ,( 'cat.marc_control_number_identifier', 'cat',
2574     oils_i18n_gettext('cat.marc_control_number_identifier',
2575         'Defines the control number identifier used in 003 and 035 fields.',
2576         'coust', 'label'),
2577     oils_i18n_gettext('cat.marc_control_number_identifier',
2578         'Cat: Defines the control number identifier used in 003 and 035 fields.',
2579         'coust', 'description'),
2580     'string', null)
2581
2582 ,( 'cat.spine.line.height', 'cat',
2583     oils_i18n_gettext('cat.spine.line.height',
2584         'Spine label maximum lines',
2585         'coust', 'label'),
2586     oils_i18n_gettext('cat.spine.line.height',
2587         'Set the default maximum number of lines for spine labels.',
2588         'coust', 'description'),
2589     'integer', null)
2590
2591 ,( 'cat.spine.line.margin', 'cat',
2592     oils_i18n_gettext('cat.spine.line.margin',
2593         'Spine label left margin',
2594         'coust', 'label'),
2595     oils_i18n_gettext('cat.spine.line.margin',
2596         'Set the left margin for spine labels in number of characters.',
2597         'coust', 'description'),
2598     'integer', null)
2599
2600 ,( 'cat.spine.line.width', 'cat',
2601     oils_i18n_gettext('cat.spine.line.width',
2602         'Spine label line width',
2603         'coust', 'label'),
2604     oils_i18n_gettext('cat.spine.line.width',
2605         'Set the default line width for spine labels in number of characters. This specifies the boundary at which lines must be wrapped.',
2606         'coust', 'description'),
2607     'integer', null)
2608
2609 ,( 'cat.volume.delete_on_empty', 'cat',
2610     oils_i18n_gettext('cat.volume.delete_on_empty',
2611         'Delete volume with last copy',
2612         'coust', 'label'),
2613     oils_i18n_gettext('cat.volume.delete_on_empty',
2614         'Automatically delete a volume when the last linked copy is deleted',
2615         'coust', 'description'),
2616     'bool', null)
2617
2618 ,( 'circ.auto_hide_patron_summary', 'gui',
2619     oils_i18n_gettext('circ.auto_hide_patron_summary',
2620         'Toggle off the patron summary sidebar after first view.',
2621         'coust', 'label'),
2622     oils_i18n_gettext('circ.auto_hide_patron_summary',
2623         'When true, the patron summary sidebar will collapse after a new patron sub-interface is selected.',
2624         'coust', 'description'),
2625     'bool', null)
2626
2627 ,( 'circ.block_renews_for_holds', 'holds',
2628     oils_i18n_gettext('circ.block_renews_for_holds',
2629         'Block Renewal of Items Needed for Holds',
2630         'coust', 'label'),
2631     oils_i18n_gettext('circ.block_renews_for_holds',
2632         'When an item could fulfill a hold, do not allow the current patron to renew',
2633         'coust', 'description'),
2634     'bool', null)
2635
2636 ,( 'circ.booking_reservation.default_elbow_room', 'booking',
2637     oils_i18n_gettext('circ.booking_reservation.default_elbow_room',
2638         'Booking elbow room',
2639         'coust', 'label'),
2640     oils_i18n_gettext('circ.booking_reservation.default_elbow_room',
2641         'Elbow room specifies how far in the future you must make a reservation on an item if that item will have to transit to reach its pickup location.  It secondarily defines how soon a reservation on a given item must start before the check-in process will opportunistically capture it for the reservation shelf.',
2642         'coust', 'description'),
2643     'interval', null)
2644
2645 ,( 'circ.charge_lost_on_zero', 'finance',
2646     oils_i18n_gettext('circ.charge_lost_on_zero',
2647         'Charge lost on zero',
2648         'coust', 'label'),
2649     oils_i18n_gettext('circ.charge_lost_on_zero',
2650         'Charge lost on zero',
2651         'coust', 'description'),
2652     'bool', null)
2653
2654 ,( 'circ.charge_on_damaged', 'finance',
2655     oils_i18n_gettext('circ.charge_on_damaged',
2656         'Charge item price when marked damaged',
2657         'coust', 'label'),
2658     oils_i18n_gettext('circ.charge_on_damaged',
2659         'Charge item price when marked damaged',
2660         'coust', 'description'),
2661     'bool', null)
2662
2663 ,( 'circ.checkout_auto_renew_age', 'circ',
2664     oils_i18n_gettext('circ.checkout_auto_renew_age',
2665         'Checkout auto renew age',
2666         'coust', 'label'),
2667     oils_i18n_gettext('circ.checkout_auto_renew_age',
2668         'When an item has been checked out for at least this amount of time, an attempt to check out the item to the patron that it is already checked out to will simply renew the circulation',
2669         'coust', 'description'),
2670     'interval', null)
2671
2672 ,( 'circ.checkout_fills_related_hold', 'circ',
2673     oils_i18n_gettext('circ.checkout_fills_related_hold',
2674         'Checkout Fills Related Hold',
2675         'coust', 'label'),
2676     oils_i18n_gettext('circ.checkout_fills_related_hold',
2677         'When a patron checks out an item and they have no holds that directly target the item, the system will attempt to find a hold for the patron that could be fulfilled by the checked out item and fulfills it',
2678         'coust', 'description'),
2679     'bool', null)
2680
2681 ,( 'circ.checkout_fills_related_hold_exact_match_only', 'circ',
2682     oils_i18n_gettext('circ.checkout_fills_related_hold_exact_match_only',
2683         'Checkout Fills Related Hold On Valid Copy Only',
2684         'coust', 'label'),
2685     oils_i18n_gettext('circ.checkout_fills_related_hold_exact_match_only',
2686         'When filling related holds on checkout only match on items that are valid for opportunistic capture for the hold. Without this set a Title or Volume hold could match when the item is not holdable. With this set only holdable items will match.',
2687         'coust', 'description'),
2688     'bool', null)
2689
2690 ,( 'circ.claim_never_checked_out.mark_missing', 'lib',
2691     oils_i18n_gettext('circ.claim_never_checked_out.mark_missing',
2692         'Claim Never Checked Out: Mark copy as missing',
2693         'coust', 'label'),
2694     oils_i18n_gettext('circ.claim_never_checked_out.mark_missing',
2695         'When a circ is marked as claims-never-checked-out, mark the copy as missing',
2696         'coust', 'description'),
2697     'bool', null)
2698
2699 ,( 'circ.claim_return.copy_status', 'lib',
2700     oils_i18n_gettext('circ.claim_return.copy_status',
2701         'Claim Return Copy Status',
2702         'coust', 'label'),
2703     oils_i18n_gettext('circ.claim_return.copy_status',
2704         'Claims returned copies are put into this status.  Default is to leave the copy in the Checked Out status',
2705         'coust', 'description'),
2706     'link', 'ccs')
2707
2708 ,( 'circ.damaged.void_ovedue', 'lib',
2709     oils_i18n_gettext('circ.damaged.void_ovedue',
2710         'Mark item damaged voids overdues',
2711         'coust', 'label'),
2712     oils_i18n_gettext('circ.damaged.void_ovedue',
2713         'When an item is marked damaged, overdue fines on the most recent circulation are voided.',
2714         'coust', 'description'),
2715     'bool', null)
2716
2717 ,( 'circ.damaged_item_processing_fee', 'finance',
2718     oils_i18n_gettext('circ.damaged_item_processing_fee',
2719         'Charge processing fee for damaged items',
2720         'coust', 'label'),
2721     oils_i18n_gettext('circ.damaged_item_processing_fee',
2722         'Charge processing fee for damaged items',
2723         'coust', 'description'),
2724     'currency', null)
2725
2726 ,( 'circ.do_not_tally_claims_returned', 'circ',
2727     oils_i18n_gettext('circ.do_not_tally_claims_returned',
2728         'Do not include outstanding Claims Returned circulations in lump sum tallies in Patron Display.',
2729         'coust', 'label'),
2730     oils_i18n_gettext('circ.do_not_tally_claims_returned',
2731         'In the Patron Display interface, the number of total active circulations for a given patron is presented in the Summary sidebar and underneath the Items Out navigation button.  This setting will prevent Claims Returned circulations from counting toward these tallies.',
2732         'coust', 'description'),
2733     'bool', null)
2734
2735 ,( 'circ.grace.extend', 'circ',
2736     oils_i18n_gettext('circ.grace.extend',
2737         'Auto-Extend Grace Periods',
2738         'coust', 'label'),
2739     oils_i18n_gettext('circ.grace.extend',
2740         'When enabled grace periods will auto-extend. By default this will be only when they are a full day or more and end on a closed date, though other options can alter this.',
2741         'coust', 'description'),
2742     'bool', null)
2743
2744 ,( 'circ.grace.extend.all', 'circ',
2745     oils_i18n_gettext('circ.grace.extend.all',
2746         'Auto-Extending Grace Periods extend for all closed dates',
2747         'coust', 'label'),
2748     oils_i18n_gettext('circ.grace.extend.all',
2749         'If enabled and Grace Periods auto-extending is turned on grace periods will extend past all closed dates they intersect, within hard-coded limits. This basically becomes "grace periods can only be consumed by closed dates".',
2750         'coust', 'description'),
2751     'bool', null)
2752
2753 ,( 'circ.grace.extend.into_closed', 'circ',
2754     oils_i18n_gettext('circ.grace.extend.into_closed',
2755         'Auto-Extending Grace Periods include trailing closed dates',
2756         'coust', 'label'),
2757     oils_i18n_gettext('circ.grace.extend.into_closed',
2758          'If enabled and Grace Periods auto-extending is turned on grace periods will include closed dates that directly follow the last day of the grace period, to allow a backdate into the closed dates to assume "returned after hours on the last day of the grace period, and thus still within it" automatically.',
2759         'coust', 'description'),
2760     'bool', null)
2761
2762 ,( 'circ.hold_boundary.hard', 'holds',
2763     oils_i18n_gettext('circ.hold_boundary.hard',
2764         'Hard boundary',
2765         'coust', 'label'),
2766     oils_i18n_gettext('circ.hold_boundary.hard',
2767         'Holds: Hard boundary',
2768         'coust', 'description'),
2769     'integer', null)
2770
2771 ,( 'circ.hold_boundary.soft', 'holds',
2772     oils_i18n_gettext('circ.hold_boundary.soft',
2773         'Soft boundary',
2774         'coust', 'label'),
2775     oils_i18n_gettext('circ.hold_boundary.soft',
2776         'Holds: Soft boundary',
2777         'coust', 'description'),
2778     'integer', null)
2779
2780 ,( 'circ.hold_expire_alert_interval', 'holds',
2781     oils_i18n_gettext('circ.hold_expire_alert_interval',
2782         'Expire Alert Interval',
2783         'coust', 'label'),
2784     oils_i18n_gettext('circ.hold_expire_alert_interval',
2785         'Amount of time before a hold expires at which point the patron should be alerted. Examples: "5 days", "1 hour"',
2786         'coust', 'description'),
2787     'interval', null)
2788
2789 ,( 'circ.hold_expire_interval', 'holds',
2790     oils_i18n_gettext('circ.hold_expire_interval',
2791         'Expire Interval',
2792         'coust', 'label'),
2793     oils_i18n_gettext('circ.hold_expire_interval',
2794         'Amount of time after a hold is placed before the hold expires.  Example "100 days"',
2795         'coust', 'description'),
2796     'interval', null)
2797
2798 ,( 'circ.hold_shelf_status_delay', 'circ',
2799     oils_i18n_gettext('circ.hold_shelf_status_delay',
2800         'Hold Shelf Status Delay',
2801         'coust', 'label'),
2802     oils_i18n_gettext('circ.hold_shelf_status_delay',
2803         'The purpose is to provide an interval of time after an item goes into the on-holds-shelf status before it appears to patrons that it is actually on the holds shelf.  This gives staff time to process the item before it shows as ready-for-pickup. Examples: "5 days", "1 hour"',
2804         'coust', 'description'),
2805     'interval', null)
2806
2807 ,( 'circ.hold_stalling.soft', 'holds',
2808     oils_i18n_gettext('circ.hold_stalling.soft',
2809         'Soft stalling interval',
2810         'coust', 'label'),
2811     oils_i18n_gettext('circ.hold_stalling.soft',
2812         'How long to wait before allowing remote items to be opportunistically captured for a hold.  Example "5 days"',
2813         'coust', 'description'),
2814     'interval', null)
2815
2816 ,( 'circ.hold_stalling_hard', 'holds',
2817     oils_i18n_gettext('circ.hold_stalling_hard',
2818         'Hard stalling interval',
2819         'coust', 'label'),
2820     oils_i18n_gettext('circ.hold_stalling_hard',
2821         'Holds: Hard stalling interval',
2822         'coust', 'description'),
2823     'interval', null)
2824
2825 ,( 'circ.holds.age_protect.active_date', 'holds',
2826     oils_i18n_gettext('circ.holds.age_protect.active_date',
2827         'Use Active Date for Age Protection',
2828         'coust', 'label'),
2829     oils_i18n_gettext('circ.holds.age_protect.active_date',
2830         'When calculating age protection rules use the active date instead of the creation date.',
2831         'coust', 'description'),
2832     'bool', null)
2833
2834 ,( 'circ.holds.behind_desk_pickup_supported', 'holds',
2835     oils_i18n_gettext('circ.holds.behind_desk_pickup_supported',
2836         'Behind Desk Pickup Supported',
2837         'coust', 'label'),
2838     oils_i18n_gettext('circ.holds.behind_desk_pickup_supported',
2839         'If a branch supports both a public holds shelf and behind-the-desk pickups, set this value to true.  This gives the patron the option to enable behind-the-desk pickups for their holds',
2840         'coust', 'description'),
2841     'bool', null)
2842
2843 ,( 'circ.holds.canceled.display_age', 'holds',
2844     oils_i18n_gettext('circ.holds.canceled.display_age',
2845         'Canceled holds display age',
2846         'coust', 'label'),
2847     oils_i18n_gettext('circ.holds.canceled.display_age',
2848         'Show all canceled holds that were canceled within this amount of time',
2849         'coust', 'description'),
2850     'interval', null)
2851
2852 ,( 'circ.holds.canceled.display_count', 'holds',
2853     oils_i18n_gettext('circ.holds.canceled.display_count',
2854         'Canceled holds display count',
2855         'coust', 'label'),
2856     oils_i18n_gettext('circ.holds.canceled.display_count',
2857         'How many canceled holds to show in patron holds interfaces',
2858         'coust', 'description'),
2859     'integer', null)
2860
2861 ,( 'circ.holds.clear_shelf.copy_status', 'holds',
2862     oils_i18n_gettext('circ.holds.clear_shelf.copy_status',
2863         'Clear shelf copy status',
2864         'coust', 'label'),
2865     oils_i18n_gettext('circ.holds.clear_shelf.copy_status',
2866         'Any copies that have not been put into reshelving, in-transit, or on-holds-shelf (for a new hold) during the clear shelf process will be put into this status.  This is basically a purgatory status for copies waiting to be pulled from the shelf and processed by hand',
2867         'coust', 'description'),
2868     'link', 'ccs')
2869
2870 ,( 'circ.holds.clear_shelf.no_capture_holds', 'holds',
2871     oils_i18n_gettext('circ.holds.clear_shelf.no_capture_holds',
2872         'Bypass hold capture during clear shelf process',
2873         'coust', 'label'),
2874     oils_i18n_gettext('circ.holds.clear_shelf.no_capture_holds',
2875         'During the clear shelf process, avoid capturing new holds on cleared items.',
2876         'coust', 'description'),
2877     'bool', null)
2878
2879 ,( 'circ.holds.default_estimated_wait_interval', 'holds',
2880     oils_i18n_gettext('circ.holds.default_estimated_wait_interval',
2881         'Default Estimated Wait',
2882         'coust', 'label'),
2883     oils_i18n_gettext('circ.holds.default_estimated_wait_interval',
2884         'When predicting the amount of time a patron will be waiting for a hold to be fulfilled, this is the default estimated length of time to assume an item will be checked out. Examples: "3 weeks", "7 days"',
2885         'coust', 'description'),
2886     'interval', null)
2887
2888 ,( 'circ.holds.default_shelf_expire_interval', 'holds',
2889     oils_i18n_gettext('circ.holds.default_shelf_expire_interval',
2890         'Default hold shelf expire interval',
2891         'coust', 'label'),
2892     oils_i18n_gettext('circ.holds.default_shelf_expire_interval',
2893         '',
2894         'coust', 'description'),
2895     'interval', null)
2896
2897 ,( 'circ.holds.expired_patron_block', 'circ',
2898     oils_i18n_gettext('circ.holds.expired_patron_block',
2899         'Block hold request if hold recipient privileges have expired',
2900         'coust', 'label'),
2901     oils_i18n_gettext('circ.holds.expired_patron_block',
2902         'Block hold request if hold recipient privileges have expired',
2903         'coust', 'description'),
2904     'bool', null)
2905
2906 ,( 'circ.holds.hold_has_copy_at.alert', 'holds',
2907     oils_i18n_gettext('circ.holds.hold_has_copy_at.alert',
2908         'Has Local Copy Alert',
2909         'coust', 'label'),
2910     oils_i18n_gettext('circ.holds.hold_has_copy_at.alert',
2911         'If there is an available copy at the requesting library that could fulfill a hold during hold placement time, alert the patron',
2912         'coust', 'description'),
2913     'bool', null)
2914
2915 ,( 'circ.holds.hold_has_copy_at.block', 'holds',
2916     oils_i18n_gettext('circ.holds.hold_has_copy_at.block',
2917         'Has Local Copy Block',
2918         'coust', 'label'),
2919     oils_i18n_gettext('circ.holds.hold_has_copy_at.block',
2920         'If there is an available copy at the requesting library that could fulfill a hold during hold placement time, do not allow the hold to be placed',
2921         'coust', 'description'),
2922     'bool', null)
2923
2924 ,( 'circ.holds.max_org_unit_target_loops', 'holds',
2925     oils_i18n_gettext('circ.holds.max_org_unit_target_loops',
2926         'Maximum library target attempts',
2927         'coust', 'label'),
2928     oils_i18n_gettext('circ.holds.max_org_unit_target_loops',
2929         'When this value is set and greater than 0, the system will only attempt to find a copy at each possible branch the configured number of times',
2930         'coust', 'description'),
2931     'integer', null)
2932
2933 ,( 'circ.holds.min_estimated_wait_interval', 'holds',
2934     oils_i18n_gettext('circ.holds.min_estimated_wait_interval',
2935         'Minimum Estimated Wait',
2936         'coust', 'label'),
2937     oils_i18n_gettext('circ.holds.min_estimated_wait_interval',
2938         'When predicting the amount of time a patron will be waiting for a hold to be fulfilled, this is the minimum estimated length of time to assume an item will be checked out. Examples: "2 weeks", "5 days"',
2939         'coust', 'description'),
2940     'interval', null)
2941
2942 ,( 'circ.holds.org_unit_target_weight', 'holds',
2943     oils_i18n_gettext('circ.holds.org_unit_target_weight',
2944         'Org Unit Target Weight',
2945         'coust', 'label'),
2946     oils_i18n_gettext('circ.holds.org_unit_target_weight',
2947         'Org Units can be organized into hold target groups based on a weight.  Potential copies from org units with the same weight are chosen at random.',
2948         'coust', 'description'),
2949     'integer', null)
2950
2951 ,( 'circ.holds.recall_fine_rules', 'recall',
2952     oils_i18n_gettext('circ.holds.recall_fine_rules',
2953         'An array of fine amount, fine interval, and maximum fine.',
2954         'coust', 'label'),
2955     oils_i18n_gettext('circ.holds.recall_fine_rules',
2956         'Recalls: An array of fine amount, fine interval, and maximum fine. For example, to specify a new fine rule of $5.00 per day, with a maximum fine of $50.00, use: [5.00,"1 day",50.00]',
2957         'coust', 'description'),
2958     'array', null)
2959
2960 ,( 'circ.holds.recall_return_interval', 'recall',
2961     oils_i18n_gettext('circ.holds.recall_return_interval',
2962         'Truncated loan period.',
2963         'coust', 'label'),
2964     oils_i18n_gettext('circ.holds.recall_return_interval',
2965         'Recalls: When a recall is triggered, this defines the adjusted loan period for the item. For example, "4 days" or "1 week".',
2966         'coust', 'description'),
2967     'interval', null)
2968
2969 ,( 'circ.holds.recall_threshold', 'recall',
2970     oils_i18n_gettext('circ.holds.recall_threshold',
2971         'Circulation duration that triggers a recall.',
2972         'coust', 'label'),
2973     oils_i18n_gettext('circ.holds.recall_threshold',
2974         'Recalls: A hold placed on an item with a circulation duration longer than this will trigger a recall. For example, "14 days" or "3 weeks".',
2975         'coust', 'description'),
2976     'interval', null)
2977
2978 ,( 'circ.holds.target_holds_by_org_unit_weight', 'holds',
2979     oils_i18n_gettext('circ.holds.target_holds_by_org_unit_weight',
2980         'Use weight-based hold targeting',
2981         'coust', 'label'),
2982     oils_i18n_gettext('circ.holds.target_holds_by_org_unit_weight',
2983         'Use library weight based hold targeting',
2984         'coust', 'description'),
2985     'bool', null)
2986
2987 ,( 'circ.holds.target_skip_me', 'holds',
2988     oils_i18n_gettext('circ.holds.target_skip_me',
2989         'Skip For Hold Targeting',
2990         'coust', 'label'),
2991     oils_i18n_gettext('circ.holds.target_skip_me',
2992         'When true, don''t target any copies at this org unit for holds',
2993         'coust', 'description'),
2994     'bool', null)
2995
2996 ,( 'circ.holds.uncancel.reset_request_time', 'holds',
2997     oils_i18n_gettext('circ.holds.uncancel.reset_request_time',
2998         'Reset request time on un-cancel',
2999         'coust', 'label'),
3000     oils_i18n_gettext('circ.holds.uncancel.reset_request_time',
3001         'When a hold is uncanceled, reset the request time to push it to the end of the queue',
3002         'coust', 'description'),
3003     'bool', null)
3004
3005 ,( 'circ.holds_fifo', 'holds',
3006     oils_i18n_gettext('circ.holds_fifo',
3007         'FIFO',
3008         'coust', 'label'),
3009     oils_i18n_gettext('circ.holds_fifo',
3010         'Force holds to a more strict First-In, First-Out capture',
3011         'coust', 'description'),
3012     'bool', null)
3013
3014 ,( 'circ.item_checkout_history.max', 'gui',
3015     oils_i18n_gettext('circ.item_checkout_history.max',
3016         'Maximum previous checkouts displayed',
3017         'coust', 'label'),
3018     oils_i18n_gettext('circ.item_checkout_history.max',
3019         'This is the maximum number of previous circulations the staff client will display when investigating item details',
3020         'coust', 'description'),
3021     'integer', null)
3022
3023 ,( 'circ.lost.generate_overdue_on_checkin', 'circ',
3024     oils_i18n_gettext('circ.lost.generate_overdue_on_checkin',
3025         'Lost Checkin Generates New Overdues',
3026         'coust', 'label'),
3027     oils_i18n_gettext('circ.lost.generate_overdue_on_checkin',
3028         'Enabling this setting causes retroactive creation of not-yet-existing overdue fines on lost item checkin, up to the point of checkin time (or max fines is reached).  This is different than "restore overdue on lost", because it only creates new overdue fines.  Use both settings together to get the full complement of overdue fines for a lost item',
3029         'coust', 'description'),
3030     'bool', null)
3031
3032 ,( 'circ.lost_immediately_available', 'circ',
3033     oils_i18n_gettext('circ.lost_immediately_available',
3034         'Lost items usable on checkin',
3035         'coust', 'label'),
3036     oils_i18n_gettext('circ.lost_immediately_available',
3037         'Lost items are usable on checkin instead of going ''home'' first',
3038         'coust', 'description'),
3039     'bool', null)
3040
3041 ,( 'circ.lost_materials_processing_fee', 'finance',
3042     oils_i18n_gettext('circ.lost_materials_processing_fee',
3043         'Lost Materials Processing Fee',
3044         'coust', 'label'),
3045     oils_i18n_gettext('circ.lost_materials_processing_fee',
3046         'Lost Materials Processing Fee',
3047         'coust', 'description'),
3048     'currency', null)
3049
3050 ,( 'circ.max_accept_return_of_lost', 'circ',
3051     oils_i18n_gettext('circ.max_accept_return_of_lost',
3052         'Void lost max interval',
3053         'coust', 'label'),
3054     oils_i18n_gettext('circ.max_accept_return_of_lost',
3055         'Items that have been lost this long will not result in voided billings when returned.  E.g. ''6 months''',
3056         'coust', 'description'),
3057     'interval', null)
3058
3059 ,( 'circ.max_fine.cap_at_price', 'circ',
3060     oils_i18n_gettext('circ.max_fine.cap_at_price',
3061         'Cap Max Fine at Item Price',
3062         'coust', 'label'),
3063     oils_i18n_gettext('circ.max_fine.cap_at_price',
3064         'This prevents the system from charging more than the item price in overdue fines',
3065         'coust', 'description'),
3066     'bool', null)
3067
3068 ,( 'circ.max_patron_claim_return_count', 'circ',
3069     oils_i18n_gettext('circ.max_patron_claim_return_count',
3070         'Max Patron Claims Returned Count',
3071         'coust', 'label'),
3072     oils_i18n_gettext('circ.max_patron_claim_return_count',
3073         'When this count is exceeded, a staff override is required to mark the item as claims returned',
3074         'coust', 'description'),
3075     'integer', null)
3076
3077 ,( 'circ.missing_pieces.copy_status', 'circ',
3078     oils_i18n_gettext('circ.missing_pieces.copy_status',
3079         'Item Status for Missing Pieces',
3080         'coust', 'label'),
3081     oils_i18n_gettext('circ.missing_pieces.copy_status',
3082         'This is the Item Status to use for items that have been marked or scanned as having Missing Pieces.  In the absence of this setting, the Damaged status is used.',
3083         'coust', 'description'),
3084     'link', 'ccs')
3085
3086 ,( 'circ.obscure_dob', 'sec',
3087     oils_i18n_gettext('circ.obscure_dob',
3088         'Obscure the Date of Birth field',
3089         'coust', 'label'),
3090     oils_i18n_gettext('circ.obscure_dob',
3091         'When true, the Date of Birth column in patron lists will default to Not Visible, and in the Patron Summary sidebar the value will display as <Hidden> unless the field label is clicked.',
3092         'coust', 'description'),
3093     'bool', null)
3094
3095 ,( 'circ.offline.skip_checkin_if_newer_status_changed_time', 'offline',
3096     oils_i18n_gettext('circ.offline.skip_checkin_if_newer_status_changed_time',
3097         'Skip offline checkin if newer item Status Changed Time.',
3098         'coust', 'label'),
3099     oils_i18n_gettext('circ.offline.skip_checkin_if_newer_status_changed_time',
3100         'Skip offline checkin transaction (raise exception when processing) if item Status Changed Time is newer than the recorded transaction time.  WARNING: The Reshelving to Available status rollover will trigger this.',
3101         'coust', 'description'),
3102     'bool', null)
3103
3104 ,( 'circ.offline.skip_checkout_if_newer_status_changed_time', 'offline',
3105     oils_i18n_gettext('circ.offline.skip_checkout_if_newer_status_changed_time',
3106         'Skip offline checkout if newer item Status Changed Time.',
3107         'coust', 'label'),
3108     oils_i18n_gettext('circ.offline.skip_checkout_if_newer_status_changed_time',
3109         'Skip offline checkout transaction (raise exception when processing) if item Status Changed Time is newer than the recorded transaction time.  WARNING: The Reshelving to Available status rollover will trigger this.',
3110         'coust', 'description'),
3111     'bool', null)
3112
3113 ,( 'circ.offline.skip_renew_if_newer_status_changed_time', 'offline',
3114     oils_i18n_gettext('circ.offline.skip_renew_if_newer_status_changed_time',
3115         'Skip offline renewal if newer item Status Changed Time.',
3116         'coust', 'label'),
3117     oils_i18n_gettext('circ.offline.skip_renew_if_newer_status_changed_time',
3118         'Skip offline renewal transaction (raise exception when processing) if item Status Changed Time is newer than the recorded transaction time.  WARNING: The Reshelving to Available status rollover will trigger this.',
3119         'coust', 'description'),
3120     'bool', null)
3121
3122 ,( 'circ.offline.username_allowed', 'sec',
3123     oils_i18n_gettext('circ.offline.username_allowed',
3124         'Offline: Patron Usernames Allowed',
3125         'coust', 'label'),
3126     oils_i18n_gettext('circ.offline.username_allowed',
3127         'During offline circulations, allow patrons to identify themselves with usernames in addition to barcode.  For this setting to work, a barcode format must also be defined',
3128         'coust', 'description'),
3129     'bool', null)
3130
3131 ,( 'circ.password_reset_request_per_user_limit', 'sec',
3132     oils_i18n_gettext('circ.password_reset_request_per_user_limit',
3133         'Maximum concurrently active self-serve password reset requests per user',
3134         'coust', 'label'),
3135     oils_i18n_gettext('circ.password_reset_request_per_user_limit',
3136         'When a user has more than this number of concurrently active self-serve password reset requests for their account, prevent the user from creating any new self-serve password reset requests until the number of active requests for the user drops back below this number.',
3137         'coust', 'description'),
3138     'string', null)
3139
3140 ,( 'circ.password_reset_request_requires_matching_email', 'circ',
3141     oils_i18n_gettext('circ.password_reset_request_requires_matching_email',
3142         'Require matching email address for password reset requests',
3143         'coust', 'label'),
3144     oils_i18n_gettext('circ.password_reset_request_requires_matching_email',
3145         'Require matching email address for password reset requests',
3146         'coust', 'description'),
3147     'bool', null)
3148
3149 ,( 'circ.password_reset_request_throttle', 'sec',
3150     oils_i18n_gettext('circ.password_reset_request_throttle',
3151         'Maximum concurrently active self-serve password reset requests',
3152         'coust', 'label'),
3153     oils_i18n_gettext('circ.password_reset_request_throttle',
3154         'Prevent the creation of new self-serve password reset requests until the number of active requests drops back below this number.',
3155         'coust', 'description'),
3156     'string', null)
3157
3158 ,( 'circ.password_reset_request_time_to_live', 'sec',
3159     oils_i18n_gettext('circ.password_reset_request_time_to_live',
3160         'Self-serve password reset request time-to-live',
3161         'coust', 'label'),
3162     oils_i18n_gettext('circ.password_reset_request_time_to_live',
3163         'Length of time (in seconds) a self-serve password reset request should remain active.',
3164         'coust', 'description'),
3165     'string', null)
3166
3167 ,( 'circ.patron_edit.clone.copy_address', 'circ',
3168     oils_i18n_gettext('circ.patron_edit.clone.copy_address',
3169         'Patron Registration: Cloned patrons get address copy',
3170         'coust', 'label'),
3171     oils_i18n_gettext('circ.patron_edit.clone.copy_address',
3172         'In the Patron editor, copy addresses from the cloned user instead of linking directly to the address',
3173         'coust', 'description'),
3174     'bool', null)
3175
3176 ,( 'circ.patron_invalid_address_apply_penalty', 'circ',
3177     oils_i18n_gettext('circ.patron_invalid_address_apply_penalty',
3178         'Invalid patron address penalty',
3179         'coust', 'label'),
3180     oils_i18n_gettext('circ.patron_invalid_address_apply_penalty',
3181         'When set, if a patron address is set to invalid, a penalty is applied.',
3182         'coust', 'description'),
3183     'bool', null)
3184
3185 ,( 'circ.pre_cat_copy_circ_lib', 'lib',
3186     oils_i18n_gettext('circ.pre_cat_copy_circ_lib',
3187         'Pre-cat Item Circ Lib',
3188         'coust', 'label'),
3189     oils_i18n_gettext('circ.pre_cat_copy_circ_lib',
3190         'Override the default circ lib of "here" with a pre-configured circ lib for pre-cat items.  The value should be the "shortname" (aka policy name) of the org unit',
3191         'coust', 'description'),
3192     'string', null)
3193
3194 ,( 'circ.reshelving_complete.interval', 'lib',
3195     oils_i18n_gettext('circ.reshelving_complete.interval',
3196         'Change reshelving status interval',
3197         'coust', 'label'),
3198     oils_i18n_gettext('circ.reshelving_complete.interval',
3199         'Amount of time to wait before changing an item from "reshelving" status to "available".  Examples: "1 day", "6 hours"',
3200         'coust', 'description'),
3201     'interval', null)
3202
3203 ,( 'circ.restore_overdue_on_lost_return', 'circ',
3204     oils_i18n_gettext('circ.restore_overdue_on_lost_return',
3205         'Restore overdues on lost item return',
3206         'coust', 'label'),
3207     oils_i18n_gettext('circ.restore_overdue_on_lost_return',
3208         'Restore overdue fines on lost item return',
3209         'coust', 'description'),
3210     'bool', null)
3211
3212 ,( 'circ.selfcheck.alert.popup', 'self',
3213     oils_i18n_gettext('circ.selfcheck.alert.popup',
3214         'Pop-up alert for errors',
3215         'coust', 'label'),
3216     oils_i18n_gettext('circ.selfcheck.alert.popup',
3217         'If true, checkout/renewal errors will cause a pop-up window in addition to the on-screen message',
3218         'coust', 'description'),
3219     'bool', null)
3220
3221 ,( 'circ.selfcheck.alert.sound', 'self',
3222     oils_i18n_gettext('circ.selfcheck.alert.sound',
3223         'Audio Alerts',
3224         'coust', 'label'),
3225     oils_i18n_gettext('circ.selfcheck.alert.sound',
3226         'Use audio alerts for selfcheck events',
3227         'coust', 'description'),
3228     'bool', null)
3229
3230 ,( 'circ.selfcheck.auto_override_checkout_events', 'self',
3231     oils_i18n_gettext('circ.selfcheck.auto_override_checkout_events',
3232         'Selfcheck override events list',
3233         'coust', 'label'),
3234     oils_i18n_gettext('circ.selfcheck.auto_override_checkout_events',
3235         'List of checkout/renewal events that the selfcheck interface should automatically override instead instead of alerting and stopping the transaction',
3236         'coust', 'description'),
3237     'array', null)
3238
3239 ,( 'circ.selfcheck.block_checkout_on_copy_status', 'self',
3240     oils_i18n_gettext('circ.selfcheck.block_checkout_on_copy_status',
3241         'Block copy checkout status',
3242         'coust', 'label'),
3243     oils_i18n_gettext('circ.selfcheck.block_checkout_on_copy_status',
3244         'List of copy status IDs that will block checkout even if the generic COPY_NOT_AVAILABLE event is overridden',
3245         'coust', 'description'),
3246     'array', null)
3247
3248 ,( 'circ.selfcheck.patron_login_timeout', 'self',
3249     oils_i18n_gettext('circ.selfcheck.patron_login_timeout',
3250         'Patron Login Timeout (in seconds)',
3251         'coust', 'label'),
3252     oils_i18n_gettext('circ.selfcheck.patron_login_timeout',
3253         'Number of seconds of inactivity before the patron is logged out of the selfcheck interface',
3254         'coust', 'description'),
3255     'integer', null)
3256
3257 ,( 'circ.selfcheck.patron_password_required', 'self',
3258     oils_i18n_gettext('circ.selfcheck.patron_password_required',
3259         'Require Patron Password',
3260         'coust', 'label'),
3261     oils_i18n_gettext('circ.selfcheck.patron_password_required',
3262         'Patron must log in with barcode and password at selfcheck station',
3263         'coust', 'description'),
3264     'bool', null)
3265
3266 ,( 'circ.selfcheck.require_patron_password', 'self',
3267     oils_i18n_gettext('circ.selfcheck.require_patron_password',
3268         'Require patron password',
3269         'coust', 'label'),
3270     oils_i18n_gettext('circ.selfcheck.require_patron_password',
3271         'If true, patrons will be required to enter their password in addition to their username/barcode to log into the selfcheck interface',
3272         'coust', 'description'),
3273     'bool', null)
3274
3275 ,( 'circ.selfcheck.workstation_required', 'self',
3276     oils_i18n_gettext('circ.selfcheck.workstation_required',
3277         'Workstation Required',
3278         'coust', 'label'),
3279     oils_i18n_gettext('circ.selfcheck.workstation_required',
3280         'All selfcheck stations must use a workstation',
3281         'coust', 'description'),
3282     'bool', null)
3283
3284 ,( 'circ.staff_client.actor_on_checkout', 'circ',
3285     oils_i18n_gettext('circ.staff_client.actor_on_checkout',
3286         'Load patron from Checkout',
3287         'coust', 'label'),
3288     oils_i18n_gettext('circ.staff_client.actor_on_checkout',
3289         'When scanning barcodes into Checkout auto-detect if a new patron barcode is scanned and auto-load the new patron.',
3290         'coust', 'description'),
3291     'bool', null)
3292
3293 ,( 'circ.staff_client.do_not_auto_attempt_print', 'prog',
3294     oils_i18n_gettext('circ.staff_client.do_not_auto_attempt_print',
3295         'Disable Automatic Print Attempt Type List',
3296         'coust', 'label'),
3297     oils_i18n_gettext('circ.staff_client.do_not_auto_attempt_print',
3298         'Disable automatic print attempts from staff client interfaces for the receipt types in this list.  Possible values: "Checkout", "Bill Pay", "Hold Slip", "Transit Slip", and "Hold/Transit Slip".  This is different from the Auto-Print checkbox in the pertinent interfaces in that it disables automatic print attempts altogether, rather than encouraging silent printing by suppressing the print dialog.  The Auto-Print checkbox in these interfaces have no effect on the behavior for this setting.  In the case of the Hold, Transit, and Hold/Transit slips, this also suppresses the alert dialogs that precede the print dialog (the ones that offer Print and Do Not Print as options).',
3299         'coust', 'description'),
3300     'array', null)
3301
3302 ,( 'circ.staff_client.receipt.alert_text', 'receipt_template',
3303     oils_i18n_gettext('circ.staff_client.receipt.alert_text',
3304         'Content of alert_text include',
3305         'coust', 'label'),
3306     oils_i18n_gettext('circ.staff_client.receipt.alert_text',
3307         'Text/HTML/Macros to be inserted into receipt templates in place of %INCLUDE(alert_text)%',
3308         'coust', 'description'),
3309     'string', null)
3310
3311 ,( 'circ.staff_client.receipt.event_text', 'receipt_template',
3312     oils_i18n_gettext('circ.staff_client.receipt.event_text',
3313         'Content of event_text include',
3314         'coust', 'label'),
3315     oils_i18n_gettext('circ.staff_client.receipt.event_text',
3316         'Text/HTML/Macros to be inserted into receipt templates in place of %INCLUDE(event_text)%',
3317         'coust', 'description'),
3318     'string', null)
3319
3320 ,( 'circ.staff_client.receipt.footer_text', 'receipt_template',
3321     oils_i18n_gettext('circ.staff_client.receipt.footer_text',
3322         'Content of footer_text include',
3323         'coust', 'label'),
3324     oils_i18n_gettext('circ.staff_client.receipt.footer_text',
3325         'Text/HTML/Macros to be inserted into receipt templates in place of %INCLUDE(footer_text)%',
3326         'coust', 'description'),
3327     'string', null)
3328
3329 ,( 'circ.staff_client.receipt.header_text', 'receipt_template',
3330     oils_i18n_gettext('circ.staff_client.receipt.header_text',
3331         'Content of header_text include',
3332         'coust', 'label'),
3333     oils_i18n_gettext('circ.staff_client.receipt.header_text',
3334         'Text/HTML/Macros to be inserted into receipt templates in place of %INCLUDE(header_text)%',
3335         'coust', 'description'),
3336     'string', null)
3337
3338 ,( 'circ.staff_client.receipt.notice_text', 'receipt_template',
3339     oils_i18n_gettext('circ.staff_client.receipt.notice_text',
3340         'Content of notice_text include',
3341         'coust', 'label'),
3342     oils_i18n_gettext('circ.staff_client.receipt.notice_text',
3343         'Text/HTML/Macros to be inserted into receipt templates in place of %INCLUDE(notice_text)%',
3344         'coust', 'description'),
3345     'string', null)
3346
3347 ,( 'circ.transit.min_checkin_interval', 'circ',
3348     oils_i18n_gettext('circ.transit.min_checkin_interval',
3349         'Minimum Transit Checkin Interval',
3350         'coust', 'label'),
3351     oils_i18n_gettext('circ.transit.min_checkin_interval',
3352         'In-Transit items checked in this close to the transit start time will be prevented from checking in',
3353         'coust', 'description'),
3354     'interval', null)
3355
3356 ,( 'circ.transit.suppress_hold', 'circ',
3357     oils_i18n_gettext('circ.transit.suppress_hold',
3358         'Suppress Hold Transits Group',
3359         'coust', 'label'),
3360     oils_i18n_gettext('circ.transit.suppress_hold',
3361         'If set to a non-empty value, Hold Transits will be suppressed between this OU and others with the same value. If set to an empty value, transits will not be suppressed.',
3362         'coust', 'description'),
3363     'string', null)
3364
3365 ,( 'circ.transit.suppress_non_hold', 'circ',
3366     oils_i18n_gettext('circ.transit.suppress_non_hold',
3367        &