3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
5 CREATE TABLE asset.course_module_course (
8 course_number TEXT NOT NULL,
10 owning_lib INT REFERENCES actor.org_unit (id),
11 is_archived BOOLEAN NOT NULL DEFAULT false;
14 CREATE TABLE asset.course_module_course_users (
15 id SERIAL PRIMARY KEY,
16 course INT NOT NULL REFERENCES asset.course_module_course (id),
17 usr INT NOT NULL REFERENCES actor.usr (id),
19 is_public BOOLEAN NOT NULL DEFAULT false
22 CREATE TABLE asset.course_module_course_materials (
23 id SERIAL PRIMARY KEY,
24 course INT NOT NULL REFERENCES asset.course_module_course (id),
25 item INT REFERENCES asset.copy (id),
27 record INT REFERENCES biblio.record_entry (id),
28 temporary_record BOOLEAN,
29 original_location INT REFERENCES asset.copy_location,
30 original_status INT REFERENCES config.copy_status,
31 original_circ_modifier TEXT, --REFERENCES config.circ_modifier,
32 original_callnumber INT REFERENCES asset.call_number,
33 unique (course, item, record)
36 CREATE TABLE asset.course_module_term (
37 id SERIAL PRIMARY KEY,
38 name TEXT UNIQUE NOT NULL,
39 owning_lib INT REFERENCES actor.org_unit (id),
40 start_date TIMESTAMP WITH TIME ZONE,
41 end_date TIMESTAMP WITH TIME ZONE
44 CREATE TABLE asset.course_module_term_course_map (
45 id BIGSERIAL PRIMARY KEY,
46 term INT NOT NULL REFERENCES asset.course_module_term (id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
47 course INT NOT NULL REFERENCES asset.course_module_course (id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED
50 INSERT INTO permission.perm_list(id, code, description)
56 'Allows user to manage Courses, Course Materials, and associate Users with Courses.',
62 INSERT INTO permission.grp_perm_map(perm, grp, depth) VALUES (624, 9, 0), (624, 11, 0), (624, 12, 0), (624, 13, 0);
64 INSERT INTO config.org_unit_setting_type
65 (grp, name, datatype, label, description, fm_class)
68 'circ.course_materials_opt_in', 'bool',
70 'circ.course_materials_opt_in',
71 'Opt Org Unit into the Course Materials Module',
76 'circ.course_materials_opt_in',
77 'If enabled, the Org Unit will utilize Course Material functionality.'
83 'circ.course_materials_browse_by_instructor', 'bool',
85 'circ.course_materials_browse_by_instructor',
86 'Allow users to browse Courses by Instructor',
91 'circ.course_materials_browse_by_instructor',
92 'If enabled, the Org Unit will allow OPAC users to browse Courses by instructor name.'
98 'circ.course_materials_brief_record_bib_source', 'link',
100 'circ.course_materials_brief_record_bib_source',
101 'Bib source for brief records created in the course materials module',
105 'circ.course_materials_brief_record_bib_source',
106 'The course materials module will use this bib source for any new brief bibliographic records made inside that module. For best results, use a transcendant bib source.',
107 'coust', 'description'
112 INSERT INTO config.bib_source (quality, source, transcendant) VALUES
113 (1, oils_i18n_gettext(1, 'Course materials module', 'cbs', 'source'), TRUE);
115 INSERT INTO actor.org_unit_setting (org_unit, name, value)
116 SELECT 1, 'circ.course_materials_brief_record_bib_source', id
117 FROM config.bib_source
118 WHERE source='Course materials module';