Simplify Apps table
This commit is contained in:
parent
f5a954b8d2
commit
f7a6dfd609
@ -296,8 +296,9 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
AS
|
AS
|
||||||
PRAGMA AUTONOMOUS_TRANSACTION;
|
PRAGMA AUTONOMOUS_TRANSACTION;
|
||||||
--
|
--
|
||||||
v_is_active users.is_active%TYPE;
|
v_app_id apps.app_id%TYPE;
|
||||||
v_user_login users.user_login%TYPE;
|
v_user_login users.user_login%TYPE;
|
||||||
|
v_is_active users.is_active%TYPE;
|
||||||
rec sessions%ROWTYPE;
|
rec sessions%ROWTYPE;
|
||||||
BEGIN
|
BEGIN
|
||||||
--app.log_module();
|
--app.log_module();
|
||||||
@ -316,48 +317,33 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
RETURN;
|
RETURN;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- check app availability
|
-- create app record if developers login
|
||||||
IF NOT app.is_developer() THEN
|
BEGIN
|
||||||
BEGIN
|
SELECT a.app_id INTO v_app_id
|
||||||
SELECT a.is_active INTO v_is_active
|
FROM apps a
|
||||||
FROM apps a
|
WHERE a.app_id = rec.app_id;
|
||||||
WHERE a.app_id = rec.app_id
|
EXCEPTION
|
||||||
AND a.is_active = 'Y';
|
WHEN NO_DATA_FOUND THEN
|
||||||
EXCEPTION
|
app.log_warning('CREATING_APP', rec.app_id);
|
||||||
WHEN NO_DATA_FOUND THEN
|
--
|
||||||
app.raise_error('APPLICATION_OFFLINE');
|
INSERT INTO apps (app_id, updated_by, updated_at)
|
||||||
END;
|
SELECT
|
||||||
ELSE
|
a.application_id,
|
||||||
-- create app record if developers login
|
rec.user_id,
|
||||||
BEGIN
|
rec.updated_at
|
||||||
SELECT a.is_active INTO v_is_active
|
FROM apex_applications a
|
||||||
FROM apps a
|
WHERE a.application_id = rec.app_id;
|
||||||
WHERE a.app_id = rec.app_id;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN NO_DATA_FOUND THEN
|
|
||||||
app.log_warning('CREATING_APP', rec.app_id);
|
|
||||||
--
|
|
||||||
INSERT INTO apps (app_id, app_name, is_active, updated_by, updated_at)
|
|
||||||
SELECT
|
|
||||||
a.application_id,
|
|
||||||
a.application_name,
|
|
||||||
'Y',
|
|
||||||
rec.user_id,
|
|
||||||
rec.updated_at
|
|
||||||
FROM apex_applications a
|
|
||||||
WHERE a.application_id = rec.app_id;
|
|
||||||
|
|
||||||
-- also add first pages into Navigation table
|
-- also add first pages into Navigation table
|
||||||
app_actions.nav_autoupdate();
|
app_actions.nav_autoupdate();
|
||||||
--
|
--
|
||||||
UPDATE navigation n
|
UPDATE navigation n
|
||||||
SET n.order# = CASE
|
SET n.order# = CASE
|
||||||
WHEN n.page_id = 0 THEN 599
|
WHEN n.page_id = 0 THEN 599
|
||||||
ELSE TO_NUMBER(SUBSTR(TO_CHAR(n.page_id), 1, 3))
|
ELSE TO_NUMBER(SUBSTR(TO_CHAR(n.page_id), 1, 3))
|
||||||
END
|
END
|
||||||
WHERE n.app_id = rec.app_id;
|
WHERE n.app_id = rec.app_id;
|
||||||
END;
|
END;
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- adjust user_id in APEX, init session
|
-- adjust user_id in APEX, init session
|
||||||
DBMS_SESSION.CLEAR_IDENTIFIER();
|
DBMS_SESSION.CLEAR_IDENTIFIER();
|
||||||
|
|||||||
@ -1,11 +1,8 @@
|
|||||||
--DROP TABLE apps CASCADE CONSTRAINTS;
|
--DROP TABLE apps CASCADE CONSTRAINTS;
|
||||||
CREATE TABLE apps (
|
CREATE TABLE apps (
|
||||||
app_id NUMBER(4) CONSTRAINT nn_apps_app_id NOT NULL,
|
app_id NUMBER(4) CONSTRAINT nn_apps_app_id NOT NULL,
|
||||||
app_name VARCHAR2(32),
|
|
||||||
--
|
--
|
||||||
description_ VARCHAR2(1000),
|
description_ VARCHAR2(1000),
|
||||||
message VARCHAR2(256),
|
|
||||||
is_active CHAR(1),
|
|
||||||
is_visible CHAR(1),
|
is_visible CHAR(1),
|
||||||
--
|
--
|
||||||
updated_by VARCHAR2(30),
|
updated_by VARCHAR2(30),
|
||||||
@ -14,9 +11,6 @@ CREATE TABLE apps (
|
|||||||
CONSTRAINT pk_apps
|
CONSTRAINT pk_apps
|
||||||
PRIMARY KEY (app_id),
|
PRIMARY KEY (app_id),
|
||||||
--
|
--
|
||||||
CONSTRAINT ch_apps_is_active
|
|
||||||
CHECK (is_active = 'Y' OR is_active IS NULL),
|
|
||||||
--
|
|
||||||
CONSTRAINT ch_apps_is_visible
|
CONSTRAINT ch_apps_is_visible
|
||||||
CHECK (is_visible = 'Y' OR is_visible IS NULL)
|
CHECK (is_visible = 'Y' OR is_visible IS NULL)
|
||||||
)
|
)
|
||||||
@ -25,9 +19,6 @@ STORAGE (BUFFER_POOL KEEP);
|
|||||||
COMMENT ON TABLE apps IS '[CORE] List of apps';
|
COMMENT ON TABLE apps IS '[CORE] List of apps';
|
||||||
--
|
--
|
||||||
COMMENT ON COLUMN apps.app_id IS 'APEX application ID';
|
COMMENT ON COLUMN apps.app_id IS 'APEX application ID';
|
||||||
COMMENT ON COLUMN apps.app_name IS 'Application name';
|
COMMENT ON COLUMN apps.description_ IS 'Description, until I know how to edit documentation_banner';
|
||||||
COMMENT ON COLUMN apps.description_ IS 'Description';
|
|
||||||
COMMENT ON COLUMN apps.message IS 'Announcement to users when taking app for maintenance';
|
|
||||||
COMMENT ON COLUMN apps.is_active IS 'Flag to deny access to app to users (not developers)';
|
|
||||||
COMMENT ON COLUMN apps.is_visible IS 'Flag to show app in list of apps even if user dont have role there';
|
COMMENT ON COLUMN apps.is_visible IS 'Flag to show app in list of apps even if user dont have role there';
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,6 @@ t AS (
|
|||||||
FROM navigation n
|
FROM navigation n
|
||||||
JOIN apps a
|
JOIN apps a
|
||||||
ON a.app_id = n.app_id
|
ON a.app_id = n.app_id
|
||||||
AND a.is_active = 'Y'
|
|
||||||
CROSS JOIN x
|
CROSS JOIN x
|
||||||
LEFT JOIN apex_application_pages p
|
LEFT JOIN apex_application_pages p
|
||||||
ON p.application_id = n.app_id
|
ON p.application_id = n.app_id
|
||||||
@ -119,7 +118,6 @@ SELECT
|
|||||||
FROM navigation n
|
FROM navigation n
|
||||||
JOIN apps a
|
JOIN apps a
|
||||||
ON a.app_id = n.app_id
|
ON a.app_id = n.app_id
|
||||||
AND a.is_active = 'Y'
|
|
||||||
CROSS JOIN x
|
CROSS JOIN x
|
||||||
LEFT JOIN t
|
LEFT JOIN t
|
||||||
ON t.app_id = n.app_id
|
ON t.app_id = n.app_id
|
||||||
@ -192,7 +190,6 @@ SELECT
|
|||||||
FROM nav_pages_to_add n
|
FROM nav_pages_to_add n
|
||||||
JOIN apps a
|
JOIN apps a
|
||||||
ON a.app_id = n.app_id
|
ON a.app_id = n.app_id
|
||||||
AND a.is_active = 'Y'
|
|
||||||
CROSS JOIN x
|
CROSS JOIN x
|
||||||
LEFT JOIN t
|
LEFT JOIN t
|
||||||
ON t.app_id = n.app_id
|
ON t.app_id = n.app_id
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user