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