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