Add is_private to settings, move to app package
This commit is contained in:
parent
c318833b4d
commit
84ed895a92
@ -23,7 +23,7 @@ wwv_flow_api.create_page(
|
||||
,p_page_template_options=>'#DEFAULT#'
|
||||
,p_required_role=>wwv_flow_api.id(9823062898204869)
|
||||
,p_last_updated_by=>'DEV'
|
||||
,p_last_upd_yyyymmddhh24miss=>'20220129093705'
|
||||
,p_last_upd_yyyymmddhh24miss=>'20220205130844'
|
||||
);
|
||||
wwv_flow_api.create_page_plug(
|
||||
p_id=>wwv_flow_api.id(11853608143169127)
|
||||
@ -163,11 +163,11 @@ wwv_flow_api.create_region_column(
|
||||
,p_source_type=>'DB_COLUMN'
|
||||
,p_source_expression=>'DESCRIPTION_'
|
||||
,p_data_type=>'VARCHAR2'
|
||||
,p_is_query_only=>true
|
||||
,p_is_query_only=>false
|
||||
,p_item_type=>'NATIVE_TEXT_FIELD'
|
||||
,p_heading=>'Description'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>140
|
||||
,p_display_sequence=>150
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_05=>'BOTH'
|
||||
,p_is_required=>false
|
||||
@ -181,6 +181,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_enable_sort_group=>false
|
||||
,p_enable_hide=>true
|
||||
,p_is_primary_key=>false
|
||||
,p_duplicate_value=>true
|
||||
,p_include_in_export=>true
|
||||
);
|
||||
wwv_flow_api.create_region_column(
|
||||
@ -255,7 +256,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Updated By'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>150
|
||||
,p_display_sequence=>160
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -282,7 +283,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Updated At'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>160
|
||||
,p_display_sequence=>170
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -452,7 +453,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Procedures'
|
||||
,p_heading_alignment=>'RIGHT'
|
||||
,p_display_sequence=>120
|
||||
,p_display_sequence=>130
|
||||
,p_value_alignment=>'RIGHT'
|
||||
,p_group_id=>wwv_flow_api.id(12335175952960920)
|
||||
,p_use_group_for=>'BOTH'
|
||||
@ -478,7 +479,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Views'
|
||||
,p_heading_alignment=>'RIGHT'
|
||||
,p_display_sequence=>130
|
||||
,p_display_sequence=>140
|
||||
,p_value_alignment=>'RIGHT'
|
||||
,p_group_id=>wwv_flow_api.id(12335175952960920)
|
||||
,p_use_group_for=>'BOTH'
|
||||
@ -494,6 +495,35 @@ wwv_flow_api.create_region_column(
|
||||
,p_is_primary_key=>false
|
||||
,p_include_in_export=>true
|
||||
);
|
||||
wwv_flow_api.create_region_column(
|
||||
p_id=>wwv_flow_api.id(22942157447325326)
|
||||
,p_name=>'IS_PRIVATE'
|
||||
,p_source_type=>'DB_COLUMN'
|
||||
,p_source_expression=>'IS_PRIVATE'
|
||||
,p_data_type=>'VARCHAR2'
|
||||
,p_is_query_only=>false
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'Private'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>120
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_attribute_01=>'Y'
|
||||
,p_is_required=>false
|
||||
,p_enable_filter=>true
|
||||
,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP'
|
||||
,p_filter_is_required=>false
|
||||
,p_filter_text_case=>'MIXED'
|
||||
,p_filter_exact_match=>true
|
||||
,p_filter_lov_type=>'DISTINCT'
|
||||
,p_use_as_row_header=>false
|
||||
,p_enable_sort_group=>true
|
||||
,p_enable_control_break=>true
|
||||
,p_enable_hide=>true
|
||||
,p_is_primary_key=>false
|
||||
,p_duplicate_value=>true
|
||||
,p_include_in_export=>true
|
||||
,p_security_scheme=>wwv_flow_api.id(9556407311505078)
|
||||
);
|
||||
wwv_flow_api.create_interactive_grid(
|
||||
p_id=>wwv_flow_api.id(11853821618169129)
|
||||
,p_internal_uid=>11853821618169129
|
||||
@ -548,7 +578,7 @@ wwv_flow_api.create_ig_report_view(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(28500165388036)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>4
|
||||
,p_display_seq=>3
|
||||
,p_column_id=>wwv_flow_api.id(12112180628376320)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
@ -560,11 +590,11 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29930996388039)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>3
|
||||
,p_display_seq=>2
|
||||
,p_column_id=>wwv_flow_api.id(12112213333376321)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>90
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12014468263679422)
|
||||
@ -582,7 +612,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12015320331679424)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>5
|
||||
,p_display_seq=>4
|
||||
,p_column_id=>wwv_flow_api.id(11854302395169134)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
@ -599,25 +629,25 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12017110360679428)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>6
|
||||
,p_display_seq=>5
|
||||
,p_column_id=>wwv_flow_api.id(11854519035169136)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>90
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12018068358679430)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>7
|
||||
,p_display_seq=>6
|
||||
,p_column_id=>wwv_flow_api.id(11854640901169137)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>90
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12018933623679432)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>12
|
||||
,p_display_seq=>13
|
||||
,p_column_id=>wwv_flow_api.id(11854730854169138)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -626,7 +656,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12019830036679434)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>13
|
||||
,p_display_seq=>14
|
||||
,p_column_id=>wwv_flow_api.id(11854883294169139)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -643,7 +673,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12104857120371283)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>8
|
||||
,p_display_seq=>7
|
||||
,p_column_id=>wwv_flow_api.id(11855718811169148)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -652,7 +682,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12105782280371287)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>9
|
||||
,p_display_seq=>8
|
||||
,p_column_id=>wwv_flow_api.id(11855803111169149)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -669,20 +699,29 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12576610446394335)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>10
|
||||
,p_display_seq=>9
|
||||
,p_column_id=>wwv_flow_api.id(12335871532960927)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>90
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(12577576446394339)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>11
|
||||
,p_display_seq=>10
|
||||
,p_column_id=>wwv_flow_api.id(12335937642960928)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>90
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(23102454673132420)
|
||||
,p_view_id=>wwv_flow_api.id(12011273108679405)
|
||||
,p_display_seq=>11
|
||||
,p_column_id=>wwv_flow_api.id(22942157447325326)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_page_plug(
|
||||
p_id=>wwv_flow_api.id(12110948961376308)
|
||||
@ -4487,7 +4526,7 @@ wwv_flow_api.create_page_process(
|
||||
,p_attribute_04=>wwv_flow_string.join(wwv_flow_t_varchar2(
|
||||
'app.log_action(''SAVE_SETTINGS'');',
|
||||
'--',
|
||||
'app_actions.set_setting (',
|
||||
'app_actions.save_setting (',
|
||||
' in_action => :APEX$ROW_STATUS,',
|
||||
' in_setting_name => :SETTING_NAME,',
|
||||
' in_setting_name_old => :SETTING_NAME_OLD,',
|
||||
@ -4495,6 +4534,7 @@ wwv_flow_api.create_page_process(
|
||||
' in_setting_group => :SETTING_GROUP,',
|
||||
' in_is_numeric => :IS_NUMERIC,',
|
||||
' in_is_date => :IS_DATE,',
|
||||
' in_is_private => :IS_PRIVATE,',
|
||||
' in_description => :DESCRIPTION_',
|
||||
');',
|
||||
'',
|
||||
|
||||
@ -1455,6 +1455,13 @@ CREATE OR REPLACE PACKAGE app AS
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Rebuild package containing function matching Settings table
|
||||
--
|
||||
PROCEDURE rebuild_settings;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3581,6 +3581,99 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
||||
|
||||
|
||||
|
||||
PROCEDURE rebuild_settings
|
||||
AS
|
||||
q VARCHAR2(32767);
|
||||
b VARCHAR2(32767);
|
||||
BEGIN
|
||||
app.log_module();
|
||||
--
|
||||
IF app.get_settings_package() IS NULL THEN
|
||||
RETURN;
|
||||
END IF;
|
||||
--
|
||||
app.refresh_user_source_views();
|
||||
--
|
||||
q := 'CREATE OR REPLACE PACKAGE ' || LOWER(app.get_settings_package()) || ' AS' || CHR(10);
|
||||
b := 'CREATE OR REPLACE PACKAGE BODY ' || LOWER(app.get_settings_package()) || ' AS' || CHR(10);
|
||||
--
|
||||
FOR c IN (
|
||||
SELECT DISTINCT
|
||||
s.setting_name,
|
||||
s.is_numeric,
|
||||
s.is_date
|
||||
FROM settings s
|
||||
WHERE s.app_id = app.get_app_id()
|
||||
AND s.setting_context IS NULL
|
||||
AND s.is_private IS NULL
|
||||
ORDER BY s.setting_name
|
||||
) LOOP
|
||||
-- create specification
|
||||
q := q || CHR(10);
|
||||
q := q || ' FUNCTION ' || LOWER(app.settings_prefix) || LOWER(c.setting_name) || ' (' || CHR(10);
|
||||
q := q || ' in_context settings.setting_context%TYPE := NULL' || CHR(10);
|
||||
q := q || ' )' || CHR(10);
|
||||
q := q || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'NUMBER'
|
||||
WHEN c.is_date = 'Y' THEN 'DATE'
|
||||
ELSE 'VARCHAR2' END || CHR(10);
|
||||
q := q || ' RESULT_CACHE;' || CHR(10);
|
||||
|
||||
-- create package body
|
||||
b := b || CHR(10);
|
||||
b := b || ' FUNCTION ' || LOWER(app.settings_prefix) || LOWER(c.setting_name) || ' (' || CHR(10);
|
||||
b := b || ' in_context settings.setting_context%TYPE := NULL' || CHR(10);
|
||||
b := b || ' )' || CHR(10);
|
||||
b := b || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'NUMBER'
|
||||
WHEN c.is_date = 'Y' THEN 'DATE'
|
||||
ELSE 'VARCHAR2' END || CHR(10);
|
||||
b := b || ' RESULT_CACHE AS' || CHR(10);
|
||||
b := b || ' BEGIN' || CHR(10);
|
||||
b := b || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'TO_NUMBER('
|
||||
WHEN c.is_date = 'Y' THEN 'app.get_date('
|
||||
END || 'app.get_setting (' || CHR(10);
|
||||
b := b || ' in_name => ''' || c.setting_name || ''',' || CHR(10);
|
||||
b := b || ' in_context => in_context' || CHR(10);
|
||||
b := b || ' ' || CASE
|
||||
WHEN NVL(c.is_numeric, c.is_date) = 'Y' THEN ')'
|
||||
END || ');' || CHR(10);
|
||||
b := b || ' EXCEPTION' || CHR(10);
|
||||
b := b || ' WHEN NO_DATA_FOUND THEN' || CHR(10);
|
||||
b := b || ' RETURN NULL;' || CHR(10);
|
||||
b := b || ' END;' || CHR(10);
|
||||
END LOOP;
|
||||
--
|
||||
q := q || CHR(10) || 'END;';
|
||||
b := b || CHR(10) || 'END;';
|
||||
--
|
||||
EXECUTE IMMEDIATE q;
|
||||
EXECUTE IMMEDIATE b;
|
||||
--
|
||||
recompile (
|
||||
in_name => app.get_settings_package(),
|
||||
in_force => TRUE
|
||||
);
|
||||
--
|
||||
/*
|
||||
DBMS_RESULT_CACHE.INVALIDATE (
|
||||
owner => app.schema_owner,
|
||||
name => app_actions.settings_package
|
||||
);
|
||||
*/
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
WHEN OTHERS THEN
|
||||
app.log_debug(q); -- trimmed
|
||||
app.log_debug(b); -- trimmed
|
||||
--
|
||||
app.raise_error();
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -29,20 +29,6 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
||||
*
|
||||
*/
|
||||
|
||||
-- for sending emails
|
||||
smtp_from CONSTANT VARCHAR2(200) := '';
|
||||
smtp_username CONSTANT VARCHAR2(50) := NULL;
|
||||
smtp_password CONSTANT VARCHAR2(50) := NULL;
|
||||
smtp_host CONSTANT VARCHAR2(50) := '';
|
||||
smtp_port CONSTANT NUMBER(4) := 25;
|
||||
smtp_timeout CONSTANT NUMBER(2) := 20;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- ### Help functions
|
||||
--
|
||||
|
||||
@ -196,7 +182,7 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
||||
--
|
||||
-- Store/update settings
|
||||
--
|
||||
PROCEDURE set_setting (
|
||||
PROCEDURE save_setting (
|
||||
in_action CHAR,
|
||||
in_setting_name_old settings.setting_name%TYPE,
|
||||
in_setting_name settings.setting_name%TYPE,
|
||||
@ -204,6 +190,7 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
||||
in_setting_value settings.setting_value%TYPE := NULL,
|
||||
in_is_numeric settings.is_numeric%TYPE := NULL,
|
||||
in_is_date settings.is_date%TYPE := NULL,
|
||||
in_is_private settings.is_private%TYPE := NULL,
|
||||
in_description settings.description_%TYPE := NULL
|
||||
);
|
||||
|
||||
@ -267,13 +254,6 @@ CREATE OR REPLACE PACKAGE app_actions AS
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Rebuild package containing function matching Settings table
|
||||
--
|
||||
PROCEDURE rebuild_settings;
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Prepare pivot for Settings page
|
||||
--
|
||||
|
||||
@ -412,7 +412,7 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||
|
||||
|
||||
|
||||
PROCEDURE set_setting (
|
||||
PROCEDURE save_setting (
|
||||
in_action CHAR,
|
||||
in_setting_name_old settings.setting_name%TYPE,
|
||||
in_setting_name settings.setting_name%TYPE,
|
||||
@ -420,6 +420,7 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||
in_setting_value settings.setting_value%TYPE := NULL,
|
||||
in_is_numeric settings.is_numeric%TYPE := NULL,
|
||||
in_is_date settings.is_date%TYPE := NULL,
|
||||
in_is_private settings.is_private%TYPE := NULL,
|
||||
in_description settings.description_%TYPE := NULL
|
||||
)
|
||||
AS
|
||||
@ -432,7 +433,8 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||
'value', in_setting_value,
|
||||
'group', in_setting_group,
|
||||
'is_numeric', in_is_numeric,
|
||||
'is_date', in_is_date
|
||||
'is_date', in_is_date,
|
||||
'is_private', in_is_private
|
||||
);
|
||||
--
|
||||
rec.app_id := app.get_app_id();
|
||||
@ -442,6 +444,7 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||
rec.setting_group := in_setting_group;
|
||||
rec.is_numeric := in_is_numeric;
|
||||
rec.is_date := in_is_date;
|
||||
rec.is_private := in_is_private;
|
||||
rec.description_ := in_description;
|
||||
rec.updated_by := app.get_user_id();
|
||||
rec.updated_at := SYSDATE;
|
||||
@ -644,98 +647,6 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
|
||||
|
||||
|
||||
|
||||
PROCEDURE rebuild_settings
|
||||
AS
|
||||
q VARCHAR2(32767);
|
||||
b VARCHAR2(32767);
|
||||
BEGIN
|
||||
app.log_module();
|
||||
--
|
||||
IF app.get_settings_package() IS NULL THEN
|
||||
RETURN;
|
||||
END IF;
|
||||
--
|
||||
app.refresh_user_source_views();
|
||||
--
|
||||
q := 'CREATE OR REPLACE PACKAGE ' || LOWER(app.get_settings_package()) || ' AS' || CHR(10);
|
||||
b := 'CREATE OR REPLACE PACKAGE BODY ' || LOWER(app.get_settings_package()) || ' AS' || CHR(10);
|
||||
--
|
||||
FOR c IN (
|
||||
SELECT DISTINCT
|
||||
s.setting_name,
|
||||
s.is_numeric,
|
||||
s.is_date
|
||||
FROM settings s
|
||||
WHERE s.app_id = app.get_app_id()
|
||||
AND s.setting_context IS NULL
|
||||
ORDER BY s.setting_name
|
||||
) LOOP
|
||||
-- create specification
|
||||
q := q || CHR(10);
|
||||
q := q || ' FUNCTION ' || LOWER(app.settings_prefix) || LOWER(c.setting_name) || ' (' || CHR(10);
|
||||
q := q || ' in_context settings.setting_context%TYPE := NULL' || CHR(10);
|
||||
q := q || ' )' || CHR(10);
|
||||
q := q || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'NUMBER'
|
||||
WHEN c.is_date = 'Y' THEN 'DATE'
|
||||
ELSE 'VARCHAR2' END || CHR(10);
|
||||
q := q || ' RESULT_CACHE;' || CHR(10);
|
||||
|
||||
-- create package body
|
||||
b := b || CHR(10);
|
||||
b := b || ' FUNCTION ' || LOWER(app.settings_prefix) || LOWER(c.setting_name) || ' (' || CHR(10);
|
||||
b := b || ' in_context settings.setting_context%TYPE := NULL' || CHR(10);
|
||||
b := b || ' )' || CHR(10);
|
||||
b := b || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'NUMBER'
|
||||
WHEN c.is_date = 'Y' THEN 'DATE'
|
||||
ELSE 'VARCHAR2' END || CHR(10);
|
||||
b := b || ' RESULT_CACHE AS' || CHR(10);
|
||||
b := b || ' BEGIN' || CHR(10);
|
||||
b := b || ' RETURN ' || CASE
|
||||
WHEN c.is_numeric = 'Y' THEN 'TO_NUMBER('
|
||||
WHEN c.is_date = 'Y' THEN 'app.get_date('
|
||||
END || 'app.get_setting (' || CHR(10);
|
||||
b := b || ' in_name => ''' || c.setting_name || ''',' || CHR(10);
|
||||
b := b || ' in_context => in_context' || CHR(10);
|
||||
b := b || ' ' || CASE
|
||||
WHEN NVL(c.is_numeric, c.is_date) = 'Y' THEN ')'
|
||||
END || ');' || CHR(10);
|
||||
b := b || ' EXCEPTION' || CHR(10);
|
||||
b := b || ' WHEN NO_DATA_FOUND THEN' || CHR(10);
|
||||
b := b || ' RETURN NULL;' || CHR(10);
|
||||
b := b || ' END;' || CHR(10);
|
||||
END LOOP;
|
||||
--
|
||||
q := q || CHR(10) || 'END;';
|
||||
b := b || CHR(10) || 'END;';
|
||||
--
|
||||
EXECUTE IMMEDIATE q;
|
||||
EXECUTE IMMEDIATE b;
|
||||
--
|
||||
recompile (
|
||||
in_name => app.get_settings_package(),
|
||||
in_force => TRUE
|
||||
);
|
||||
--
|
||||
/*
|
||||
DBMS_RESULT_CACHE.INVALIDATE (
|
||||
owner => app.schema_owner,
|
||||
name => app_actions.settings_package
|
||||
);
|
||||
*/
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
WHEN OTHERS THEN
|
||||
app.log_debug(q); -- trimmed
|
||||
app.log_debug(b); -- trimmed
|
||||
--
|
||||
app.raise_error();
|
||||
END;
|
||||
|
||||
|
||||
|
||||
PROCEDURE prep_settings_pivot (
|
||||
in_page_id apex_application_pages.page_id%TYPE
|
||||
) AS
|
||||
|
||||
@ -9,6 +9,7 @@ CREATE TABLE settings (
|
||||
--
|
||||
is_numeric CHAR(1),
|
||||
is_date CHAR(1),
|
||||
is_private CHAR(1),
|
||||
--
|
||||
description_ VARCHAR2(1000),
|
||||
--
|
||||
@ -26,7 +27,10 @@ CREATE TABLE settings (
|
||||
CHECK ((is_numeric = 'Y' AND is_date IS NULL) OR is_numeric IS NULL),
|
||||
--
|
||||
CONSTRAINT ch_settings_is_date
|
||||
CHECK ((is_date = 'Y' AND is_numeric IS NULL) OR is_date IS NULL)
|
||||
CHECK ((is_date = 'Y' AND is_numeric IS NULL) OR is_date IS NULL),
|
||||
--
|
||||
CONSTRAINT ch_settings_is_private
|
||||
CHECK (is_private = 'Y' OR is_private IS NULL)
|
||||
)
|
||||
STORAGE (BUFFER_POOL KEEP);
|
||||
--
|
||||
@ -39,5 +43,6 @@ COMMENT ON COLUMN settings.setting_context IS 'To allow multiple values dep
|
||||
COMMENT ON COLUMN settings.setting_group IS 'Group just for grouping set in APEX';
|
||||
COMMENT ON COLUMN settings.is_numeric IS 'Flag to convert value to number';
|
||||
COMMENT ON COLUMN settings.is_date IS 'Flag to convert value to date';
|
||||
COMMENT ON COLUMN settings.is_private IS 'Visible for Developers only on Settings page';
|
||||
COMMENT ON COLUMN settings.description_ IS 'Description';
|
||||
|
||||
|
||||
@ -4,7 +4,8 @@ WITH x AS (
|
||||
app.get_settings_package() AS package_name,
|
||||
app.get_settings_prefix() AS prefix,
|
||||
app.get_item('$SETTING_NAME') AS setting_name,
|
||||
app.get_app_id() AS app_id
|
||||
app.get_app_id() AS app_id,
|
||||
app.is_developer_y() AS is_dev
|
||||
FROM DUAL
|
||||
),
|
||||
p AS (
|
||||
@ -48,6 +49,7 @@ SELECT
|
||||
s.setting_value,
|
||||
s.is_numeric,
|
||||
s.is_date,
|
||||
s.is_private,
|
||||
--
|
||||
p.procedure_name,
|
||||
p.data_type,
|
||||
@ -79,7 +81,8 @@ LEFT JOIN r
|
||||
LEFT JOIN v
|
||||
ON v.procedure_name = x.prefix || s.setting_name
|
||||
WHERE s.setting_name = NVL(x.setting_name, s.setting_name)
|
||||
AND s.setting_context IS NULL;
|
||||
AND s.setting_context IS NULL
|
||||
AND (s.is_private IS NULL OR x.is_dev = 'Y');
|
||||
--
|
||||
COMMENT ON TABLE settings_overview IS '[CORE - DASHBOARD] Settings';
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user