Course Materials Record Column
authorKyle Huckins <khuckins@catalyte.io>
Sat, 7 Dec 2019 07:37:23 +0000 (07:37 +0000)
committerKyle Huckins <khuckins@catalyte.io>
Thu, 9 Jan 2020 17:45:32 +0000 (17:45 +0000)
- Add a record column to course_module_course_materials
to improve efficiency of API and service methods.
- Add previous circ_modifier adjustments to upgrade script

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/examples/fm_IDL.xml
modified:   Open-ILS/src/eg2/src/app/staff/share/course.service.ts
modified:   Open-ILS/src/sql/Pg/040.schema.asset.sql
modified:   Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql

Open-ILS/examples/fm_IDL.xml
Open-ILS/src/eg2/src/app/staff/share/course.service.ts
Open-ILS/src/sql/Pg/040.schema.asset.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql

index f468304..9ed4eab 100644 (file)
@@ -3099,6 +3099,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
             <field reporter:label="ID" name="id" reporter:datatype="id" />
             <field reporter:label="Course" name="course" reporter:datatype="link" />
             <field reporter:label="Item" name="item" reporter:datatype="link" />
+            <field reporter:label="Record" name="record" reporter:datatype="link" />
             <field reporter:label="Item Relationship" name="relationship" reporter:datatype="text" />
             <field reporter:label="Original Status" name="original_status" reporter:datatype="link" />
             <field reporter:label="Original Circ Modifier" name="original_circ_modifier" reporter:datatype="link" />
@@ -3108,6 +3109,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
         <links>
             <link field="course" reltype="has_a" key="id" map="" class="acmc" />
             <link field="item" reltype="has_a" key="id" map="" class="acp" />
+            <link field="record" reltype="has_a" key="id" map="" class="bre" />
             <link field="original_callnumber" reltype="has_a" key="id" map="" class="acn" />
             <link field="original_status" reltype="has_a" key="id" map="" class="ccs" />
             <link field="original_circ_modifier" reltype="has_a" key="code" map="" class="ccm" />
index 9421300..edeeed3 100644 (file)
@@ -114,6 +114,9 @@ export class CourseService {
     associateMaterials(item, args) {
         let material = this.idl.create('acmcm');
         material.item(item.id());
+        if (item.call_number() && item.call_number().record()) {
+            material.record(item.call_number().record());
+        }
         material.course(args.currentCourse.id());
         if (args.relationship) material.relationship(args.relationship);
 
index 8756473..7534094 100644 (file)
@@ -1126,6 +1126,7 @@ CREATE TABLE asset.course_module_course_materials (
     course          INT NOT NULL REFERENCES asset.course_module_course (id),
     item            INT NOT NULL REFERENCES asset.copy (id),
     relationship    TEXT,
+    record          INT REFERENCES biblio.record_entry (id),
     original_location      INT REFERENCES asset.copy_location,
     original_status        INT REFERENCES config.copy_status,
     original_circ_modifier TEXT, --REFERENCES config.circ_modifier
index b725d30..48d3693 100644 (file)
@@ -23,9 +23,10 @@ CREATE TABLE asset.course_module_course_materials (
     course          INT NOT NULL REFERENCES asset.course_module_course (id),
     item            INT NOT NULL REFERENCES asset.copy (id),
     relationship    TEXT,
+    record          INT REFERENCES biblio.record_entry (id),
     original_location        INT REFERENCES asset.copy_location,
     original_status          INT REFERENCES config.copy_status,
-    original_circ_modifier   TEXT REFERENCES config.circ_modifier,
+    original_circ_modifier   TEXT, --REFERENCES config.circ_modifier,
     original_callnumber      INT REFERENCES asset.call_number,
     unique (course, item)
 );