From 670de53e5233ef9dc6219742e08cde68759f50ef Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 3 Sep 2021 11:12:10 -0400 Subject: [PATCH] staff portal: turn entry type list into a table Allows i18n of type label and field adding as a combobox in fm-editor Signed-off-by: Galen Charlton --- Open-ILS/examples/fm_IDL.xml | 15 ++++++++++++++- .../sql/Pg/upgrade/XXXX.schema.portal_page_table.sql | 20 +++++++++++++++++--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index b4980858a2..bb295d0ecc 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -13566,12 +13566,24 @@ SELECT usr, + + + + + + + + + + + + - + @@ -13579,6 +13591,7 @@ SELECT usr, + diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.portal_page_table.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.portal_page_table.sql index 585eae1edf..80ac803323 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.portal_page_table.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.portal_page_table.sql @@ -1,12 +1,24 @@ BEGIN; -CREATE TYPE config.ui_staff_portal_page_entry_type AS ENUM ('link', 'menuitem', 'text', 'header', 'catalogsearch'); +CREATE TABLE config.ui_staff_portal_page_entry_type( + code TEXT PRIMARY KEY, + label TEXT NOT NULL +); + +INSERT INTO config.ui_staff_portal_page_entry_type (code, label) +VALUES + ('link', oils_i18n_gettext('link', 'Link', 'cusppet', 'label')), + ('menuitem', oils_i18n_gettext('menuitem', 'Menu Item', 'cusppet', 'label')), + ('text', oils_i18n_gettext('text', 'Text and/or HTML', 'cusppet', 'label')), + ('header', oils_i18n_gettext('header', 'Header', 'cusppet', 'label')), + ('catalogsearch', oils_i18n_gettext('catalogsearch', 'Catalog Search Box', 'cusppet', 'label')); + CREATE TABLE config.ui_staff_portal_page_entry ( - id SERIAL PRIMARY Key, + id SERIAL PRIMARY KEY, page_col INTEGER NOT NULL, col_pos INTEGER NOT NULL, - entry_type config.ui_staff_portal_page_entry_type NOT NULL, + entry_type TEXT NOT NULL, label TEXT, image_url TEXT, target_url TEXT, @@ -14,6 +26,8 @@ CREATE TABLE config.ui_staff_portal_page_entry ( owner INT NOT NULL -- REFERENCES actor.org_unit (id) ); +ALTER TABLE config.ui_staff_portal_page_entry ADD CONSTRAINT cusppe_entry_type_fkey + FOREIGN KEY (entry_type) REFERENCES config.ui_staff_portal_page_entry_type(code) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; ALTER TABLE config.ui_staff_portal_page_entry ADD CONSTRAINT cusppe_owner_fkey FOREIGN KEY (owner) REFERENCES actor.org_unit(id) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED; -- 2.11.0