diff --git a/_install/INSTALL_TABLES.sql b/_install/INSTALL_TABLES.sql index b95de6d..a00b17d 100644 --- a/_install/INSTALL_TABLES.sql +++ b/_install/INSTALL_TABLES.sql @@ -10,7 +10,7 @@ @../tables/events.sql @../tables/log_events.sql @../tables/logs.sql -@../tables/logs_setup.sql +@../tables/logs_blacklist.sql -- @../tables/navigation.sql @../tables/sessions.sql @@ -19,19 +19,6 @@ @../tables/setting_contexts.sql @../tables/user_source_views.sql --- --- DATA --- -INSERT INTO apps (app_id, app_name, is_active, updated_by, updated_at) -VALUES ( - 770, - 'CORE', - 'Y', - USER, - SYSDATE -); -COMMIT; - -- -- SEQUENCES -- @@ -42,6 +29,7 @@ COMMIT; -- @../packages/app.spec.sql @../packages/app_actions.spec.sql +@../packages/a770.spec.sql -- -- VIEWS @@ -51,7 +39,7 @@ COMMIT; @../views/roles_cards.sql -- @../views/users_overview.sql -@../views/users_chart.sql +@../views/users_apps.sql -- @../views/sessions_overview.sql @../views/sessions_chart.sql @@ -67,6 +55,7 @@ COMMIT; @../views/nav_overview.sql @../views/nav_badges.sql @../views/nav_top.sql +@../views/nav_regions.sql -- @../views/events_chart.sql -- @@ -88,17 +77,26 @@ COMMIT; -- @../packages/app.sql @../packages/app_actions.sql +@../packages/a770.sql -- -- TRIGGERS -- +@../triggers/apps__.sql @../triggers/events__.sql +@../triggers/logs_blacklist__.sql +@../triggers/navigation__.sql @../triggers/roles__.sql @../triggers/setting_contexts__.sql @../triggers/settings__.sql @../triggers/user_roles__.sql @../triggers/users__.sql +-- +-- +-- +EXEC recompile; + -- -- JOBS -- @@ -107,7 +105,49 @@ COMMIT; -- +-- SEED DATA -- --- -EXEC recompile; +INSERT INTO apps (app_id, app_name, is_active, updated_by, updated_at) +VALUES ( + 770, + 'CORE', + 'Y', + USER, + SYSDATE +); +COMMIT; + +-- +-- NAVIGATION +-- +SET DEFINE OFF; +DELETE FROM navigation; +-- +INSERT INTO navigation (app_id, page_id, parent_id, order#) +SELECT 770, 0, NULL, 599 FROM DUAL UNION ALL +SELECT 770, 100, NULL, 100 FROM DUAL UNION ALL +SELECT 770, 990, NULL, 990 FROM DUAL UNION ALL +SELECT 770, 9999, NULL, 999 FROM DUAL UNION ALL +SELECT 770, 900, NULL, 900 FROM DUAL UNION ALL +SELECT 770, 901, 900, 10 FROM DUAL UNION ALL +SELECT 770, 915, 900, 15 FROM DUAL UNION ALL +SELECT 770, 920, 900, 20 FROM DUAL UNION ALL +SELECT 770, 922, 900, 25 FROM DUAL UNION ALL +SELECT 770, 905, 900, 30 FROM DUAL UNION ALL +SELECT 770, 940, 900, 35 FROM DUAL UNION ALL +SELECT 770, 925, 900, 40 FROM DUAL UNION ALL +SELECT 770, 910, 900, 45 FROM DUAL UNION ALL +SELECT 770, 970, 900, 50 FROM DUAL; +-- +UPDATE navigation n +SET n.is_reset = CASE WHEN n.page_id > 0 THEN 'Y' END, + n.is_shared = CASE WHEN n.page_id >= 900 AND n.page_id < 9999 THEN 'Y' END; +-- +COMMIT; + +-- +-- settings +-- + + diff --git a/triggers/settings__.sql b/triggers/settings__.sql index 2f00056..1c3be42 100644 --- a/triggers/settings__.sql +++ b/triggers/settings__.sql @@ -38,7 +38,7 @@ COMPOUND TRIGGER :NEW.updated_at := curr_updated_at; -- check name - IF NOT REGEXP_LIKE(:NEW.setting_name, '^[A-Z0-9_]{1,' || TO_CHAR(30 - NVL(LENGTH(app_actions.in_settings_prefix), 0)) || '}$') THEN + IF NOT REGEXP_LIKE(:NEW.setting_name, '^[A-Z0-9_]{1,' || TO_CHAR(30 - NVL(LENGTH(app_actions.settings_prefix), 0)) || '}$') THEN app.raise_error('WRONG_NAME', :NEW.setting_name); END IF; diff --git a/views/nav_top.sql b/views/nav_top.sql index 0128479..e4820b7 100644 --- a/views/nav_top.sql +++ b/views/nav_top.sql @@ -1,4 +1,4 @@ -CREATE OR REPLACE VIEW nav_top AS +CREATE OR REPLACE FORCE VIEW nav_top AS WITH curr AS ( SELECT app.get_app_id() AS app_id, diff --git a/views/users_apps.sql b/views/users_apps.sql index f7ecead..3c49e9a 100644 --- a/views/users_apps.sql +++ b/views/users_apps.sql @@ -6,6 +6,7 @@ WITH p AS ( a.application_group AS app_group, a.owner AS app_schema, a.application_name AS app_name, + a.version AS app_version, a.authentication_scheme, a.last_updated_on, a.pages AS count_pages, @@ -22,12 +23,14 @@ SELECT p.app_group, p.app_schema, -- - app.get_page_link ( - in_page_id => p.page_id, - in_app_id => a.app_id, - in_session_id => CASE WHEN a.app_id = app.get_core_app_id() THEN 0 END - ) AS app_url, + CASE WHEN p.page_id IS NOT NULL + THEN app.get_page_link ( + in_page_id => p.page_id, + in_app_id => a.app_id, + in_session_id => CASE WHEN a.app_id = app.get_core_app_id() THEN 0 END + ) END AS app_url, -- + p.app_version, p.authentication_scheme, p.last_updated_on, p.count_pages, @@ -52,7 +55,42 @@ SELECT THEN 'Y' END AS is_available, -- a.description_, - a.message + a.message, + NULL AS action, + a.app_id AS action_id FROM apps a LEFT JOIN p - ON p.app_id = a.app_id; + ON p.app_id = a.app_id +UNION ALL +-- +SELECT + p.app_id, + p.app_name, + p.app_alias, + p.app_group, + p.app_schema, + -- + app.get_page_link ( + in_page_id => p.page_id, + in_app_id => p.app_id + ) AS app_url, + -- + p.app_version, + p.authentication_scheme, + p.last_updated_on, + p.count_pages, + -- + NULL AS is_active, + NULL AS is_visible, + NULL AS is_available, + -- + NULL AS description_, + NULL AS message, + -- + app.get_icon('fa-plus-square', 'Create new record') AS action, + p.app_id AS action_id +FROM p +LEFT JOIN apps a + ON a.app_id = p.app_id +WHERE a.app_id IS NULL; +