From 7e73947510e052655a33e02a9ed45025f6f6b51f Mon Sep 17 00:00:00 2001 From: eduardocopat Date: Mon, 6 Feb 2017 16:50:35 +0100 Subject: [PATCH] Add "last changed by" user to Stage page --- src/zabapgit_page_stage.prog.abap | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/zabapgit_page_stage.prog.abap b/src/zabapgit_page_stage.prog.abap index 9de53d4d6..20a0a2d9d 100644 --- a/src/zabapgit_page_stage.prog.abap +++ b/src/zabapgit_page_stage.prog.abap @@ -35,7 +35,10 @@ CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page. iv_context TYPE string RETURNING VALUE(ro_html) TYPE REF TO lcl_html, render_menu - RETURNING VALUE(ro_html) TYPE REF TO lcl_html. + RETURNING VALUE(ro_html) TYPE REF TO lcl_html, + read_last_changed_by + IMPORTING is_file TYPE ty_file + RETURNING VALUE(rv_user) TYPE xubname. METHODS process_stage_list IMPORTING it_postdata TYPE cnht_post_data_tab @@ -66,7 +69,6 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. FIELD-SYMBOLS: LIKE LINE OF ms_files-local. - CASE iv_action. WHEN c_action-stage_all. mo_stage->reset_all( ). @@ -112,7 +114,6 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. lcl_path=>split_file_location( EXPORTING iv_fullpath = -name IMPORTING ev_path = ls_file-path ev_filename = ls_file-filename ). - CASE -value. WHEN lcl_stage=>c_method-add. READ TABLE ms_files-local ASSIGNING @@ -142,7 +143,6 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. FIELD-SYMBOLS: LIKE LINE OF ms_files-remote, LIKE LINE OF ms_files-local. - CREATE OBJECT ro_html. ro_html->add( '' ). @@ -158,6 +158,7 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. iv_act = |{ gc_action-go_diff }?key={ mo_repo->get_key( ) }| ). ENDIF. ro_html->add(''). + ro_html->add(''). ro_html->add(''). ro_html->add(''). ENDAT. @@ -191,7 +192,8 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. METHOD render_file. - DATA lv_param TYPE string. + DATA: lv_param TYPE string, + lv_user TYPE xubname. CREATE OBJECT ro_html. @@ -207,6 +209,9 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. ro_html->add( '' ). + + lv_user = read_last_changed_by( is_file ). + ro_html->add( | | ). WHEN 'remote'. ro_html->add( '' ). ro_html->add( || ). @@ -263,4 +268,16 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. ENDMETHOD. "scripts + METHOD read_last_changed_by. + DATA: ls_local_file TYPE ty_file_item. + TRY. + READ TABLE mo_repo->get_files_local( ) INTO ls_local_file WITH KEY file = is_file. + IF sy-subrc = 0. + rv_user = lcl_objects=>changed_by( ls_local_file-item ). + ENDIF. + CATCH lcx_exception. + CLEAR rv_user. "Should not raise errors if user last changed by was not found + ENDTRY. + ENDMETHOD. + ENDCLASS.
Last changed by
' ). ro_html->add_a( iv_txt = 'diff' iv_act = |{ gc_action-go_diff }?{ lv_param }| ). ro_html->add( '{ lv_user }ignoreremove-