Add master language and ignore files to repo settings (#3415)

Closes https://github.com/larshp/abapGit/issues/3413

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2020-06-03 09:17:57 +02:00 committed by GitHub
parent 87241e9f07
commit 40b45f6221
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -111,9 +111,12 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit, DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit,
lv_select_html TYPE string, lv_select_html TYPE string,
lv_selected TYPE string, lv_selected TYPE string,
lv_language TYPE t002t-sptxt,
lv_ignore TYPE string,
lt_folder_logic TYPE string_table. lt_folder_logic TYPE string_table.
FIELD-SYMBOLS: <lv_folder_logic> TYPE LINE OF string_table. FIELD-SYMBOLS: <lv_folder_logic> TYPE LINE OF string_table,
<lv_ignore> TYPE string.
ls_dot = mo_repo->get_dot_abapgit( )->get_data( ). ls_dot = mo_repo->get_dot_abapgit( )->get_data( ).
@ -123,6 +126,17 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
io_html->add( '<h2>.abapgit.xml</h2>' ). io_html->add( '<h2>.abapgit.xml</h2>' ).
io_html->add( '<table class="settings">' ). io_html->add( '<table class="settings">' ).
SELECT SINGLE sptxt INTO lv_language FROM t002t
WHERE spras = sy-langu AND sprsl = ls_dot-master_language.
IF sy-subrc <> 0.
lv_language = 'Unknown language. Check your settings.'.
ENDIF.
io_html->add( render_table_row(
iv_name = 'Master language'
iv_value = |{ ls_dot-master_language } ({ lv_language })|
) ).
lv_select_html = '<select name="folder_logic">'. lv_select_html = '<select name="folder_logic">'.
LOOP AT lt_folder_logic ASSIGNING <lv_folder_logic>. LOOP AT lt_folder_logic ASSIGNING <lv_folder_logic>.
@ -148,12 +162,23 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
iv_value = |<input name="starting_folder" type="text" size="10" value="{ ls_dot-starting_folder }">| iv_value = |<input name="starting_folder" type="text" size="10" value="{ ls_dot-starting_folder }">|
) ). ) ).
LOOP AT ls_dot-ignore ASSIGNING <lv_ignore>.
lv_ignore = lv_ignore && <lv_ignore> && zif_abapgit_definitions=>c_newline.
ENDLOOP.
io_html->add( render_table_row(
iv_name = 'Ignore files'
iv_value = |<textarea name="ignore_files" rows="{ lines( ls_dot-ignore )
}" cols="50">{ lv_ignore }</textarea>|
) ).
io_html->add( '</table>' ). io_html->add( '</table>' ).
render_dot_abapgit_reqs( render_dot_abapgit_reqs(
it_requirements = ls_dot-requirements it_requirements = ls_dot-requirements
io_html = io_html ). io_html = io_html ).
ENDMETHOD. ENDMETHOD.
@ -299,9 +324,10 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
DATA: lo_dot TYPE REF TO zcl_abapgit_dot_abapgit, DATA: lo_dot TYPE REF TO zcl_abapgit_dot_abapgit,
ls_post_field LIKE LINE OF it_post_fields, ls_post_field LIKE LINE OF it_post_fields,
lv_ignore TYPE string,
lt_ignore TYPE STANDARD TABLE OF string WITH DEFAULT KEY,
lo_requirements TYPE REF TO lcl_requirements. lo_requirements TYPE REF TO lcl_requirements.
lo_dot = mo_repo->get_dot_abapgit( ). lo_dot = mo_repo->get_dot_abapgit( ).
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'folder_logic'. READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'folder_logic'.
@ -312,6 +338,20 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_SETT IMPLEMENTATION.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
lo_dot->set_starting_folder( ls_post_field-value ). lo_dot->set_starting_folder( ls_post_field-value ).
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'ignore_files'.
ASSERT sy-subrc = 0.
SPLIT ls_post_field-value AT zif_abapgit_definitions=>c_newline INTO TABLE lt_ignore.
DELETE lt_ignore WHERE table_line IS INITIAL.
" Remove everything
LOOP AT lo_dot->get_data( )-ignore INTO lv_ignore.
lo_dot->remove_ignore( iv_path = '' iv_filename = lv_ignore ).
ENDLOOP.
" Add newly entered files
LOOP AT lt_ignore INTO lv_ignore.
lo_dot->add_ignore( iv_path = '' iv_filename = lv_ignore ).
ENDLOOP.
lo_requirements = lcl_requirements=>new( ). lo_requirements = lcl_requirements=>new( ).
LOOP AT it_post_fields INTO ls_post_field WHERE name CP 'req_*'. LOOP AT it_post_fields INTO ls_post_field WHERE name CP 'req_*'.
CASE ls_post_field-name+4(3). CASE ls_post_field-name+4(3).