]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
b934d09f8ca062f16a362e70fff9248a1bd93f66
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / XXXX.schema.course-materials-module.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
4
5 CREATE TABLE asset.course_module_course (
6     id              SERIAL PRIMARY KEY,
7     name            TEXT NOT NULL,
8     course_number   TEXT NOT NULL,
9     section_number  TEXT,
10     owning_lib      INT REFERENCES actor.org_unit (id),
11     is_archived        BOOLEAN NOT NULL DEFAULT false;
12 );
13
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),
18     usr_role        TEXT,
19     is_public       BOOLEAN NOT NULL DEFAULT false
20 );
21
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 NOT NULL REFERENCES asset.copy (id),
26     relationship    TEXT,
27     record          INT REFERENCES biblio.record_entry (id),
28     original_location        INT REFERENCES asset.copy_location,
29     original_status          INT REFERENCES config.copy_status,
30     original_circ_modifier   TEXT, --REFERENCES config.circ_modifier,
31     original_callnumber      INT REFERENCES asset.call_number,
32     unique (course, item)
33 );
34
35 CREATE TABLE asset.course_module_non_cat_course_materials (
36     id              SERIAL PRIMARY KEY,
37     course          INT NOT NULL REFERENCES asset.course_module_course (id),
38     item            TEXT NOT NULL,
39     url             TEXT,
40     relationship    TEXT
41 );
42
43 INSERT INTO permission.perm_list(id, code, description)
44     VALUES (
45         624,
46         'MANAGE_RESERVES',
47         oils_i18n_gettext(
48             624,
49             'Allows user to manage Courses, Course Materials, and associate Users with Courses.',
50             'ppl',
51             'description'
52         )
53     );
54
55 INSERT INTO permission.grp_perm_map(perm, grp, depth) VALUES (624, 9, 0), (624, 11, 0), (624, 12, 0), (624, 13, 0);
56
57 INSERT INTO config.org_unit_setting_type 
58     (grp, name, datatype, label, description)
59 VALUES (
60     'circ',
61     'circ.course_materials_opt_in', 'bool',
62     oils_i18n_gettext(
63         'circ.course_materials_opt_in',
64         'Opt Org Unit into the Course Materials Module',
65         'coust',
66         'label'
67     ),
68     oils_i18n_gettext(
69         'circ.course_materials_opt_in',
70         'If enabled, the Org Unit will utilize Course Material functionality.'
71         'coust',
72         'description'
73     )
74 ), (
75     'circ',
76     'circ.course_materials_browse_by_instructor', 'bool',
77     oils_i18n_gettext(
78         'circ.course_materials_browse_by_instructor',
79         'Allow users to browse Courses by Instructor',
80         'coust',
81         'label'
82     ),
83     oils_i18n_gettext(
84         'circ.course_materials_browse_by_instructor',
85         'If enabled, the Org Unit will allow OPAC users to browse Courses by instructor name.'
86         'coust',
87         'description'
88     )
89 );
90
91 COMMIT;