From 056b3bda88d0110e49bd33171010a1bda2014c45 Mon Sep 17 00:00:00 2001 From: Jan Kvetina Date: Wed, 5 Jan 2022 20:31:00 +0100 Subject: [PATCH] Environment as an icon and details in a bubble --- packages/a770.spec.sql | 5 ----- packages/a770.sql | 22 ---------------------- packages/app.spec.sql | 8 ++++++++ packages/app.sql | 23 +++++++++++++++++++++++ views/nav_top.sql | 2 ++ 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/packages/a770.spec.sql b/packages/a770.spec.sql index d732685..21a84a5 100644 --- a/packages/a770.spec.sql +++ b/packages/a770.spec.sql @@ -36,10 +36,5 @@ CREATE OR REPLACE PACKAGE a770 AS -- PROCEDURE exit_session; - - - FUNCTION get_env_name - RETURN VARCHAR2; - END; / diff --git a/packages/a770.sql b/packages/a770.sql index 6cb1213..bbf4a79 100644 --- a/packages/a770.sql +++ b/packages/a770.sql @@ -151,27 +151,5 @@ CREATE OR REPLACE PACKAGE BODY a770 AS app.raise_error(); END; - - - FUNCTION get_env_name - RETURN VARCHAR2 AS - out_name VARCHAR2(4000); - BEGIN - out_name := 'Environment: ' || 'DEV'; -- retrieve value from settings - -- - IF app.is_developer() THEN - -- details for developers - SELECT - 'Oracle APEX: ' || a.version_no || CHR(10) || - 'Oracle Database: ' || p.version_full || CHR(10) || - out_name - INTO out_name - FROM apex_release a - CROSS JOIN product_component_version p; - END IF; - -- - RETURN app.get_icon('fa-window-bookmark', out_name); - END; - END; / diff --git a/packages/app.spec.sql b/packages/app.spec.sql index ee43280..bf6098b 100644 --- a/packages/app.spec.sql +++ b/packages/app.spec.sql @@ -304,6 +304,14 @@ CREATE OR REPLACE PACKAGE app AS + -- + -- Get env name + -- + FUNCTION get_env_name + RETURN VARCHAR2; + + + -- -- Get role name -- diff --git a/packages/app.sql b/packages/app.sql index bd6e170..6f128d3 100644 --- a/packages/app.sql +++ b/packages/app.sql @@ -607,6 +607,29 @@ CREATE OR REPLACE PACKAGE BODY app AS + FUNCTION get_env_name + RETURN VARCHAR2 + AS + out_name VARCHAR2(4000); + BEGIN + out_name := 'Environment: ' || SYS_CONTEXT('USERENV', 'SERVER_HOST'); + -- + IF app.is_developer() THEN + -- details for developers + SELECT + out_name || CHR(10) || + 'Oracle APEX: ' || a.version_no || CHR(10) || + 'Oracle DB: ' || p.version_full + INTO out_name + FROM apex_release a + CROSS JOIN product_component_version p; + END IF; + -- + RETURN app.get_icon('fa-window-bookmark', out_name); + END; + + + FUNCTION get_role_name ( in_role_id roles.role_id%TYPE ) diff --git a/views/nav_top.sql b/views/nav_top.sql index e4820b7..3178f37 100644 --- a/views/nav_top.sql +++ b/views/nav_top.sql @@ -15,6 +15,8 @@ SELECT CASE WHEN n.parent_id IS NULL THEN 1 ELSE 2 END AS lvl, -- CASE + WHEN n.page_id = 100 -- home page + THEN REPLACE(n.page_name, '&' || 'ENV_NAME.', app.get_env_name() || ' &' || 'nbsp; ') WHEN n.page_id > 0 THEN REGEXP_REPLACE(REPLACE(n.page_name, '&' || 'APP_USER.', APEX_ESCAPE.HTML(NVL(curr.user_name, curr.user_id))), '^(&' || 'nbsp; )+', '') ELSE '