background mode, remove hardcoded values #245

This commit is contained in:
larshp 2016-07-08 14:22:17 +00:00
parent 9ba7c3af7d
commit 8d20648c31
4 changed files with 76 additions and 14 deletions

View File

@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
* See http://www.abapgit.org * See http://www.abapgit.org
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT 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) * The MIT License (MIT)
@ -110,7 +110,7 @@ INCLUDE zabapgit_repo_impl.
INCLUDE zabapgit_background. INCLUDE zabapgit_background.
INCLUDE zabapgit_zip. INCLUDE zabapgit_zip.
INCLUDE zabapgit_transport. INCLUDE zabapgit_transport.
include zabapgit_popups. INCLUDE zabapgit_popups.
INCLUDE zabapgit_page. INCLUDE zabapgit_page.
INCLUDE zabapgit_page_commit. INCLUDE zabapgit_page_commit.
INCLUDE zabapgit_page_merge. INCLUDE zabapgit_page_merge.

View File

@ -10,7 +10,8 @@ CLASS lcl_background DEFINITION FINAL.
PRIVATE SECTION. PRIVATE SECTION.
CLASS-METHODS: push 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. RAISING lcx_exception.
ENDCLASS. ENDCLASS.
@ -32,9 +33,19 @@ CLASS lcl_background IMPLEMENTATION.
RETURN. RETURN.
ENDIF. ENDIF.
ls_comment-username = 'foobar' ##NO_TEXT. CASE is_settings-amethod.
ls_comment-email = 'foo@bar.com' ##NO_TEXT. WHEN lcl_persistence_background=>c_amethod-fixed.
ls_comment-comment = 'background mode' ##NO_TEXT. 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 CREATE OBJECT lo_stage
EXPORTING EXPORTING
@ -82,7 +93,8 @@ CLASS lcl_background IMPLEMENTATION.
WHEN lcl_persistence_background=>c_method-pull. WHEN lcl_persistence_background=>c_method-pull.
lo_repo->deserialize( ). lo_repo->deserialize( ).
WHEN lcl_persistence_background=>c_method-push. WHEN lcl_persistence_background=>c_method-push.
push( lo_repo ). push( io_repo = lo_repo
is_settings = <ls_list> ).
WHEN OTHERS. WHEN OTHERS.
_raise 'background, unknown mode'. _raise 'background, unknown mode'.
ENDCASE. ENDCASE.

View File

