Add master language setting to new repo popups (#3409)

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Frederik Hudák 2020-05-26 06:29:31 +02:00 committed by GitHub
parent caf7c92eaf
commit 657405433d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 95 additions and 62 deletions

View File

@ -79,7 +79,8 @@ CLASS zcl_abapgit_popups DEFINITION
ev_branch TYPE textl-line
ev_display_name TYPE trm255-text
ev_folder_logic TYPE string
ev_ign_subpkg TYPE abap_bool.
ev_ign_subpkg TYPE abap_bool
ev_master_lang_only TYPE abap_bool.
TYPES:
ty_lt_fields TYPE STANDARD TABLE OF sval WITH DEFAULT KEY.
METHODS _popup_3_get_values
@ -200,6 +201,10 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ev_ign_subpkg = <ls_field>-value.
TRANSLATE ev_ign_subpkg TO UPPER CASE.
READ TABLE it_fields INDEX 7 ASSIGNING <ls_field>.
ASSERT sy-subrc = 0.
ev_master_lang_only = <ls_field>-value.
ENDMETHOD.
@ -1037,6 +1042,12 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-prefix
CHANGING ct_fields = lt_fields ).
add_field( EXPORTING iv_tabname = 'DOKIL'
iv_fieldname = 'MASTERLANG'
iv_fieldtext = 'Master language only'
iv_value = abap_true
CHANGING ct_fields = lt_fields ).
WHILE lv_finished = abap_false.
lv_icon_ok = icon_okay.
@ -1084,6 +1095,10 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
TRANSLATE <ls_field>-value TO UPPER CASE.
rs_popup-folder_logic = <ls_field>-value.
READ TABLE lt_fields INDEX 4 ASSIGNING <ls_field>.
ASSERT sy-subrc = 0.
rs_popup-master_lang_only = <ls_field>-value.
lv_finished = abap_true.
TRY.
@ -1118,6 +1133,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
lv_folder_logic TYPE string,
lv_ign_subpkg TYPE abap_bool,
lv_finished TYPE abap_bool,
lv_master_lang_only TYPE abap_bool,
lx_error TYPE REF TO zcx_abapgit_exception.
IF iv_freeze_url = abap_true.
@ -1182,6 +1198,12 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
iv_value = abap_false
CHANGING ct_fields = lt_fields ).
add_field( EXPORTING iv_tabname = 'DOKIL'
iv_fieldname = 'MASTERLANG'
iv_fieldtext = 'Master language only'
iv_value = abap_true
CHANGING ct_fields = lt_fields ).
lv_icon_ok = icon_okay.
lv_icon_br = icon_workflow_fork.
@ -1222,7 +1244,8 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ev_branch = lv_branch
ev_display_name = lv_display_name
ev_folder_logic = lv_folder_logic
ev_ign_subpkg = lv_ign_subpkg ).
ev_ign_subpkg = lv_ign_subpkg
ev_master_lang_only = lv_master_lang_only ).
lv_finished = abap_true.
@ -1247,6 +1270,7 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
rs_popup-display_name = lv_display_name.
rs_popup-folder_logic = lv_folder_logic.
rs_popup-ign_subpkg = lv_ign_subpkg.
rs_popup-master_lang_only = lv_master_lang_only.
ENDMETHOD.

View File

@ -145,7 +145,9 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_offline(
iv_url = ls_popup-url
iv_package = ls_popup-package
iv_folder_logic = ls_popup-folder_logic ).
iv_folder_logic = ls_popup-folder_logic
iv_master_lang_only = ls_popup-master_lang_only ).
lo_repo->rebuild_local_checksums( ).
zcl_abapgit_persistence_user=>get_instance( )->set_repo_show( lo_repo->get_key( ) ). " Set default repo for user
@ -171,7 +173,8 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
iv_package = ls_popup-package
iv_display_name = ls_popup-display_name
iv_folder_logic = ls_popup-folder_logic
iv_ign_subpkg = ls_popup-ign_subpkg ).
iv_ign_subpkg = ls_popup-ign_subpkg
iv_master_lang_only = ls_popup-master_lang_only ).
toggle_favorite( ro_repo->get_key( ) ).

View File

@ -10,6 +10,7 @@ INTERFACE zif_abapgit_popups
display_name TYPE string,
folder_logic TYPE string,
ign_subpkg TYPE abap_bool,
master_lang_only TYPE abap_bool,
cancel TYPE abap_bool,
END OF ty_popup .

View File

@ -330,6 +330,9 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
ro_repo ?= instantiate_and_add( ls_repo ).
ls_repo-local_settings-serialize_master_lang_only = iv_master_lang_only.
ro_repo->set_local_settings( ls_repo-local_settings ).
ENDMETHOD.
@ -369,13 +372,13 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
zcx_abapgit_exception=>raise( 'new_online not found' ).
ENDTRY.
ro_repo ?= instantiate_and_add( ls_repo ).
IF ls_repo-local_settings-ignore_subpackages <> iv_ign_subpkg.
ls_repo-local_settings-ignore_subpackages = iv_ign_subpkg.
ro_repo->set_local_settings( ls_repo-local_settings ).
ENDIF.
ls_repo-local_settings-serialize_master_lang_only = iv_master_lang_only.
ro_repo->set_local_settings( ls_repo-local_settings ).
ro_repo->refresh( ).
ro_repo->find_remote_dot_abapgit( ).

View File

@ -31,7 +31,8 @@ INTERFACE zif_abapgit_repo_srv
IMPORTING
!iv_url TYPE string
!iv_package TYPE devclass
iv_folder_logic TYPE string DEFAULT zif_abapgit_dot_abapgit=>c_folder_logic-full
!iv_folder_logic TYPE string DEFAULT zif_abapgit_dot_abapgit=>c_folder_logic-full
!iv_master_lang_only TYPE abap_bool DEFAULT abap_false
RETURNING
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_offline
RAISING
@ -44,6 +45,7 @@ INTERFACE zif_abapgit_repo_srv
!iv_package TYPE devclass
!iv_folder_logic TYPE string DEFAULT 'PREFIX'
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
!iv_master_lang_only TYPE abap_bool DEFAULT abap_false
RETURNING
VALUE(ro_repo) TYPE REF TO zcl_abapgit_repo_online
RAISING