mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Merge pull request #675 from larshp/issue_227
Basic repo settings page - Issue 227
This commit is contained in:
commit
6d395833d6
|
@ -197,6 +197,7 @@ CONSTANTS: BEGIN OF gc_action,
|
|||
repo_clone TYPE string VALUE 'repo_clone',
|
||||
repo_refresh TYPE string VALUE 'repo_refresh',
|
||||
repo_remove TYPE string VALUE 'repo_remove',
|
||||
repo_settings TYPE string VALUE 'repo_settings',
|
||||
repo_purge TYPE string VALUE 'repo_purge',
|
||||
repo_newoffline TYPE string VALUE 'repo_newoffline',
|
||||
repo_remote_attach TYPE string VALUE 'repo_remote_attach',
|
||||
|
|
|
@ -29,3 +29,4 @@ INCLUDE zabapgit_page_main.
|
|||
INCLUDE zabapgit_page_stage.
|
||||
INCLUDE zabapgit_page_debug.
|
||||
INCLUDE zabapgit_page_settings.
|
||||
INCLUDE zabapgit_page_repo_settings.
|
||||
|
|
|
@ -174,6 +174,11 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
WHEN gc_action-repo_transport_to_branch.
|
||||
lcl_services_repo=>transport_to_branch( iv_repository_key = lv_key ).
|
||||
ev_state = gc_event_state-re_render.
|
||||
WHEN gc_action-repo_settings.
|
||||
CREATE OBJECT ei_page TYPE lcl_gui_page_repo_settings
|
||||
EXPORTING
|
||||
io_repo = lcl_app=>repo_srv( )->get( lv_key ).
|
||||
ev_state = gc_event_state-new_page.
|
||||
|
||||
" ZIP services actions
|
||||
WHEN gc_action-zip_import. " Import repo from ZIP
|
||||
|
|
91
src/zabapgit_page_repo_settings.prog.abap
Normal file
91
src/zabapgit_page_repo_settings.prog.abap
Normal file
|
@ -0,0 +1,91 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_PAGE_REPO_SETTINGS
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_repo_settings DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING io_repo TYPE REF TO lcl_repo,
|
||||
lif_gui_page~on_event REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
CONSTANTS:
|
||||
BEGIN OF c_action,
|
||||
save_settings TYPE string VALUE 'save_settings',
|
||||
END OF c_action.
|
||||
|
||||
DATA: mo_repo TYPE REF TO lcl_repo.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION,
|
||||
parse_post
|
||||
IMPORTING
|
||||
it_postdata TYPE cnht_post_data_tab
|
||||
RETURNING
|
||||
VALUE(rt_post_fields) TYPE tihttpnvp.
|
||||
|
||||
ENDCLASS. "lcl_gui_page_debuginfo
|
||||
|
||||
CLASS lcl_gui_page_repo_settings IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'REPO SETTINGS'.
|
||||
mo_repo = io_repo.
|
||||
ENDMETHOD. " constructor.
|
||||
|
||||
METHOD parse_post.
|
||||
|
||||
DATA lv_serialized_post_data TYPE string.
|
||||
|
||||
CONCATENATE LINES OF it_postdata INTO lv_serialized_post_data.
|
||||
rt_post_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_serialized_post_data ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD render_content.
|
||||
|
||||
DATA: ls_dot TYPE lcl_dot_abapgit=>ty_dot_abapgit.
|
||||
|
||||
|
||||
ls_dot = mo_repo->get_dot_abapgit( )->get_data( ).
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( '<div class="settings_container">' ).
|
||||
ro_html->add( '<form id="settings_form" method="post" action="sapevent:' &&
|
||||
c_action-save_settings && '">' ).
|
||||
ro_html->add( '<br>' ).
|
||||
ro_html->add( 'Folder logic: <input name="folder_logic" type="text" size="10" value="' &&
|
||||
ls_dot-folder_logic && '">' ).
|
||||
ro_html->add( '<br>' ).
|
||||
ro_html->add( '<input type="submit" value="Save" class="submit">' ).
|
||||
ro_html->add( '</form>' ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
|
||||
DATA: lt_post_fields TYPE tihttpnvp,
|
||||
lo_dot TYPE REF TO lcl_dot_abapgit,
|
||||
ls_post_field LIKE LINE OF lt_post_fields.
|
||||
|
||||
|
||||
CASE iv_action.
|
||||
WHEN c_action-save_settings.
|
||||
lt_post_fields = parse_post( it_postdata ).
|
||||
|
||||
READ TABLE lt_post_fields INTO ls_post_field WITH KEY name = 'folder_logic'.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
lo_dot = mo_repo->get_dot_abapgit( ).
|
||||
lo_dot->set_folder_logic( ls_post_field-value ).
|
||||
mo_repo->set_dot_abapgit( lo_dot ).
|
||||
|
||||
ev_state = gc_event_state-go_back.
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS. "lcl_gui_page_debuginfo
|
22
src/zabapgit_page_repo_settings.prog.xml
Normal file
22
src/zabapgit_page_repo_settings.prog.xml
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_PAGE_REPO_SETTINGS</NAME>
|
||||
<STATE>A</STATE>
|
||||
<VARCL>X</VARCL>
|
||||
<SUBC>I</SUBC>
|
||||
<RLOAD>E</RLOAD>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<ENTRY>Include ZABAPGIT_PAGE_REPO_SETTINGS</ENTRY>
|
||||
<LENGTH>35</LENGTH>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -315,6 +315,8 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
lo_tb_advanced->add( iv_txt = 'Make on-line'
|
||||
iv_act = |{ gc_action-repo_remote_attach }?{ lv_key }| ).
|
||||
ENDIF.
|
||||
lo_tb_advanced->add( iv_txt = 'Repo settings'
|
||||
iv_act = |{ gc_action-repo_settings }?{ lv_key }| ).
|
||||
lo_tb_advanced->add( iv_txt = 'Update local checksums'
|
||||
iv_act = |{ gc_action-repo_refresh_checksums }?{ lv_key }| ).
|
||||
lo_tb_advanced->add( iv_txt = 'Remove'
|
||||
|
|
Loading…
Reference in New Issue
Block a user