]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
lp1849212: Course Admin Page and OPAC improvements
[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 );
20
21 CREATE TABLE asset.course_module_course_materials (
22     id              SERIAL PRIMARY KEY,
23     course          INT NOT NULL REFERENCES asset.course_module_course (id),
24     item            INT NOT NULL REFERENCES asset.copy (id),
25     relationship    TEXT,
26     record          INT REFERENCES biblio.record_entry (id),
27     original_location        INT REFERENCES asset.copy_location,
28     original_status          INT REFERENCES config.copy_status,
29     original_circ_modifier   TEXT, --REFERENCES config.circ_modifier,
30     original_callnumber      INT REFERENCES asset.call_number,
31     unique (course, item)
32 );
33
34 CREATE TABLE asset.course_module_non_cat_course_materials (
35     id              SERIAL PRIMARY KEY,
36     course          INT NOT NULL REFERENCES asset.course_module_course (id),
37     item            TEXT NOT NULL,
38     url             TEXT,
39     relationship    TEXT
40 );
41
42 INSERT INTO permission.perm_list(id, code, description)
43     VALUES (
44         624,
45         'MANAGE_RESERVES',
46         oils_i18n_gettext(
47             624,
48             'Allows user to manage Courses, Course Materials, and associate Users with Courses.',
49             'ppl',
50             'description'
51         )
52     );
53
54 INSERT INTO permission.grp_perm_map(perm, grp, depth) VALUES (624, 9, 0), (624, 11, 0), (624, 12, 0), (624, 13, 0);
55
56 INSERT INTO config.org_unit_setting_type 
57     (grp, name, datatype, label, description)
58 VALUES (
59     'circ',
60     'circ.course_materials_opt_in', 'bool',
61     oils_i18n_gettext(
62         'circ.course_materials_opt_in',
63         'Opt Org Unit into the Course Materials Module',
64         'coust',
65         'label'
66     ),
67     oils_i18n_gettext(
68         'circ.course_materials_opt_in',
69         'If enabled, the Org Unit will utilize Course Material functionality.'
70         'coust',
71         'description'
72     )
73 );
74
75 COMMIT;