CLASS zcl_abapgit_gui_page_repo_sett DEFINITION
PUBLIC
INHERITING FROM zcl_abapgit_gui_page
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES zif_abapgit_gui_page_hotkey .
METHODS constructor
IMPORTING
!io_repo TYPE REF TO zcl_abapgit_repo .
METHODS zif_abapgit_gui_event_handler~on_event
REDEFINITION .
PROTECTED SECTION.
CONSTANTS:
BEGIN OF c_action,
save_settings TYPE string VALUE 'save_settings',
END OF c_action .
DATA mo_repo TYPE REF TO zcl_abapgit_repo.
METHODS render_dot_abapgit
IMPORTING
!io_html TYPE REF TO zcl_abapgit_html .
METHODS render_local_settings
IMPORTING
!io_html TYPE REF TO zcl_abapgit_html
RAISING
zcx_abapgit_exception .
METHODS save
IMPORTING
!it_postdata TYPE cnht_post_data_tab
RAISING
zcx_abapgit_exception .
METHODS save_dot_abap
IMPORTING
!it_post_fields TYPE tihttpnvp
RAISING
zcx_abapgit_exception .
METHODS save_local_settings
IMPORTING
!it_post_fields TYPE tihttpnvp
RAISING
zcx_abapgit_exception .
METHODS parse_post
IMPORTING
!it_postdata TYPE cnht_post_data_tab
RETURNING
VALUE(rt_post_fields) TYPE tihttpnvp .
METHODS render_content
REDEFINITION .
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
METHOD constructor.
super->constructor( ).
ms_control-page_title = 'REPO SETTINGS'.
mo_repo = io_repo.
ENDMETHOD.
METHOD parse_post.
DATA lv_serialized_post_data TYPE string.
CONCATENATE LINES OF it_postdata INTO lv_serialized_post_data.
rt_post_fields = zcl_abapgit_html_action_utils=>parse_fields( lv_serialized_post_data ).
ENDMETHOD.
METHOD render_content.
CREATE OBJECT ro_html.
ro_html->add( '
' ).
ro_html->add( '' ).
ro_html->add( '
' ).
ENDMETHOD.
METHOD render_dot_abapgit.
CONSTANTS: lc_requirement_edit_count TYPE i VALUE 5.
DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit,
lv_selected TYPE string,
lt_folder_logic TYPE string_table,
lv_req_index TYPE i,
lv_requirement_count TYPE i.
FIELD-SYMBOLS: TYPE LINE OF string_table,
TYPE zif_abapgit_dot_abapgit=>ty_requirement.
ls_dot = mo_repo->get_dot_abapgit( )->get_data( ).
lv_requirement_count = lines( ls_dot-requirements ).
IF lv_requirement_count < lc_requirement_edit_count.
DO - lv_requirement_count + lc_requirement_edit_count TIMES.
INSERT INITIAL LINE INTO TABLE ls_dot-requirements.
ENDDO.
ENDIF.
INSERT zif_abapgit_dot_abapgit=>c_folder_logic-full
INTO TABLE lt_folder_logic.
INSERT zif_abapgit_dot_abapgit=>c_folder_logic-prefix
INTO TABLE lt_folder_logic.
io_html->add( '