From 29a9201a3bdc7686ce35f94a52aed6a729b5abdf Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Wed, 1 Dec 2021 09:27:30 -0500 Subject: [PATCH] Commit page: option to hide author fields (#5171) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Commit page: option to hide author fields The vast majority of time the committer is the same as the author (I assume). This adds an option to hide the author name and email fields on the commit form. * Update docs * Update docs Co-authored-by: Christian Günter --- docs/guide-settings-global.md | 2 ++ docs/img/settings-global-2.png | Bin 12648 -> 17402 bytes src/ui/zcl_abapgit_gui_page_commit.clas.abap | 34 ++++++++++-------- .../zcl_abapgit_gui_page_sett_glob.clas.abap | 12 +++++-- src/zcl_abapgit_settings.clas.abap | 17 +++++++++ 5 files changed, 48 insertions(+), 17 deletions(-) diff --git a/docs/guide-settings-global.md b/docs/guide-settings-global.md index c294e2ce9..260f0cb3f 100644 --- a/docs/guide-settings-global.md +++ b/docs/guide-settings-global.md @@ -30,6 +30,8 @@ to 50/72 according to the "[Rule of Well Formed Git Commit Messages](https://www You can also maintain a default for the comment. Variables $OBJECT and $FILE will be replaced by the number of objects or files contained in the commit. +By default, the [commit page](https://docs.abapgit.org/guide-stage-commit.html#commit) contains fields for "Author Name" and "Author Email" which you can enter in case they are different from the committer. If the author is always the same as the committer, these fields are not required and you can use the "Hide Author Fields" option to remove them from on the commit page. + ## Development Internal Settings Note: These settings are only available when using the [Development Version](https://docs.abapgit.org/guide-development-version.html) of abapGit. diff --git a/docs/img/settings-global-2.png b/docs/img/settings-global-2.png index 9e0da41eacbd23f7877ffd93f4449fcefd93db00..b5244d4413849aa7665d56a5aa22609c305d033b 100644 GIT binary patch literal 17402 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 Uli!p#(mOy>OzvB`$Pd5&0V>#9r2qf` literal 12648 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 Wt{cVl2&VQ4$Ve!DEdTK7>;C}d&Z^)5 diff --git a/src/ui/zcl_abapgit_gui_page_commit.clas.abap b/src/ui/zcl_abapgit_gui_page_commit.clas.abap index 0bc2a6f70..296ac41a2 100644 --- a/src/ui/zcl_abapgit_gui_page_commit.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_commit.clas.abap @@ -122,6 +122,12 @@ ENDCLASS. CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION. + METHOD branch_name_to_internal. + rv_new_branch_name = zcl_abapgit_git_branch_list=>complete_heads_branch_name( + zcl_abapgit_git_branch_list=>normalize_branch_name( iv_branch_name ) ). + ENDMETHOD. + + METHOD constructor. super->constructor( ). @@ -320,15 +326,19 @@ CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION. )->text( iv_name = c_id-committer_email iv_label = 'Committer Email' - iv_required = abap_true - )->text( - iv_name = c_id-author_name - iv_label = 'Author Name' - iv_placeholder = 'Optionally, specify an author (same as committer by default)' - )->text( - iv_name = c_id-author_email - iv_label = 'Author Email' - )->text( + iv_required = abap_true ). + + IF mo_settings->get_commitmsg_hide_author( ) IS INITIAL. + ro_form->text( + iv_name = c_id-author_name + iv_label = 'Author Name' + iv_placeholder = 'Optionally, specify an author (same as committer by default)' + )->text( + iv_name = c_id-author_email + iv_label = 'Author Email' ). + ENDIF. + + ro_form->text( iv_name = c_id-new_branch_name iv_label = 'New Branch Name' iv_placeholder = 'Optionally, enter a new branch name for this commit' @@ -557,10 +567,4 @@ CLASS zcl_abapgit_gui_page_commit IMPLEMENTATION. ri_html->add( '' ). ENDMETHOD. - - METHOD branch_name_to_internal. - rv_new_branch_name = zcl_abapgit_git_branch_list=>complete_heads_branch_name( - zcl_abapgit_git_branch_list=>normalize_branch_name( iv_branch_name ) ). - ENDMETHOD. - ENDCLASS. diff --git a/src/ui/zcl_abapgit_gui_page_sett_glob.clas.abap b/src/ui/zcl_abapgit_gui_page_sett_glob.clas.abap index c087c4d72..96b0543cb 100644 --- a/src/ui/zcl_abapgit_gui_page_sett_glob.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_sett_glob.clas.abap @@ -32,6 +32,7 @@ CLASS zcl_abapgit_gui_page_sett_glob DEFINITION commitmsg_comment_length TYPE string VALUE 'commitmsg_comment_length', commitmsg_comment_deflt TYPE string VALUE 'commitmsg_comment_deflt', commitmsg_body_size TYPE string VALUE 'commitmsg_body_size', + commitmsg_hide_author TYPE string VALUE 'commitmsg_hide_author', devint_settings TYPE string VALUE 'devint_settings', run_critical_tests TYPE string VALUE 'run_critical_tests', experimental_features TYPE string VALUE 'experimental_features', @@ -76,7 +77,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_GLOB IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_sett_glob IMPLEMENTATION. METHOD constructor. @@ -153,7 +154,10 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_GLOB IMPLEMENTATION. iv_required = abap_true iv_label = 'Maximum Line Size of Body' iv_hint = |At least { zcl_abapgit_settings=>c_commitmsg_body_size_dft } characters| - iv_min = zcl_abapgit_settings=>c_commitmsg_body_size_dft ). + iv_min = zcl_abapgit_settings=>c_commitmsg_body_size_dft + )->checkbox( + iv_name = c_id-commitmsg_hide_author + iv_label = 'Hide Author Fields' ). IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false. ro_form->start_group( @@ -225,6 +229,9 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_GLOB IMPLEMENTATION. mo_form_data->set( iv_key = c_id-commitmsg_body_size iv_val = |{ mo_settings->get_commitmsg_body_size( ) }| ). + mo_form_data->set( + iv_key = c_id-commitmsg_hide_author + iv_val = boolc( mo_settings->get_commitmsg_hide_author( ) = abap_true ) ) ##TYPE. " Dev Internal IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false. @@ -285,6 +292,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_GLOB IMPLEMENTATION. mo_settings->set_commitmsg_comment_default( mo_form_data->get( c_id-commitmsg_comment_deflt ) ). lv_value = mo_form_data->get( c_id-commitmsg_body_size ). mo_settings->set_commitmsg_body_size( lv_value ). + mo_settings->set_commitmsg_hide_author( boolc( mo_form_data->get( c_id-commitmsg_hide_author ) = abap_true ) ). " Dev Internal IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false. diff --git a/src/zcl_abapgit_settings.clas.abap b/src/zcl_abapgit_settings.clas.abap index 055d2b8a3..8493aeda0 100644 --- a/src/zcl_abapgit_settings.clas.abap +++ b/src/zcl_abapgit_settings.clas.abap @@ -85,6 +85,12 @@ CLASS zcl_abapgit_settings DEFINITION METHODS get_commitmsg_body_size RETURNING VALUE(rv_length) TYPE i . + METHODS set_commitmsg_hide_author + IMPORTING + !iv_hide_author TYPE abap_bool. + METHODS get_commitmsg_hide_author + RETURNING + VALUE(rv_hide_author) TYPE abap_bool. METHODS get_settings_xml RETURNING VALUE(rv_settings_xml) TYPE string @@ -162,6 +168,7 @@ CLASS zcl_abapgit_settings DEFINITION commitmsg_comment_length TYPE i, commitmsg_comment_deflt TYPE string, commitmsg_body_size TYPE i, + commitmsg_hide_author TYPE abap_bool, END OF ty_s_settings. DATA: ms_settings TYPE ty_s_settings, @@ -202,6 +209,11 @@ CLASS zcl_abapgit_settings IMPLEMENTATION. ENDMETHOD. + METHOD get_commitmsg_hide_author. + rv_hide_author = ms_settings-commitmsg_hide_author. + ENDMETHOD. + + METHOD get_experimental_features. rv_run = ms_settings-experimental_features. ENDMETHOD. @@ -339,6 +351,11 @@ CLASS zcl_abapgit_settings IMPLEMENTATION. ENDMETHOD. + METHOD set_commitmsg_hide_author. + ms_settings-commitmsg_hide_author = iv_hide_author. + ENDMETHOD. + + METHOD set_defaults. CLEAR ms_settings.