@ -125,6 +125,9 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
_field 'method' method. _field 'method' method.
_field 'username' username. _field 'username' username.
_field 'password' password. _field 'password' password.
_field 'amethod' amethod.
_field 'aname' aname.
_field 'amail' amail.
ASSERT NOT rs_fields IS INITIAL. ASSERT NOT rs_fields IS INITIAL.
@ -172,6 +175,8 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
lv_nothing TYPE string, lv_nothing TYPE string,
lv_push TYPE string, lv_push TYPE string,
lv_pull TYPE string, lv_pull TYPE string,
lv_afixed TYPE string,
lv_aauto TYPE string,
lt_list TYPE lcl_repo_srv=>ty_repo_tt. lt_list TYPE lcl_repo_srv=>ty_repo_tt.
@ -189,9 +194,13 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
CLEAR ls_per. CLEAR ls_per.
ENDIF. ENDIF.
CLEAR lv_push. IF ls_per-aname IS INITIAL.
CLEAR lv_pull. ls_per-aname = 'foobar' ##NO_TEXT.
CLEAR lv_nothing. ENDIF.
IF ls_per-amail IS INITIAL.
ls_per-amail = 'foo@bar.com' ##NO_TEXT.
ENDIF.
CASE ls_per-method. CASE ls_per-method.
WHEN lcl_persistence_background=>c_method-push. WHEN lcl_persistence_background=>c_method-push.
lv_push = ' checked' ##NO_TEXT. lv_push = ' checked' ##NO_TEXT.
@ -201,8 +210,17 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
lv_nothing = ' checked' ##NO_TEXT. lv_nothing = ' checked' ##NO_TEXT.
ENDCASE. 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( render_repo_top( lo_repo ) ).
ro_html->add( '<br>' ). ro_html->add( '<br>' ).
ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT.
ro_html->add( '<form method="get" action="sapevent:save">' ). ro_html->add( '<form method="get" action="sapevent:save">' ).
ro_html->add( '<input type="radio" name="method" value="nothing"' && ro_html->add( '<input type="radio" name="method" value="nothing"' &&
lv_nothing && '>Do nothing<br>' ) ##NO_TEXT. lv_nothing && '>Do nothing<br>' ) ##NO_TEXT.
@ -211,7 +229,8 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
ro_html->add( '<input type="radio" name="method" value="pull"' && ro_html->add( '<input type="radio" name="method" value="pull"' &&
lv_pull && '>Automatic pull<br>' ) ##NO_TEXT. lv_pull && '>Automatic pull<br>' ) ##NO_TEXT.
ro_html->add( '<br>' ). ro_html->add( '<br>' ).
ro_html->add( 'Authentication, optional<br>' ) ##NO_TEXT.
ro_html->add( '<u>HTTP Authentication, optional</u><br>' ) ##NO_TEXT.
ro_html->add( '(password will be saved in clear text)<br>' ) ##NO_TEXT. ro_html->add( '(password will be saved in clear text)<br>' ) ##NO_TEXT.
ro_html->add( '<table>' ). ro_html->add( '<table>' ).
ro_html->add( '<tr>' ). ro_html->add( '<tr>' ).
@ -224,10 +243,33 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
ro_html->add( '<td><input type="text" name="password" value="' && ro_html->add( '<td><input type="text" name="password" value="' &&
ls_per-password && '"></td>' ). ls_per-password && '"></td>' ).
ro_html->add( '</tr>' ). ro_html->add( '</tr>' ).
ro_html->add( '<tr><td colspan="2" align="right">' ).
ro_html->add( '<input type="submit" value="Save">' ).
ro_html->add( '</td></tr>' ).
ro_html->add( '</table>' ). ro_html->add( '</table>' ).
ro_html->add( '<br>' ).
ro_html->add( '<u>Commit author</u><br>' ).
ro_html->add( '<input type="radio" name="amethod" value="fixed"' &&
lv_afixed && '>Fixed<br>' ) ##NO_TEXT.
ro_html->add( '<input type="radio" name="amethod" value="auto"' &&
lv_aauto && '>Automatic<br>' ) ##NO_TEXT.
ro_html->add( '<br>' ).
ro_html->add( '<table>' ).
ro_html->add( '<tr>' ).
ro_html->add( '<td>Name:</td>' ).
ro_html->add( '<td><input type="text" name="aname" value="' &&
ls_per-aname && '"></td>' ).
ro_html->add( '</tr>' ).
ro_html->add( '<tr>' ).
ro_html->add( '<td>Email:</td>' ).
ro_html->add( '<td><input type="text" name="amail" value="' &&
ls_per-amail && '"></td>' ).
ro_html->add( '</tr>' ).
ro_html->add( '</table>' ).
ro_html->add( '<br>' ).
ro_html->add( '<input type="submit" value="Save">' ).
ro_html->add( '</form>' ). ro_html->add( '</form>' ).
ro_html->add( '<br>' ). ro_html->add( '<br>' ).

View File

@ -554,10 +554,18 @@ CLASS lcl_persistence_background DEFINITION FINAL.
push TYPE string VALUE 'push' ##NO_TEXT, push TYPE string VALUE 'push' ##NO_TEXT,
END OF c_method. 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, TYPES: BEGIN OF ty_xml,
method TYPE string, method TYPE string,
username TYPE string, username TYPE string,
password TYPE string, password TYPE string,
amethod TYPE string,
aname TYPE string,
amail TYPE string,
END OF ty_xml. END OF ty_xml.
TYPES: BEGIN OF ty_background, TYPES: BEGIN OF ty_background,