diff --git a/src/objects/core/zabapgit_parallel.fugr.z_abapgit_serialize_parallel.abap b/src/objects/core/zabapgit_parallel.fugr.z_abapgit_serialize_parallel.abap index 9b0668aab..5c3608947 100644 --- a/src/objects/core/zabapgit_parallel.fugr.z_abapgit_serialize_parallel.abap +++ b/src/objects/core/zabapgit_parallel.fugr.z_abapgit_serialize_parallel.abap @@ -28,6 +28,7 @@ FUNCTION z_abapgit_serialize_parallel. ls_item-obj_name = iv_obj_name. ls_item-devclass = iv_devclass. ls_item-srcsystem = iv_srcsystem. + ls_item-origlang = iv_language. ls_files = zcl_abapgit_objects=>serialize( is_item = ls_item diff --git a/src/objects/core/zcl_abapgit_serialize.clas.abap b/src/objects/core/zcl_abapgit_serialize.clas.abap index 8f3892ca6..31a795e52 100644 --- a/src/objects/core/zcl_abapgit_serialize.clas.abap +++ b/src/objects/core/zcl_abapgit_serialize.clas.abap @@ -608,6 +608,7 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION. ls_file_item-item-obj_name = is_tadir-obj_name. ls_file_item-item-devclass = is_tadir-devclass. ls_file_item-item-srcsystem = is_tadir-srcsystem. + ls_file_item-item-origlang = is_tadir-masterlang. TRY. ls_file_item = zcl_abapgit_objects=>serialize( diff --git a/src/objects/core/zcl_abapgit_serialize.clas.testclasses.abap b/src/objects/core/zcl_abapgit_serialize.clas.testclasses.abap index f5d911850..b79c4c6dd 100644 --- a/src/objects/core/zcl_abapgit_serialize.clas.testclasses.abap +++ b/src/objects/core/zcl_abapgit_serialize.clas.testclasses.abap @@ -96,6 +96,7 @@ CLASS ltcl_serialize IMPLEMENTATION. -obj_name = 'RSABAPPROGRAM'. -devclass = 'PACKAGE'. -path = 'foobar'. + -masterlang = sy-langu. lt_sequential = mo_cut->serialize( it_tadir = lt_tadir diff --git a/src/objects/core/zcl_abapgit_tadir.clas.abap b/src/objects/core/zcl_abapgit_tadir.clas.abap index 92cfc5130..3be23b9d5 100644 --- a/src/objects/core/zcl_abapgit_tadir.clas.abap +++ b/src/objects/core/zcl_abapgit_tadir.clas.abap @@ -91,11 +91,12 @@ CLASS zcl_abapgit_tadir IMPLEMENTATION. " Local packages are not in TADIR, only in TDEVC, act as if they were IF CP '$*'. " OR CP 'T*' ). APPEND INITIAL LINE TO ct_tadir ASSIGNING . - -pgmid = 'R3TR'. - -object = 'DEVC'. - -obj_name = . - -devclass = . - -srcsystem = sy-sysid. + -pgmid = 'R3TR'. + -object = 'DEVC'. + -obj_name = . + -devclass = . + -srcsystem = sy-sysid. + -masterlang = sy-langu. ENDIF. ENDLOOP. @@ -128,11 +129,12 @@ CLASS zcl_abapgit_tadir IMPLEMENTATION. WITH KEY pgmid = 'R3TR' object = 'NSPC' obj_name = lv_namespace. IF sy-subrc <> 0. APPEND INITIAL LINE TO ct_tadir ASSIGNING . - -pgmid = 'R3TR'. - -object = 'NSPC'. - -obj_name = lv_namespace. - -devclass = iv_package. - -srcsystem = sy-sysid. + -pgmid = 'R3TR'. + -object = 'NSPC'. + -obj_name = lv_namespace. + -devclass = iv_package. + -srcsystem = sy-sysid. + -masterlang = sy-langu. ENDIF. ENDIF. @@ -367,13 +369,14 @@ CLASS zcl_abapgit_tadir IMPLEMENTATION. iv_object = iv_object iv_obj_name = iv_obj_name ). - IF ls_tadir-delflag = 'X'. + IF ls_tadir-delflag = abap_true. RETURN. "Mark for deletion -> return nothing ENDIF. ls_item-obj_type = ls_tadir-object. ls_item-obj_name = ls_tadir-obj_name. ls_item-devclass = ls_tadir-devclass. + IF zcl_abapgit_objects=>exists( ls_item ) = abap_false. RETURN. ENDIF. diff --git a/src/repo/zcl_abapgit_file_status.clas.abap b/src/repo/zcl_abapgit_file_status.clas.abap index 8b38906f9..eec7b3444 100644 --- a/src/repo/zcl_abapgit_file_status.clas.abap +++ b/src/repo/zcl_abapgit_file_status.clas.abap @@ -118,6 +118,7 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. rs_result-obj_name = is_local-item-obj_name. rs_result-package = is_local-item-devclass. rs_result-srcsystem = is_local-item-srcsystem. + rs_result-origlang = is_local-item-origlang. rs_result-inactive = is_local-item-inactive. " File @@ -162,6 +163,7 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. rs_result-obj_name = is_local-item-obj_name. rs_result-package = is_local-item-devclass. rs_result-srcsystem = is_local-item-srcsystem. + rs_result-origlang = is_local-item-origlang. rs_result-inactive = is_local-item-inactive. " File @@ -208,6 +210,7 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. rs_result-obj_name = ls_item-obj_name. rs_result-package = ls_item-devclass. rs_result-srcsystem = sy-sysid. + rs_result-origlang = sy-langu. READ TABLE it_state_idx INTO ls_file_sig WITH KEY diff --git a/src/ui/pages/zcl_abapgit_gui_page_repo_view.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_repo_view.clas.abap index 01144ef81..582498512 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_repo_view.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_repo_view.clas.abap @@ -121,6 +121,11 @@ CLASS zcl_abapgit_gui_page_repo_view DEFINITION !is_item TYPE zif_abapgit_definitions=>ty_repo_item RETURNING VALUE(rv_srcsystem_html_code) TYPE string . + METHODS build_origlang_code + IMPORTING + !is_item TYPE zif_abapgit_definitions=>ty_repo_item + RETURNING + VALUE(rv_html_code) TYPE string . METHODS open_in_main_language RAISING zcx_abapgit_exception . @@ -481,6 +486,18 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ENDMETHOD. + METHOD build_origlang_code. + + IF is_item-origlang IS NOT INITIAL AND is_item-origlang <> mo_repo->get_dot_abapgit( )->get_main_language( ). + rv_html_code = zcl_abapgit_html=>icon( + iv_name = 'language-solid/grey' + iv_hint = |Original language: { is_item-origlang }| + iv_class = 'cursor-pointer' ). + ENDIF. + + ENDMETHOD. + + METHOD build_srcsystem_code. IF is_item-srcsystem IS NOT INITIAL AND is_item-srcsystem <> sy-sysid. @@ -792,7 +809,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. lv_link = zcl_abapgit_gui_chunk_lib=>get_item_link( is_item ). ri_html->add( |{ is_item-obj_type }| ). ri_html->add( |{ lv_link } { build_inactive_object_code( is_item ) - } { build_srcsystem_code( is_item ) }| ). + } { build_srcsystem_code( is_item ) } { build_origlang_code( is_item ) }| ). ENDIF. ENDIF. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index b99d40c2b..9470fabba 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -14,6 +14,7 @@ INTERFACE zif_abapgit_definitions INCLUDE TYPE ty_item_signature. TYPES: srcsystem TYPE tadir-srcsystem, + origlang TYPE tadir-masterlang, inactive TYPE abap_bool, END OF ty_item . TYPES: @@ -110,15 +111,16 @@ INTERFACE zif_abapgit_definitions WITH NON-UNIQUE SORTED KEY type COMPONENTS type sha1 . TYPES: BEGIN OF ty_tadir, - pgmid TYPE tadir-pgmid, - object TYPE tadir-object, - obj_name TYPE tadir-obj_name, - devclass TYPE tadir-devclass, - korrnum TYPE tadir-korrnum, " used by ZCL_ABAPGIT_DEPENDENCIES->RESOLVE - delflag TYPE tadir-delflag, - genflag TYPE tadir-genflag, - path TYPE string, - srcsystem TYPE tadir-srcsystem, + pgmid TYPE tadir-pgmid, + object TYPE tadir-object, + obj_name TYPE tadir-obj_name, + devclass TYPE tadir-devclass, + korrnum TYPE tadir-korrnum, " used by ZCL_ABAPGIT_DEPENDENCIES->RESOLVE + delflag TYPE tadir-delflag, + genflag TYPE tadir-genflag, + path TYPE string, + srcsystem TYPE tadir-srcsystem, + masterlang TYPE tadir-masterlang, END OF ty_tadir . TYPES: ty_tadir_tt TYPE STANDARD TABLE OF ty_tadir WITH DEFAULT KEY . @@ -135,6 +137,7 @@ INTERFACE zif_abapgit_definitions rstate TYPE zif_abapgit_git_definitions=>ty_item_state, packmove TYPE abap_bool, srcsystem TYPE tadir-srcsystem, + origlang TYPE tadir-masterlang, END OF ty_result . TYPES: ty_results_tt TYPE STANDARD TABLE OF ty_result WITH DEFAULT KEY . @@ -245,6 +248,7 @@ INTERFACE zif_abapgit_definitions transport TYPE trkorr, packmove TYPE abap_bool, srcsystem TYPE tadir-srcsystem, + origlang TYPE tadir-masterlang, END OF ty_repo_item . TYPES: ty_repo_item_tt TYPE STANDARD TABLE OF ty_repo_item WITH DEFAULT KEY .