CAT-215 Lineitem MARC attribute definition sortkey
authorKyle Huckins <khuckins@catalyte.io>
Thu, 2 May 2019 15:55:07 +0000 (15:55 +0000)
committerBill Erickson <berickxx@gmail.com>
Wed, 29 May 2019 13:58:11 +0000 (13:58 +0000)
- Add Sortkey field to Acquisition Lineitem MARC Attribute
Definition fieldmapper object and DB table to allow ordering
of fields in Brief Records Add UI.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
new file:   KCLS/sql/schema/deploy/cat-215-acqlimad-sortkey.sql
new file:   KCLS/sql/schema/revert/cat-215-acqlimad-sortkey.sql
modified:   KCLS/sql/schema/sqitch.plan
modified:   Open-ILS/examples/fm_IDL.xml
modified:   Open-ILS/web/js/ui/default/acq/picklist/brief_record.js

- Remove duplicate line in revert .sql file
- Change sortkey field to Integer
- Make sortkey fiel non-null and apply default value of 1

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
 Changes to be committed:
modified:   KCLS/sql/schema/deploy/cat-215-acqlimad-sortkey.sql
modified:   KCLS/sql/schema/revert/cat-215-acqlimad-sortkey.sql

KCLS/sql/schema/deploy/cat-215-acqlimad-sortkey.sql [new file with mode: 0644]
KCLS/sql/schema/revert/cat-215-acqlimad-sortkey.sql [new file with mode: 0644]
KCLS/sql/schema/sqitch.plan
Open-ILS/examples/fm_IDL.xml
Open-ILS/web/js/ui/default/acq/picklist/brief_record.js

diff --git a/KCLS/sql/schema/deploy/cat-215-acqlimad-sortkey.sql b/KCLS/sql/schema/deploy/cat-215-acqlimad-sortkey.sql
new file mode 100644 (file)
index 0000000..2f10834
--- /dev/null
@@ -0,0 +1,27 @@
+-- Deploy kcls-evergreen:cat-215-acqlimad-sortkey to pg
+
+BEGIN;
+
+ALTER TABLE acq.lineitem_marc_attr_definition
+    ADD COLUMN description_sortkey INTEGER NOT NULL DEFAULT 1;
+
+CREATE INDEX acq_lineitem_marc_attr_definition_sortkey_idx ON acq.lineitem_marc_attr_definition (description_sortkey);
+
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 1 WHERE id = 1;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 2 WHERE id = 2;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 3 WHERE id = 3;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 4 WHERE id = 5;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 5 WHERE id = 6;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 6 WHERE id = 9;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 7 WHERE id = 10;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 8 WHERE id = 11;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 15, description = 'BUPC' WHERE id = 24;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 9 WHERE id = 25;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 10 WHERE id = 26;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 11 WHERE id = 27;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 12 WHERE id = 30;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 13 WHERE id = 31;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 14 WHERE id = 34;
+UPDATE acq.lineitem_marc_attr_definition SET description_sortkey = 16 WHERE id = 35;
+
+COMMIT;
diff --git a/KCLS/sql/schema/revert/cat-215-acqlimad-sortkey.sql b/KCLS/sql/schema/revert/cat-215-acqlimad-sortkey.sql
new file mode 100644 (file)
index 0000000..761c0c4
--- /dev/null
@@ -0,0 +1,8 @@
+-- Revert kcls-evergreen:cat-215-acqlimad-sortkey from pg
+
+BEGIN;
+
+ALTER TABLE acq.lineitem_marc_attr_definition DROP COLUMN description_sortkey;
+UPDATE acq.lineitem_marc_attr_definition SET description = 'UPC' WHERE id = 24;
+
+COMMIT;
index f8085b7..f683e9a 100644 (file)
@@ -88,3 +88,4 @@ stock-browse-cleanup [stock-browse-schema] 2018-10-03T18:05:49Z Bill Erickson,,,
 3.2-data-billing-timestamps [2.12-3.2-db-upgrade-data] 2018-09-26T20:29:38Z Bill Erickson,,, <berick@kcls-dev> # Billing timestamp updates
 3.2-additions [3.2-data-billing-timestamps] 2018-12-07T14:56:18Z berick <berick@kcls-dev> # Additional 3.2 data, etc. tweaks
 3.2-post-base-schema [3.2-additions] 2019-03-21T20:11:40Z berick <berick@kcls-dev> # 3.2 bug fixes post original upgrade script
+cat-215-acqlimad-sortkey 2019-05-02T15:46:20Z opensrf <opensrf@kcls-greenlandic> # Add description_sortkey column to acq.lineitem_marc_attr_definitions
index 5cd0909..f6be6df 100644 (file)
@@ -9961,6 +9961,7 @@ SELECT  usr,
                        <field reporter:label="Description" name="description" reporter:datatype="text" oils_persist:i18n="true" />
                        <field reporter:label="XPath" name="xpath" reporter:datatype="text" />
                        <field reporter:label="Is Identifier?" name="ident" reporter:datatype="bool"/>
+            <field reporter:label="Sortkey" name="description_sortkey" reporter:datatype="text"/>
             <field reporter:label="Remove" name="remove" reporter:datatype="text" />
                </fields>
                <links/>
index 93d2a3f..8a4febc 100644 (file)
@@ -80,14 +80,9 @@ function drawBriefRecordForm(fields) {
             oncomplete : function(r) {
                 var attrs = openils.Util.readResponse(r);
                 if(attrs && attrs.marc) {
-
-                    attrs = attrs.marc.sort(
-                        function(a, b) {
-                            if(a.description < b.description)
-                                return 1;
-                            return -1;
-                        }
-                    );
+                    attrs = attrs.marc.sort(function(a, b) {
+                        return a.description_sortkey() - b.description_sortkey();
+                    });
 
                     var xpathParser = new openils.MarcXPathParser();
                     dojo.forEach(attrs,