Application specific package (needs cleanup)
This commit is contained in:
parent
d354579f19
commit
e91fcb2cf1
@ -1,7 +1,42 @@
|
||||
CREATE OR REPLACE PACKAGE a770 AS
|
||||
|
||||
FUNCTION is_mod_a_user
|
||||
RETURN CHAR;
|
||||
|
||||
|
||||
|
||||
FUNCTION is_administrator
|
||||
RETURN CHAR;
|
||||
|
||||
|
||||
|
||||
PROCEDURE create_user (
|
||||
in_user_login users.user_login%TYPE,
|
||||
in_user_id users.user_id%TYPE
|
||||
);
|
||||
|
||||
|
||||
|
||||
PROCEDURE create_session (
|
||||
in_user_login users.user_login%TYPE,
|
||||
in_user_id users.user_id%TYPE
|
||||
);
|
||||
|
||||
|
||||
|
||||
PROCEDURE exit_session;
|
||||
|
||||
|
||||
|
||||
FUNCTION get_page_name (
|
||||
in_page_name apex_application_pages.page_name%TYPE
|
||||
)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
|
||||
|
||||
FUNCTION get_env_name
|
||||
RETURN VARCHAR2;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
CREATE OR REPLACE PACKAGE BODY a770 AS
|
||||
|
||||
FUNCTION is_mod_a_user
|
||||
RETURN CHAR AS
|
||||
is_valid CHAR;
|
||||
BEGIN
|
||||
--is_valid := SUBSTR(sett.get_test_a(), 1, 1);
|
||||
|
||||
IF app.is_developer() THEN
|
||||
RETURN 'Y';
|
||||
END IF;
|
||||
--
|
||||
SELECT 'Y' INTO is_valid
|
||||
FROM user_roles u
|
||||
JOIN roles r
|
||||
ON r.app_id = u.app_id
|
||||
AND r.role_id = u.role_id
|
||||
WHERE u.app_id = app.get_app_id()
|
||||
AND u.user_id = app.get_user_id()
|
||||
AND u.role_id = app.get_caller_name()
|
||||
AND r.is_active = 'Y';
|
||||
--
|
||||
RETURN is_valid;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
RETURN 'N';
|
||||
END;
|
||||
|
||||
|
||||
|
||||
FUNCTION is_administrator
|
||||
RETURN CHAR AS
|
||||
is_valid CHAR;
|
||||
@ -24,5 +52,145 @@ CREATE OR REPLACE PACKAGE BODY a770 AS
|
||||
RETURN 'N';
|
||||
END;
|
||||
|
||||
|
||||
|
||||
PROCEDURE create_user (
|
||||
in_user_login users.user_login%TYPE,
|
||||
in_user_id users.user_id%TYPE
|
||||
) AS
|
||||
PRAGMA AUTONOMOUS_TRANSACTION;
|
||||
--
|
||||
rec users%ROWTYPE;
|
||||
BEGIN
|
||||
app.log_module_json (
|
||||
'user_login', in_user_login,
|
||||
'user_id', in_user_id
|
||||
);
|
||||
--
|
||||
-- @TODO: app.create_user(rec)
|
||||
--
|
||||
rec.user_id := in_user_id;
|
||||
rec.user_login := in_user_login;
|
||||
rec.user_name := NULL;
|
||||
rec.is_active := 'Y';
|
||||
rec.updated_by := app.get_user_id();
|
||||
rec.updated_at := SYSDATE;
|
||||
--
|
||||
BEGIN
|
||||
INSERT INTO users VALUES rec;
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX THEN
|
||||
NULL;
|
||||
END;
|
||||
--
|
||||
/*
|
||||
BEGIN
|
||||
INSERT INTO user_roles (user_id, role_id, is_active, updated_by, updated_at)
|
||||
VALUES (
|
||||
in_user_id,
|
||||
'USER',
|
||||
'Y',
|
||||
in_user_name,
|
||||
SYSDATE
|
||||
);
|
||||
EXCEPTION
|
||||
WHEN DUP_VAL_ON_INDEX THEN
|
||||
NULL;
|
||||
END;
|
||||
*/
|
||||
--
|
||||
COMMIT;
|
||||
--
|
||||
app.log_success();
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
WHEN OTHERS THEN
|
||||
app.raise_error();
|
||||
END;
|
||||
|
||||
|
||||
|
||||
PROCEDURE create_session (
|
||||
in_user_login users.user_login%TYPE,
|
||||
in_user_id users.user_id%TYPE
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
--app.log_module();
|
||||
--
|
||||
IF app.get_page_id() = 9999 THEN -- only for login page
|
||||
a770.create_user (
|
||||
in_user_login => in_user_login,
|
||||
in_user_id => in_user_id
|
||||
);
|
||||
END IF;
|
||||
--
|
||||
--app.log_success();
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
WHEN OTHERS THEN
|
||||
app.raise_error();
|
||||
END;
|
||||
|
||||
|
||||
|
||||
PROCEDURE exit_session
|
||||
AS
|
||||
BEGIN
|
||||
--app.log_module();
|
||||
--
|
||||
NULL;
|
||||
--
|
||||
--app.log_success();
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
WHEN OTHERS THEN
|
||||
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;
|
||||
|
||||
|
||||
|
||||
FUNCTION get_page_name (
|
||||
in_page_name apex_application_pages.page_name%TYPE
|
||||
)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
BEGIN
|
||||
RETURN in_page_name;
|
||||
/*
|
||||
RETURN REPLACE(REPLACE(REPLACE(REPLACE(in_page_name,
|
||||
'${DATE}', a100.get_date_str()),
|
||||
'${USER_NAME}', app.get_user_id()),
|
||||
'${ENV_NAME}', 'D'),--app.get_env_name()),
|
||||
'${LOGOUT}', '<span class="fa fa-coffee"></span>' -- app.get_logout_label
|
||||
);
|
||||
*/
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user