From 9fa86cfaeb1f03e0c31ae034cc2ebce3f424a324 Mon Sep 17 00:00:00 2001 From: Jan Kvetina Date: Sat, 25 Dec 2021 14:14:51 +0100 Subject: [PATCH] Logs and Sessions with shared calendar --- apex/f770/application/pages/page_00901.sql | 173 ++++++++++++++++-- apex/f770/application/pages/page_00902.sql | 163 ++++++++++++++--- .../shared_components/files/app_css.sql | 10 +- .../logic/application_items/g_today_label.sql | 22 +++ .../logic/application_items/g_tomorrow.sql | 22 +++ .../logic/application_items/g_yesterday.sql | 22 +++ .../application_processes/init_globals.sql | 38 ++++ apex/f770/install.sql | 4 + views/logs_overview.sql | 37 ++++ 9 files changed, 445 insertions(+), 46 deletions(-) create mode 100644 apex/f770/application/shared_components/logic/application_items/g_today_label.sql create mode 100644 apex/f770/application/shared_components/logic/application_items/g_tomorrow.sql create mode 100644 apex/f770/application/shared_components/logic/application_items/g_yesterday.sql create mode 100644 apex/f770/application/shared_components/logic/application_processes/init_globals.sql create mode 100644 views/logs_overview.sql diff --git a/apex/f770/application/pages/page_00901.sql b/apex/f770/application/pages/page_00901.sql index b5baae4..f6c4d26 100644 --- a/apex/f770/application/pages/page_00901.sql +++ b/apex/f770/application/pages/page_00901.sql @@ -21,8 +21,8 @@ wwv_flow_api.create_page( ,p_group_id=>wwv_flow_api.id(9240371448352386) ,p_page_template_options=>'#DEFAULT#' ,p_required_role=>wwv_flow_api.id(9556407311505078) -,p_last_updated_by=>'DEV_ID' -,p_last_upd_yyyymmddhh24miss=>'20211224211501' +,p_last_updated_by=>'DEV' +,p_last_upd_yyyymmddhh24miss=>'20211225124643' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(9262174270429022) @@ -33,7 +33,7 @@ wwv_flow_api.create_page_plug( ,p_include_in_reg_disp_sel_yn=>'Y' ,p_plug_display_point=>'BODY' ,p_query_type=>'TABLE' -,p_query_table=>'LOGS' +,p_query_table=>'LOGS_OVERVIEW' ,p_include_rowid_column=>false ,p_plug_source_type=>'NATIVE_IG' ,p_plug_query_options=>'DERIVED_REPORT_COLUMNS' @@ -123,23 +123,16 @@ wwv_flow_api.create_region_column( ,p_source_expression=>'APP_ID' ,p_data_type=>'NUMBER' ,p_is_query_only=>false -,p_item_type=>'NATIVE_NUMBER_FIELD' -,p_heading=>'App Id' -,p_heading_alignment=>'RIGHT' +,p_item_type=>'NATIVE_HIDDEN' ,p_display_sequence=>30 -,p_value_alignment=>'RIGHT' -,p_attribute_03=>'right' -,p_is_required=>true -,p_enable_filter=>true +,p_attribute_01=>'Y' ,p_filter_is_required=>false -,p_filter_lov_type=>'NONE' ,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_include_in_export=>false ); wwv_flow_api.create_region_column( p_id=>wwv_flow_api.id(10429351012245709) @@ -155,6 +148,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_PAGE_ID:&PAGE_ID.' +,p_link_text=>'&PAGE_ID.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -181,6 +176,8 @@ wwv_flow_api.create_region_column( ,p_attribute_05=>'BOTH' ,p_is_required=>false ,p_max_length=>30 +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_USER_ID:&USER_ID.' +,p_link_text=>'&USER_ID.' ,p_enable_filter=>true ,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false @@ -202,14 +199,15 @@ wwv_flow_api.create_region_column( ,p_source_expression=>'FLAG' ,p_data_type=>'VARCHAR2' ,p_is_query_only=>false -,p_item_type=>'NATIVE_TEXT_FIELD' +,p_item_type=>'NATIVE_DISPLAY_ONLY' ,p_heading=>'Flag' ,p_heading_alignment=>'CENTER' ,p_display_sequence=>60 ,p_value_alignment=>'CENTER' -,p_attribute_05=>'BOTH' -,p_is_required=>true -,p_max_length=>1 +,p_attribute_02=>'VALUE' +,p_attribute_05=>'PLAIN' +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_FLAG:&FLAG.' +,p_link_text=>'&FLAG.' ,p_enable_filter=>true ,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false @@ -410,6 +408,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_SESSION_ID:&SESSION_ID.' +,p_link_text=>'&SESSION_ID.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -482,6 +482,7 @@ wwv_flow_api.create_ig_report( ,p_static_id=>'104439' ,p_type=>'PRIMARY' ,p_default_view=>'GRID' +,p_rows_per_page=>100 ,p_show_row_number=>false ,p_settings_area_expanded=>true ); @@ -630,6 +631,144 @@ wwv_flow_api.create_page_plug( ,p_attribute_01=>'N' ,p_attribute_02=>'HTML' ); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10602598226436337) +,p_button_sequence=>70 +,p_button_plug_id=>wwv_flow_api.id(9263852973429039) +,p_button_name=>'TODAY_LEFT' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Previous Day' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::G_TODAY:&G_YESTERDAY.' +,p_icon_css_classes=>'fa-arrow-left' +,p_grid_new_row=>'N' +,p_grid_new_column=>'Y' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10602802694437928) +,p_button_sequence=>80 +,p_button_plug_id=>wwv_flow_api.id(9263852973429039) +,p_button_name=>'TODAY_RIGHT' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Next Day' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::G_TODAY:&G_TOMORROW.' +,p_icon_css_classes=>'fa-arrow-right' +,p_grid_new_row=>'N' +,p_grid_new_column=>'N' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10603120767438960) +,p_button_sequence=>90 +,p_button_plug_id=>wwv_flow_api.id(9263852973429039) +,p_button_name=>'TODAY_SET' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Set Current Date' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::G_TODAY:' +,p_icon_css_classes=>'fa-calendar-o' +,p_grid_new_row=>'N' +,p_grid_new_column=>'N' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10613038195500286) +,p_button_sequence=>10 +,p_button_plug_id=>wwv_flow_api.id(9263852973429039) +,p_button_name=>'REFRESH' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Refresh' +,p_button_position=>'RIGHT_OF_TITLE' +,p_button_redirect_url=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.:901:P901_TODAY:&P901_TODAY.' +,p_icon_css_classes=>'fa-refresh' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10578593460928812) +,p_name=>'P901_USER_ID' +,p_item_sequence=>40 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10578619006928813) +,p_name=>'P901_FLAG' +,p_item_sequence=>30 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10578734947928814) +,p_name=>'P901_LOG_ID' +,p_item_sequence=>10 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10578870285928815) +,p_name=>'P901_PAGE_ID' +,p_item_sequence=>20 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10578916820928816) +,p_name=>'P901_SESSION_ID' +,p_item_sequence=>50 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10602295032432920) +,p_name=>'P901_TODAY' +,p_item_sequence=>60 +,p_item_plug_id=>wwv_flow_api.id(9263852973429039) +,p_use_cache_before_default=>'NO' +,p_prompt=>'&G_TODAY_LABEL.' +,p_format_mask=>'YYYY-MM-DD' +,p_source=>'G_TODAY' +,p_source_type=>'ITEM' +,p_display_as=>'NATIVE_DATE_PICKER_JET' +,p_cSize=>30 +,p_colspan=>3 +,p_field_template=>wwv_flow_api.id(9142775823569991) +,p_item_template_options=>'#DEFAULT#' +,p_attribute_01=>'N' +,p_attribute_02=>'POPUP' +,p_attribute_03=>'NONE' +,p_attribute_06=>'NONE' +,p_attribute_09=>'N' +,p_attribute_11=>'Y' +); +wwv_flow_api.create_page_da_event( + p_id=>wwv_flow_api.id(10634979944820464) +,p_name=>'TODAY_CHANGED' +,p_event_sequence=>10 +,p_triggering_element_type=>'ITEM' +,p_triggering_element=>'P901_TODAY' +,p_bind_type=>'bind' +,p_bind_event_type=>'change' +); +wwv_flow_api.create_page_da_action( + p_id=>wwv_flow_api.id(10635393023820471) +,p_event_id=>wwv_flow_api.id(10634979944820464) +,p_event_result=>'TRUE' +,p_action_sequence=>10 +,p_execute_on_page_init=>'N' +,p_action=>'NATIVE_SUBMIT_PAGE' +,p_attribute_02=>'Y' +); wwv_flow_api.component_end; end; / diff --git a/apex/f770/application/pages/page_00902.sql b/apex/f770/application/pages/page_00902.sql index 9a9933a..c08980f 100644 --- a/apex/f770/application/pages/page_00902.sql +++ b/apex/f770/application/pages/page_00902.sql @@ -22,7 +22,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=>'20211224103042' +,p_last_upd_yyyymmddhh24miss=>'20211225123942' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(9264033779429041) @@ -85,7 +85,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'APP_ID' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_HIDDEN' ,p_display_sequence=>10 ,p_attribute_01=>'Y' @@ -93,7 +93,6 @@ wwv_flow_api.create_region_column( ,p_enable_sort_group=>true ,p_enable_control_break=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>false ); wwv_flow_api.create_region_column( @@ -102,7 +101,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'SESSION_ID' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_NUMBER_FIELD' ,p_heading=>'Session Id' ,p_heading_alignment=>'RIGHT' @@ -118,7 +117,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -127,7 +125,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'USER_ID' ,p_data_type=>'VARCHAR2' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_TEXT_FIELD' ,p_heading=>'User Id' ,p_heading_alignment=>'LEFT' @@ -136,6 +134,8 @@ wwv_flow_api.create_region_column( ,p_attribute_05=>'BOTH' ,p_is_required=>true ,p_max_length=>30 +,p_link_target=>'f?p=&APP_ID.:902:&SESSION.::&DEBUG.::P902_USER_ID:&USER_ID.' +,p_link_text=>'&USER_ID.' ,p_enable_filter=>true ,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false @@ -147,7 +147,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -156,7 +155,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'COUNT_REQUESTS' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_NUMBER_FIELD' ,p_heading=>'Requests' ,p_heading_alignment=>'RIGHT' @@ -164,6 +163,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_TODAY,P901_FLAG,P901_SESSION_ID:&P902_TODAY.,A,&SESSION_ID.' +,p_link_text=>'&COUNT_REQUESTS.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -172,7 +173,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -181,7 +181,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'COUNT_LOGS' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_NUMBER_FIELD' ,p_heading=>'Logs' ,p_heading_alignment=>'RIGHT' @@ -189,6 +189,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_TODAY,P901_FLAG,P901_SESSION_ID:&P902_TODAY.,,&SESSION_ID.' +,p_link_text=>'&COUNT_LOGS.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -197,7 +199,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -206,7 +207,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'COUNT_ERRORS' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_NUMBER_FIELD' ,p_heading=>'Errors' ,p_heading_alignment=>'RIGHT' @@ -214,6 +215,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:901:&SESSION.::&DEBUG.::P901_TODAY,P901_FLAG,P901_SESSION_ID:&P902_TODAY.,E,&SESSION_ID.' +,p_link_text=>'&COUNT_ERRORS.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -222,7 +225,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -231,7 +233,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'COUNT_BUSINESS' ,p_data_type=>'NUMBER' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_NUMBER_FIELD' ,p_heading=>'Business' ,p_heading_alignment=>'RIGHT' @@ -239,6 +241,8 @@ wwv_flow_api.create_region_column( ,p_value_alignment=>'RIGHT' ,p_attribute_03=>'right' ,p_is_required=>false +,p_link_target=>'f?p=&APP_ID.:921:&SESSION.::&DEBUG.::P921_TODAY:&P902_TODAY.' +,p_link_text=>'&COUNT_BUSINESS.' ,p_enable_filter=>true ,p_filter_is_required=>false ,p_filter_lov_type=>'NONE' @@ -247,7 +251,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -256,7 +259,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'CREATED_AT' ,p_data_type=>'DATE' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_DATE_PICKER_JET' ,p_heading=>'Created At' ,p_heading_alignment=>'CENTER' @@ -268,7 +271,7 @@ wwv_flow_api.create_region_column( ,p_attribute_06=>'NONE' ,p_attribute_09=>'N' ,p_attribute_11=>'Y' -,p_format_mask=>'YYYY-MM-DD HH24:MI' +,p_format_mask=>'HH24:MI:SS' ,p_is_required=>true ,p_enable_filter=>true ,p_filter_is_required=>false @@ -279,7 +282,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -288,7 +290,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'UPDATED_AT' ,p_data_type=>'DATE' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_DATE_PICKER_JET' ,p_heading=>'Updated At' ,p_heading_alignment=>'CENTER' @@ -300,7 +302,7 @@ wwv_flow_api.create_region_column( ,p_attribute_06=>'NONE' ,p_attribute_09=>'N' ,p_attribute_11=>'Y' -,p_format_mask=>'YYYY-MM-DD HH24:MI' +,p_format_mask=>'HH24:MI:SS' ,p_is_required=>true ,p_enable_filter=>true ,p_filter_is_required=>false @@ -311,7 +313,6 @@ wwv_flow_api.create_region_column( ,p_enable_control_break=>true ,p_enable_hide=>true ,p_is_primary_key=>false -,p_duplicate_value=>true ,p_include_in_export=>true ); wwv_flow_api.create_region_column( @@ -320,7 +321,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'DURATION' ,p_data_type=>'VARCHAR2' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_TEXT_FIELD' ,p_heading=>'Duration' ,p_heading_alignment=>'RIGHT' @@ -338,7 +339,6 @@ 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( @@ -347,7 +347,7 @@ wwv_flow_api.create_region_column( ,p_source_type=>'DB_COLUMN' ,p_source_expression=>'ACTION_DELETE' ,p_data_type=>'VARCHAR2' -,p_is_query_only=>false +,p_is_query_only=>true ,p_item_type=>'NATIVE_HTML_EXPRESSION' ,p_heading=>'Delete' ,p_heading_alignment=>'CENTER' @@ -359,7 +359,6 @@ 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 ,p_security_scheme=>wwv_flow_api.id(9556407311505078) ); @@ -517,6 +516,120 @@ wwv_flow_api.create_page_plug( ,p_attribute_01=>'N' ,p_attribute_02=>'HTML' ); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10577836810928805) +,p_button_sequence=>40 +,p_button_plug_id=>wwv_flow_api.id(9264033779429041) +,p_button_name=>'TODAY_LEFT' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Previous Day' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:902:&SESSION.::&DEBUG.::G_TODAY:&G_YESTERDAY.' +,p_icon_css_classes=>'fa-arrow-left' +,p_grid_new_row=>'N' +,p_grid_new_column=>'Y' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10577930254928806) +,p_button_sequence=>50 +,p_button_plug_id=>wwv_flow_api.id(9264033779429041) +,p_button_name=>'TODAY_RIGHT' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Next Day' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:902:&SESSION.::&DEBUG.::G_TODAY:&G_TOMORROW.' +,p_icon_css_classes=>'fa-arrow-right' +,p_grid_new_row=>'N' +,p_grid_new_column=>'N' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10578025030928807) +,p_button_sequence=>60 +,p_button_plug_id=>wwv_flow_api.id(9264033779429041) +,p_button_name=>'TODAY_SET' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Set Current Date' +,p_button_position=>'BODY' +,p_button_redirect_url=>'f?p=&APP_ID.:902:&SESSION.::&DEBUG.::G_TODAY:' +,p_icon_css_classes=>'fa-calendar-o' +,p_grid_new_row=>'N' +,p_grid_new_column=>'N' +); +wwv_flow_api.create_page_button( + p_id=>wwv_flow_api.id(10608096842466207) +,p_button_sequence=>10 +,p_button_plug_id=>wwv_flow_api.id(9264033779429041) +,p_button_name=>'REFRESH' +,p_button_action=>'REDIRECT_PAGE' +,p_button_template_options=>'#DEFAULT#' +,p_button_template_id=>wwv_flow_api.id(9144574670569995) +,p_button_image_alt=>'Refresh' +,p_button_position=>'RIGHT_OF_TITLE' +,p_button_redirect_url=>'f?p=&APP_ID.:902:&SESSION.::&DEBUG.:902::' +,p_icon_css_classes=>'fa-refresh' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10433199043245747) +,p_name=>'P902_TODAY' +,p_item_sequence=>30 +,p_item_plug_id=>wwv_flow_api.id(9264033779429041) +,p_use_cache_before_default=>'NO' +,p_prompt=>'&G_TODAY_LABEL.' +,p_format_mask=>'YYYY-MM-DD' +,p_source=>'G_TODAY' +,p_source_type=>'ITEM' +,p_display_as=>'NATIVE_DATE_PICKER_JET' +,p_cSize=>30 +,p_colspan=>3 +,p_field_template=>wwv_flow_api.id(9142775823569991) +,p_item_template_options=>'#DEFAULT#' +,p_attribute_01=>'N' +,p_attribute_02=>'POPUP' +,p_attribute_03=>'NONE' +,p_attribute_06=>'NONE' +,p_attribute_09=>'N' +,p_attribute_11=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10433209377245748) +,p_name=>'P902_USER_ID' +,p_item_sequence=>20 +,p_item_plug_id=>wwv_flow_api.id(9264033779429041) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_item( + p_id=>wwv_flow_api.id(10433366419245749) +,p_name=>'P902_SESSION_ID' +,p_item_sequence=>10 +,p_item_plug_id=>wwv_flow_api.id(9264033779429041) +,p_display_as=>'NATIVE_HIDDEN' +,p_attribute_01=>'Y' +); +wwv_flow_api.create_page_da_event( + p_id=>wwv_flow_api.id(10577425814928801) +,p_name=>'TODAY_CHANGED' +,p_event_sequence=>10 +,p_triggering_element_type=>'ITEM' +,p_triggering_element=>'P902_TODAY' +,p_bind_type=>'bind' +,p_bind_event_type=>'change' +); +wwv_flow_api.create_page_da_action( + p_id=>wwv_flow_api.id(10577531754928802) +,p_event_id=>wwv_flow_api.id(10577425814928801) +,p_event_result=>'TRUE' +,p_action_sequence=>10 +,p_execute_on_page_init=>'N' +,p_action=>'NATIVE_SUBMIT_PAGE' +,p_attribute_02=>'Y' +); wwv_flow_api.component_end; end; / diff --git a/apex/f770/application/shared_components/files/app_css.sql b/apex/f770/application/shared_components/files/app_css.sql index 96d36f9..988edb1 100644 --- a/apex/f770/application/shared_components/files/app_css.sql +++ b/apex/f770/application/shared_components/files/app_css.sql @@ -28,10 +28,12 @@ wwv_flow_api.g_varchar2_table(13) := '62656C3A686F7665722C0A202E612D4952522D636F wwv_flow_api.g_varchar2_table(14) := '637465643A686F7665722C0A20756C2E612D49472D7265706F727453756D6D617279207370616E2E612D49472D7265706F727453756D6D6172792D69636F6E3A686F766572207B0A20202020202D2D612D636865636B626F782D6261636B67726F756E64'; wwv_flow_api.g_varchar2_table(15) := '2D636F6C6F723A202020202020233565353735302021696D706F7274616E743B0A20202020202D2D612D636865636B626F782D746578742D636F6C6F723A202020202020202020202020236666662020202021696D706F7274616E743B0A207D0A0A0A0A'; wwv_flow_api.g_varchar2_table(16) := '202F2A2A0A202A204649582048454144455220494E204845524F20524547494F4E0A202A2F0A2E742D4865726F526567696F6E2D77726170207B0A2020202070616464696E672D746F703A2020202020202020202020203272656D3B0A7D0A2E742D4865'; -wwv_flow_api.g_varchar2_table(17) := '726F526567696F6E2D7469746C65207B0A202020206C696E652D6865696768743A202020202020202020202020323B0A7D0A2E742D4865726F526567696F6E2D7469746C6520627574746F6E207B0A20202020706F736974696F6E3A2020202020202020'; -wwv_flow_api.g_varchar2_table(18) := '2020202020202072656C61746976653B0A20202020746F703A20202020202020202020202020202020202020202D302E3372656D3B0A202020206D617267696E2D6C6566743A2020202020202020202020203272656D3B0A7D0A2E742D4865726F526567'; -wwv_flow_api.g_varchar2_table(19) := '696F6E2D69636F6E207B0A202020206261636B67726F756E643A20202020202020202020202020233565353735303B0A7D0A0A0A0A2F2A2A0A202A2046495820434F4E54524F4C20425245414B2046494C544552204241434B47524F554E440A202A2F0A'; -wwv_flow_api.g_varchar2_table(20) := '202E69636F6E2D69672D636F6E74726F6C2D627265616B2C202E612D49472D7265706F727453756D6D6172792D69636F6E207B0A202020206261636B67726F756E643A20202020202020202020202020233741373336333B0A7D0A0A'; +wwv_flow_api.g_varchar2_table(17) := '726F526567696F6E2D77726170202E742D4865726F526567696F6E2D7469746C65207B0A202020206C696E652D6865696768743A202020202020202020202020323B0A7D0A2E742D4865726F526567696F6E2D77726170202E742D4865726F526567696F'; +wwv_flow_api.g_varchar2_table(18) := '6E2D7469746C6520627574746F6E207B0A20202020706F736974696F6E3A20202020202020202020202020202072656C61746976653B0A20202020746F703A20202020202020202020202020202020202020202D302E3372656D3B0A202020206D617267'; +wwv_flow_api.g_varchar2_table(19) := '696E2D6C6566743A2020202020202020202020203272656D3B0A7D0A2E742D4865726F526567696F6E2D77726170202E742D4865726F526567696F6E2D69636F6E207B0A202020206261636B67726F756E643A2020202020202020202020202023356535'; +wwv_flow_api.g_varchar2_table(20) := '3735303B0A7D0A2E742D4865726F526567696F6E2D77726170206469762E636F6E7461696E6572206469762E726F7720627574746F6E207B0A202020206D617267696E2D746F703A20202020202020202020202020312E3472656D3B0A7D0A0A0A0A2F2A'; +wwv_flow_api.g_varchar2_table(21) := '2A0A202A2046495820434F4E54524F4C20425245414B2046494C544552204241434B47524F554E440A202A2F0A202E69636F6E2D69672D636F6E74726F6C2D627265616B2C202E612D49472D7265706F727453756D6D6172792D69636F6E207B0A202020'; +wwv_flow_api.g_varchar2_table(22) := '206261636B67726F756E643A20202020202020202020202020233741373336333B0A7D0A0A'; wwv_flow_api.create_app_static_file( p_id=>wwv_flow_api.id(9704370784136379) ,p_file_name=>'app.css' diff --git a/apex/f770/application/shared_components/logic/application_items/g_today_label.sql b/apex/f770/application/shared_components/logic/application_items/g_today_label.sql new file mode 100644 index 0000000..dd197e5 --- /dev/null +++ b/apex/f770/application/shared_components/logic/application_items/g_today_label.sql @@ -0,0 +1,22 @@ +prompt --application/shared_components/logic/application_items/g_today_label +begin +-- Manifest +-- APPLICATION ITEM: G_TODAY_LABEL +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.6' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_flow_item( + p_id=>wwv_flow_api.id(10619248707049842) +,p_name=>'G_TODAY_LABEL' +,p_scope=>'GLOBAL' +,p_protection_level=>'I' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/application/shared_components/logic/application_items/g_tomorrow.sql b/apex/f770/application/shared_components/logic/application_items/g_tomorrow.sql new file mode 100644 index 0000000..67e4308 --- /dev/null +++ b/apex/f770/application/shared_components/logic/application_items/g_tomorrow.sql @@ -0,0 +1,22 @@ +prompt --application/shared_components/logic/application_items/g_tomorrow +begin +-- Manifest +-- APPLICATION ITEM: G_TOMORROW +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.6' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_flow_item( + p_id=>wwv_flow_api.id(10619471263051799) +,p_name=>'G_TOMORROW' +,p_scope=>'GLOBAL' +,p_protection_level=>'I' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/application/shared_components/logic/application_items/g_yesterday.sql b/apex/f770/application/shared_components/logic/application_items/g_yesterday.sql new file mode 100644 index 0000000..fe253d3 --- /dev/null +++ b/apex/f770/application/shared_components/logic/application_items/g_yesterday.sql @@ -0,0 +1,22 @@ +prompt --application/shared_components/logic/application_items/g_yesterday +begin +-- Manifest +-- APPLICATION ITEM: G_YESTERDAY +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.6' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_flow_item( + p_id=>wwv_flow_api.id(10619684330052948) +,p_name=>'G_YESTERDAY' +,p_scope=>'GLOBAL' +,p_protection_level=>'I' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/application/shared_components/logic/application_processes/init_globals.sql b/apex/f770/application/shared_components/logic/application_processes/init_globals.sql new file mode 100644 index 0000000..04d5455 --- /dev/null +++ b/apex/f770/application/shared_components/logic/application_processes/init_globals.sql @@ -0,0 +1,38 @@ +prompt --application/shared_components/logic/application_processes/init_globals +begin +-- Manifest +-- APPLICATION PROCESS: INIT_GLOBALS +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.6' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_flow_process( + p_id=>wwv_flow_api.id(10627210683574012) +,p_process_sequence=>10 +,p_process_point=>'BEFORE_HEADER' +,p_process_type=>'NATIVE_PLSQL' +,p_process_name=>'INIT_GLOBALS' +,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2( +'DECLARE', +' v_date DATE;', +'BEGIN', +' v_date := COALESCE(app.get_date_item(''$TODAY''), app.get_date_item(''G_TODAY''), TRUNC(SYSDATE));', +' --', +' app.set_item(''G_TODAY'', app.get_date(v_date));', +' app.set_item(''G_TODAY_LABEL'', ''Filter Date ('' || INITCAP(RTRIM(TO_CHAR(v_date, ''DAY''))) || '')'');', +' app.set_item(''G_YESTERDAY'', app.get_date(v_date - 1));', +' app.set_item(''G_TOMORROW'', app.get_date(v_date + 1));', +' --', +' app.set_item(''$TODAY'');', +'END;')) +,p_process_clob_language=>'PLSQL' +,p_security_scheme=>'MUST_NOT_BE_PUBLIC_USER' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/install.sql b/apex/f770/install.sql index a2e8c33..92a45f1 100644 --- a/apex/f770/install.sql +++ b/apex/f770/install.sql @@ -17,7 +17,11 @@ prompt --install @@application/shared_components/security/authorizations/is_administrator.sql @@application/shared_components/security/authorizations/is_active_user.sql @@application/shared_components/navigation/navigation_bar.sql +@@application/shared_components/logic/application_processes/init_globals.sql @@application/shared_components/logic/application_items/g_today.sql +@@application/shared_components/logic/application_items/g_today_label.sql +@@application/shared_components/logic/application_items/g_tomorrow.sql +@@application/shared_components/logic/application_items/g_yesterday.sql @@application/shared_components/logic/application_settings.sql @@application/shared_components/navigation/tabs/standard.sql @@application/shared_components/navigation/tabs/parent.sql diff --git a/views/logs_overview.sql b/views/logs_overview.sql new file mode 100644 index 0000000..2839a39 --- /dev/null +++ b/views/logs_overview.sql @@ -0,0 +1,37 @@ +CREATE OR REPLACE VIEW logs_overview AS +WITH x AS ( + SELECT + app.get_item('$FLAG') AS flag, + app.get_item('$PAGE_ID') AS page_id, + app.get_item('$USER_ID') AS user_id, + app.get_item('$SESSION_ID') AS session_id, + TRUNC(app.get_date_item('$TODAY')) AS today + FROM sessions s + WHERE s.app_id = app.get_app_id() + AND s.session_id = app.get_item('$SESSION_ID') + +) +SELECT + l.log_id, + l.log_parent, + l.app_id, + l.page_id, + l.user_id, + l.flag, + l.action_name, + l.module_name, + l.module_line, + l.module_time, + l.arguments, + l.payload, + l.session_id, + l.created_at +FROM logs l +JOIN x + ON l.created_at >= x.today + AND l.created_at < x.today + 1 + AND l.flag = NVL(x.flag, l.flag) + AND l.page_id = NVL(x.page_id, l.page_id) + AND l.user_id = NVL(x.user_id, l.user_id) + AND l.session_id = NVL(x.session_id, l.session_id); +