diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 78fd2877c..55f7d52e7 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v1.15.5'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.15.6'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) @@ -110,7 +110,7 @@ INCLUDE zabapgit_repo_impl. INCLUDE zabapgit_background. INCLUDE zabapgit_zip. INCLUDE zabapgit_transport. -include zabapgit_popups. +INCLUDE zabapgit_popups. INCLUDE zabapgit_page. INCLUDE zabapgit_page_commit. INCLUDE zabapgit_page_merge. diff --git a/src/zabapgit_background.prog.abap b/src/zabapgit_background.prog.abap index 7dbf45f6f..588a9ff13 100644 --- a/src/zabapgit_background.prog.abap +++ b/src/zabapgit_background.prog.abap @@ -10,7 +10,8 @@ CLASS lcl_background DEFINITION FINAL. PRIVATE SECTION. CLASS-METHODS: push - IMPORTING io_repo TYPE REF TO lcl_repo_online + IMPORTING io_repo TYPE REF TO lcl_repo_online + is_settings TYPE lcl_persistence_background=>ty_background RAISING lcx_exception. ENDCLASS. @@ -32,9 +33,19 @@ CLASS lcl_background IMPLEMENTATION. RETURN. ENDIF. - ls_comment-username = 'foobar' ##NO_TEXT. - ls_comment-email = 'foo@bar.com' ##NO_TEXT. - ls_comment-comment = 'background mode' ##NO_TEXT. + CASE is_settings-amethod. + WHEN lcl_persistence_background=>c_amethod-fixed. + ls_comment-username = is_settings-aname. + ls_comment-email = is_settings-amail. + ls_comment-comment = 'abapGit background mode' ##NO_TEXT. + WHEN lcl_persistence_background=>c_amethod-auto. +* todo +* see https://github.com/larshp/abapGit/issues/245 + ASSERT 0 = 1. + WHEN OTHERS. +* illegal value + ASSERT 0 = 1. + ENDCASE. CREATE OBJECT lo_stage EXPORTING @@ -82,7 +93,8 @@ CLASS lcl_background IMPLEMENTATION. WHEN lcl_persistence_background=>c_method-pull. lo_repo->deserialize( ). WHEN lcl_persistence_background=>c_method-push. - push( lo_repo ). + push( io_repo = lo_repo + is_settings = ). WHEN OTHERS. _raise 'background, unknown mode'. ENDCASE. diff --git a/src/zabapgit_page_background.prog.abap b/src/zabapgit_page_background.prog.abap index 113b09682..17e48fc3d 100644 --- a/src/zabapgit_page_background.prog.abap +++ b/src/zabapgit_page_background.prog.abap @@ -125,6 +125,9 @@ CLASS lcl_gui_page_background IMPLEMENTATION. _field 'method' method. _field 'username' username. _field 'password' password. + _field 'amethod' amethod. + _field 'aname' aname. + _field 'amail' amail. ASSERT NOT rs_fields IS INITIAL. @@ -172,6 +175,8 @@ CLASS lcl_gui_page_background IMPLEMENTATION. lv_nothing TYPE string, lv_push TYPE string, lv_pull TYPE string, + lv_afixed TYPE string, + lv_aauto TYPE string, lt_list TYPE lcl_repo_srv=>ty_repo_tt. @@ -189,9 +194,13 @@ CLASS lcl_gui_page_background IMPLEMENTATION. CLEAR ls_per. ENDIF. - CLEAR lv_push. - CLEAR lv_pull. - CLEAR lv_nothing. + IF ls_per-aname IS INITIAL. + ls_per-aname = 'foobar' ##NO_TEXT. + ENDIF. + IF ls_per-amail IS INITIAL. + ls_per-amail = 'foo@bar.com' ##NO_TEXT. + ENDIF. + CASE ls_per-method. WHEN lcl_persistence_background=>c_method-push. lv_push = ' checked' ##NO_TEXT. @@ -201,8 +210,17 @@ CLASS lcl_gui_page_background IMPLEMENTATION. lv_nothing = ' checked' ##NO_TEXT. ENDCASE. + CASE ls_per-amethod. + WHEN lcl_persistence_background=>c_amethod-auto. + lv_aauto = ' checked' ##NO_TEXT. + WHEN OTHERS. + lv_afixed = ' checked' ##NO_TEXT. + ENDCASE. + ro_html->add( render_repo_top( lo_repo ) ). ro_html->add( '
' ). + + ro_html->add( 'Method
' ) ##NO_TEXT. ro_html->add( '
' ). ro_html->add( 'Do nothing
' ) ##NO_TEXT. @@ -211,7 +229,8 @@ CLASS lcl_gui_page_background IMPLEMENTATION. ro_html->add( 'Automatic pull
' ) ##NO_TEXT. ro_html->add( '
' ). - ro_html->add( 'Authentication, optional
' ) ##NO_TEXT. + + ro_html->add( 'HTTP Authentication, optional
' ) ##NO_TEXT. ro_html->add( '(password will be saved in clear text)
' ) ##NO_TEXT. ro_html->add( '' ). ro_html->add( '' ). @@ -224,10 +243,33 @@ CLASS lcl_gui_page_background IMPLEMENTATION. ro_html->add( '' ). ro_html->add( '' ). - ro_html->add( '' ). ro_html->add( '
' ). - ro_html->add( '' ). - ro_html->add( '
' ). + + ro_html->add( '
' ). + + ro_html->add( 'Commit author
' ). + ro_html->add( 'Fixed
' ) ##NO_TEXT. + ro_html->add( 'Automatic
' ) ##NO_TEXT. + ro_html->add( '
' ). + + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '' ). + ro_html->add( '
Name:
Email:
' ). + + ro_html->add( '
' ). + ro_html->add( '' ). + ro_html->add( '
' ). ro_html->add( '
' ). diff --git a/src/zabapgit_persistence.prog.abap b/src/zabapgit_persistence.prog.abap index 840881d0d..d188ce372 100644 --- a/src/zabapgit_persistence.prog.abap +++ b/src/zabapgit_persistence.prog.abap @@ -554,10 +554,18 @@ CLASS lcl_persistence_background DEFINITION FINAL. push TYPE string VALUE 'push' ##NO_TEXT, END OF c_method. + CONSTANTS: BEGIN OF c_amethod, + fixed TYPE string VALUE 'fixed' ##NO_TEXT, + auto TYPE string VALUE 'auto' ##NO_TEXT, + END OF c_amethod. + TYPES: BEGIN OF ty_xml, method TYPE string, username TYPE string, password TYPE string, + amethod TYPE string, + aname TYPE string, + amail TYPE string, END OF ty_xml. TYPES: BEGIN OF ty_background,