mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
new feature, hide repository, close #207
This commit is contained in:
parent
e6dcd16e66
commit
6575f9834f
|
@ -3,7 +3,7 @@ REPORT zabapgit.
|
||||||
* 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.4.14'. "#EC NOTEXT
|
gc_abap_version TYPE string VALUE 'v1.5.0'. "#EC NOTEXT
|
||||||
|
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
|
@ -16815,12 +16815,81 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS. "lcl_gui IMPLEMENTATION
|
ENDCLASS. "lcl_gui IMPLEMENTATION
|
||||||
|
|
||||||
|
CLASS lcl_persistence_user DEFINITION FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
METHODS constructor
|
||||||
|
IMPORTING iv_user TYPE xubname DEFAULT sy-uname.
|
||||||
|
|
||||||
|
METHODS set_username
|
||||||
|
IMPORTING iv_username TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS get_username
|
||||||
|
RETURNING VALUE(rv_username) TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS set_email
|
||||||
|
IMPORTING iv_email TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS get_email
|
||||||
|
RETURNING VALUE(rv_email) TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS is_hidden
|
||||||
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
|
RETURNING VALUE(rv_hidden) TYPE abap_bool
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS hide
|
||||||
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS unhide
|
||||||
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
|
||||||
|
|
||||||
|
DATA: mv_user TYPE xubname.
|
||||||
|
|
||||||
|
TYPES: ty_repo_hidden_tt TYPE STANDARD TABLE OF lcl_persistence_repo=>ty_repo-key WITH DEFAULT KEY.
|
||||||
|
|
||||||
|
TYPES: BEGIN OF ty_user,
|
||||||
|
username TYPE string,
|
||||||
|
email TYPE string,
|
||||||
|
repo_hidden TYPE ty_repo_hidden_tt,
|
||||||
|
END OF ty_user.
|
||||||
|
|
||||||
|
METHODS from_xml
|
||||||
|
IMPORTING iv_xml TYPE string
|
||||||
|
RETURNING VALUE(rs_user) TYPE ty_user
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS to_xml
|
||||||
|
IMPORTING is_user TYPE ty_user
|
||||||
|
RETURNING VALUE(rv_xml) TYPE string.
|
||||||
|
|
||||||
|
METHODS read
|
||||||
|
RETURNING VALUE(rs_user) TYPE ty_user
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS update
|
||||||
|
IMPORTING is_user TYPE ty_user
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_gui_page_main DEFINITION FINAL.
|
CLASS lcl_gui_page_main DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES lif_gui_page.
|
INTERFACES lif_gui_page.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
CLASS-DATA: go_user TYPE REF TO lcl_persistence_user.
|
||||||
|
|
||||||
CLASS-METHODS render_repo_online
|
CLASS-METHODS render_repo_online
|
||||||
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
||||||
RETURNING VALUE(rv_html) TYPE string
|
RETURNING VALUE(rv_html) TYPE string
|
||||||
|
@ -16843,6 +16912,11 @@ CLASS lcl_gui_page_main DEFINITION FINAL.
|
||||||
RETURNING VALUE(rv_html) TYPE string
|
RETURNING VALUE(rv_html) TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS render_repo_menu
|
||||||
|
IMPORTING io_repo TYPE REF TO lcl_repo
|
||||||
|
RETURNING VALUE(rv_html) TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS install
|
CLASS-METHODS install
|
||||||
IMPORTING iv_url TYPE string
|
IMPORTING iv_url TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
@ -17059,57 +17133,6 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_persistence_user DEFINITION FINAL.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
METHODS constructor
|
|
||||||
IMPORTING iv_user TYPE xubname DEFAULT sy-uname.
|
|
||||||
|
|
||||||
METHODS set_username
|
|
||||||
IMPORTING iv_username TYPE string
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
METHODS get_username
|
|
||||||
RETURNING VALUE(rv_username) TYPE string
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
METHODS set_email
|
|
||||||
IMPORTING iv_email TYPE string
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
METHODS get_email
|
|
||||||
RETURNING VALUE(rv_email) TYPE string
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
|
|
||||||
|
|
||||||
DATA: mv_user TYPE xubname.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_user,
|
|
||||||
username TYPE string,
|
|
||||||
email TYPE string,
|
|
||||||
END OF ty_user.
|
|
||||||
|
|
||||||
METHODS from_xml
|
|
||||||
IMPORTING iv_xml TYPE string
|
|
||||||
RETURNING VALUE(rs_user) TYPE ty_user
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
METHODS to_xml
|
|
||||||
IMPORTING is_user TYPE ty_user
|
|
||||||
RETURNING VALUE(rv_xml) TYPE string.
|
|
||||||
|
|
||||||
METHODS read
|
|
||||||
RETURNING VALUE(rs_user) TYPE ty_user
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
METHODS update
|
|
||||||
IMPORTING is_user TYPE ty_user
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS lcl_gui_page_db DEFINITION FINAL.
|
CLASS lcl_gui_page_db DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -17747,51 +17770,84 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
'<a id="' && io_repo->get_name( ) && '"></a>' && gc_newline &&
|
'<a id="' && io_repo->get_name( ) && '"></a>' && gc_newline &&
|
||||||
'<h2>' && io_repo->get_name( ) && '</h2> ' && gc_newline &&
|
'<h2>' && io_repo->get_name( ) && '</h2> ' && gc_newline &&
|
||||||
'<h3>' && io_repo->get_package( ) && '</h3>' && gc_newline &&
|
'<h3>' && io_repo->get_package( ) && '</h3>' && gc_newline &&
|
||||||
'<br>' && gc_newline &&
|
render_repo_menu( io_repo ).
|
||||||
'<a href="sapevent:remove?' &&
|
|
||||||
io_repo->get_key( ) &&
|
|
||||||
'" class="grey">' &&
|
|
||||||
'remove' &&
|
|
||||||
'</a> ' && gc_newline &&
|
|
||||||
'<a href="sapevent:uninstall?' &&
|
|
||||||
io_repo->get_key( ) &&
|
|
||||||
'" class="grey">' &&
|
|
||||||
'uninstall' &&
|
|
||||||
'</a><br><br>' && gc_newline &&
|
|
||||||
'<table border="1">' && gc_newline &&
|
|
||||||
'<tr>' && gc_newline &&
|
|
||||||
'<th><u>Local object</u></th>' && gc_newline &&
|
|
||||||
'</tr>' && gc_newline ##NO_TEXT.
|
|
||||||
|
|
||||||
lt_tadir = lcl_tadir=>read( io_repo->get_package( ) ).
|
IF go_user->is_hidden( io_repo->get_key( ) ) = abap_false.
|
||||||
|
|
||||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
|
||||||
* todo, add jump link like in online rendering
|
|
||||||
rv_html = rv_html &&
|
rv_html = rv_html &&
|
||||||
'<tr>' && gc_newline &&
|
'<table border="1">' && gc_newline &&
|
||||||
'<td>' && <ls_tadir>-object &&
|
'<tr>' && gc_newline &&
|
||||||
' ' && <ls_tadir>-obj_name &&
|
'<th><u>Local object</u></th>' && gc_newline &&
|
||||||
'</td>' && gc_newline &&
|
'</tr>' && gc_newline ##NO_TEXT.
|
||||||
'</tr>' && gc_newline.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
rv_html = rv_html && '</table>' && gc_newline &&
|
lt_tadir = lcl_tadir=>read( io_repo->get_package( ) ).
|
||||||
'<a href="sapevent:zipimport?' &&
|
|
||||||
io_repo->get_key( ) &&
|
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||||
'">' && 'Import ZIP' &&
|
* todo, add jump link like in online rendering
|
||||||
'</a> ' &&
|
rv_html = rv_html &&
|
||||||
'<a href="sapevent:zipexport?' &&
|
'<tr>' && gc_newline &&
|
||||||
io_repo->get_key( ) &&
|
'<td>' && <ls_tadir>-object &&
|
||||||
'">' && 'Export ZIP' &&
|
' ' && <ls_tadir>-obj_name &&
|
||||||
'</a> ' &&
|
'</td>' && gc_newline &&
|
||||||
'<a href="sapevent:files_commit?' &&
|
'</tr>' && gc_newline.
|
||||||
io_repo->get_key( ) &&
|
ENDLOOP.
|
||||||
'">' && 'Export files and commit' &&
|
|
||||||
'</a>' && gc_newline &&
|
rv_html = rv_html && '</table>' && gc_newline &&
|
||||||
'</div>'. "#EC NOTEXT
|
'<a href="sapevent:zipimport?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'">' && 'Import ZIP' &&
|
||||||
|
'</a> ' &&
|
||||||
|
'<a href="sapevent:zipexport?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'">' && 'Export ZIP' &&
|
||||||
|
'</a> ' &&
|
||||||
|
'<a href="sapevent:files_commit?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'">' && 'Export files and commit' &&
|
||||||
|
'</a>' && gc_newline.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rv_html = rv_html && '</div>'. "#EC NOTEXT
|
||||||
|
|
||||||
ENDMETHOD. "render_repo_offline
|
ENDMETHOD. "render_repo_offline
|
||||||
|
|
||||||
|
METHOD render_repo_menu.
|
||||||
|
|
||||||
|
IF go_user->is_hidden( io_repo->get_key( ) ) = abap_true.
|
||||||
|
rv_html = '<br>' &&
|
||||||
|
'<a href="sapevent:unhide?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'" class="grey">' &&
|
||||||
|
'unhide' &&
|
||||||
|
'</a> '.
|
||||||
|
ELSE.
|
||||||
|
rv_html = '<br>' &&
|
||||||
|
'<a href="sapevent:remove?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'" class="grey">' &&
|
||||||
|
'remove' &&
|
||||||
|
'</a> ' && gc_newline &&
|
||||||
|
'<a href="sapevent:uninstall?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'" class="grey">' &&
|
||||||
|
'uninstall' &&
|
||||||
|
'</a> ' && gc_newline &&
|
||||||
|
'<a href="sapevent:refresh_single?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'" class="grey">' &&
|
||||||
|
'refresh' &&
|
||||||
|
'</a> ' && gc_newline &&
|
||||||
|
'<a href="sapevent:hide?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'" class="grey">' &&
|
||||||
|
'hide' &&
|
||||||
|
'</a> ' &&
|
||||||
|
'<br>' &&
|
||||||
|
'<br>' ##NO_TEXT.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD render_repo_online.
|
METHOD render_repo_online.
|
||||||
|
|
||||||
DATA: lv_link TYPE string,
|
DATA: lv_link TYPE string,
|
||||||
|
@ -17817,137 +17873,130 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
'<h3>' && io_repo->get_url( ) && '</h3> ' &&
|
'<h3>' && io_repo->get_url( ) && '</h3> ' &&
|
||||||
'<h3>' && io_repo->get_branch_name( ) && '</h3> ' &&
|
'<h3>' && io_repo->get_branch_name( ) && '</h3> ' &&
|
||||||
'<h3>' && io_repo->get_package( ) && '</h3> ' &&
|
'<h3>' && io_repo->get_package( ) && '</h3> ' &&
|
||||||
'<br>' &&
|
render_repo_menu( io_repo ).
|
||||||
'<a href="sapevent:remove?' &&
|
|
||||||
io_repo->get_key( ) &&
|
|
||||||
'" class="grey">' &&
|
|
||||||
'remove' &&
|
|
||||||
'</a> ' && gc_newline &&
|
|
||||||
'<a href="sapevent:uninstall?' &&
|
|
||||||
io_repo->get_key( ) &&
|
|
||||||
'" class="grey">' &&
|
|
||||||
'uninstall' &&
|
|
||||||
'</a> ' && gc_newline &&
|
|
||||||
'<a href="sapevent:refresh_single?' &&
|
|
||||||
io_repo->get_key( ) &&
|
|
||||||
'" class="grey">' &&
|
|
||||||
'refresh' &&
|
|
||||||
'</a> ' &&
|
|
||||||
'<br>' &&
|
|
||||||
'<br>' ##NO_TEXT.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lt_results = io_repo->status( ).
|
IF go_user->is_hidden( io_repo->get_key( ) ) = abap_false.
|
||||||
IF io_repo->get_sha1_remote( ) <> io_repo->get_sha1_local( ).
|
TRY.
|
||||||
lv_status = 'pull'. "#EC NOTEXT
|
lt_results = io_repo->status( ).
|
||||||
ELSE.
|
IF io_repo->get_sha1_remote( ) <> io_repo->get_sha1_local( ).
|
||||||
READ TABLE lt_results WITH KEY match = abap_false TRANSPORTING NO FIELDS.
|
lv_status = 'pull'. "#EC NOTEXT
|
||||||
IF sy-subrc = 0.
|
|
||||||
lv_status = 'commit'. "#EC NOTEXT
|
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_status = 'match'. "#EC NOTEXT
|
READ TABLE lt_results WITH KEY match = abap_false TRANSPORTING NO FIELDS.
|
||||||
ENDIF.
|
IF sy-subrc = 0.
|
||||||
ENDIF.
|
lv_status = 'commit'. "#EC NOTEXT
|
||||||
|
|
||||||
rv_html = rv_html && '<table border="1">' && gc_newline &&
|
|
||||||
'<tr>' && gc_newline &&
|
|
||||||
'<th><u>Local object</u></th>' && gc_newline &&
|
|
||||||
'<th><u>Package</u></th>' && gc_newline &&
|
|
||||||
'<th><u>Path</u></th>' && gc_newline &&
|
|
||||||
'<th><u>Remote file</u></th>' && gc_newline &&
|
|
||||||
'<th></th>' && gc_newline &&
|
|
||||||
'</tr>' && gc_newline.
|
|
||||||
|
|
||||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
|
||||||
lv_index = sy-tabix.
|
|
||||||
lv_file_encode = file_encode( iv_key = io_repo->get_key( )
|
|
||||||
is_file = <ls_result> ).
|
|
||||||
|
|
||||||
CLEAR lv_link.
|
|
||||||
IF lv_status = 'match' AND <ls_result>-filename IS INITIAL.
|
|
||||||
MOVE-CORRESPONDING <ls_result> TO ls_item.
|
|
||||||
lv_supported = lcl_objects=>is_supported( ls_item ).
|
|
||||||
IF lv_supported = abap_true.
|
|
||||||
lv_link = '<a href="sapevent:add?' && lv_file_encode && '">add</a>'.
|
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_link = |Object type <b>{ ls_item-obj_type }</b> not supported|.
|
lv_status = 'match'. "#EC NOTEXT
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ELSEIF <ls_result>-match = abap_false.
|
|
||||||
lv_link = '<a href="sapevent:diff?' && lv_file_encode && '">diff</a>'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF lv_span = 0.
|
|
||||||
READ TABLE lt_results INTO ls_next INDEX lv_index.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
WHILE ls_next-obj_type = <ls_result>-obj_type
|
|
||||||
AND ls_next-obj_name = <ls_result>-obj_name.
|
|
||||||
lv_span = lv_span + 1.
|
|
||||||
lv_index = lv_index + 1.
|
|
||||||
READ TABLE lt_results INTO ls_next INDEX lv_index.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
EXIT. " current loop.
|
|
||||||
ENDIF.
|
|
||||||
ENDWHILE.
|
|
||||||
|
|
||||||
IF <ls_result>-obj_type IS INITIAL.
|
|
||||||
lv_object = '<td rowspan="' && lv_span && '" valign="top"> </td>'.
|
|
||||||
|
|
||||||
lv_package = lv_object.
|
|
||||||
ELSE.
|
|
||||||
lv_object = '<td rowspan="' &&
|
|
||||||
lv_span &&
|
|
||||||
'" valign="top"><a href="sapevent:jump?' &&
|
|
||||||
lv_file_encode &&
|
|
||||||
'" class="plain">' &&
|
|
||||||
<ls_result>-obj_type &&
|
|
||||||
' ' &&
|
|
||||||
<ls_result>-obj_name &&
|
|
||||||
'</a></td>'.
|
|
||||||
|
|
||||||
lv_package = '<td rowspan="' &&
|
|
||||||
lv_span &&
|
|
||||||
'" valign="top">' &&
|
|
||||||
<ls_result>-package &&
|
|
||||||
'</td>'.
|
|
||||||
ENDIF.
|
|
||||||
ELSE.
|
|
||||||
CLEAR lv_object.
|
|
||||||
CLEAR lv_package.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
rv_html = rv_html &&
|
rv_html = rv_html &&
|
||||||
'<tr>' && gc_newline &&
|
'<table border="1">' && gc_newline &&
|
||||||
lv_object && gc_newline &&
|
'<tr>' && gc_newline &&
|
||||||
lv_package && gc_newline &&
|
'<th><u>Local object</u></th>' && gc_newline &&
|
||||||
'<td>' && <ls_result>-path && '</td>' && gc_newline &&
|
'<th><u>Package</u></th>' && gc_newline &&
|
||||||
'<td>' && <ls_result>-filename && '</td>' && gc_newline &&
|
'<th><u>Path</u></th>' && gc_newline &&
|
||||||
'<td>' && lv_link && '</td>' && gc_newline &&
|
'<th><u>Remote file</u></th>' && gc_newline &&
|
||||||
'</tr>' && gc_newline.
|
'<th></th>' && gc_newline &&
|
||||||
|
'</tr>' && gc_newline.
|
||||||
|
|
||||||
lv_span = lv_span - 1.
|
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||||
ENDLOOP.
|
lv_index = sy-tabix.
|
||||||
|
lv_file_encode = file_encode( iv_key = io_repo->get_key( )
|
||||||
|
is_file = <ls_result> ).
|
||||||
|
|
||||||
rv_html = rv_html &&
|
CLEAR lv_link.
|
||||||
'</table>' &&
|
IF lv_status = 'match' AND <ls_result>-filename IS INITIAL.
|
||||||
gc_newline.
|
MOVE-CORRESPONDING <ls_result> TO ls_item.
|
||||||
|
lv_supported = lcl_objects=>is_supported( ls_item ).
|
||||||
|
IF lv_supported = abap_true.
|
||||||
|
lv_link = '<a href="sapevent:add?' && lv_file_encode && '">add</a>'.
|
||||||
|
ELSE.
|
||||||
|
lv_link = |Object type <b>{ ls_item-obj_type }</b> not supported|.
|
||||||
|
ENDIF.
|
||||||
|
ELSEIF <ls_result>-match = abap_false.
|
||||||
|
lv_link = '<a href="sapevent:diff?' && lv_file_encode && '">diff</a>'.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
CASE lv_status.
|
IF lv_span = 0.
|
||||||
WHEN 'commit'.
|
READ TABLE lt_results INTO ls_next INDEX lv_index.
|
||||||
rv_html = rv_html && '<a href="sapevent:commit?'
|
ASSERT sy-subrc = 0.
|
||||||
&& io_repo->get_key( ) && '">commit</a>'.
|
WHILE ls_next-obj_type = <ls_result>-obj_type
|
||||||
WHEN 'pull'.
|
AND ls_next-obj_name = <ls_result>-obj_name.
|
||||||
rv_html = rv_html && '<a href="sapevent:pull?'
|
lv_span = lv_span + 1.
|
||||||
&& io_repo->get_key( ) && '">pull</a>'.
|
lv_index = lv_index + 1.
|
||||||
ENDCASE.
|
READ TABLE lt_results INTO ls_next INDEX lv_index.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
EXIT. " current loop.
|
||||||
|
ENDIF.
|
||||||
|
ENDWHILE.
|
||||||
|
|
||||||
lv_status = lcl_sap_package=>check( it_results = lt_results
|
IF <ls_result>-obj_type IS INITIAL.
|
||||||
iv_top = io_repo->get_package( ) ).
|
lv_object = '<td rowspan="' && lv_span && '" valign="top"> </td>'.
|
||||||
rv_html = rv_html &&
|
|
||||||
lv_status.
|
|
||||||
|
|
||||||
CATCH lcx_exception INTO lx_error.
|
lv_package = lv_object.
|
||||||
rv_html = rv_html && render_error( lx_error ).
|
ELSE.
|
||||||
ENDTRY.
|
lv_object = '<td rowspan="' &&
|
||||||
|
lv_span &&
|
||||||
|
'" valign="top"><a href="sapevent:jump?' &&
|
||||||
|
lv_file_encode &&
|
||||||
|
'" class="plain">' &&
|
||||||
|
<ls_result>-obj_type &&
|
||||||
|
' ' &&
|
||||||
|
<ls_result>-obj_name &&
|
||||||
|
'</a></td>'.
|
||||||
|
|
||||||
|
lv_package = '<td rowspan="' &&
|
||||||
|
lv_span &&
|
||||||
|
'" valign="top">' &&
|
||||||
|
<ls_result>-package &&
|
||||||
|
'</td>'.
|
||||||
|
ENDIF.
|
||||||
|
ELSE.
|
||||||
|
CLEAR lv_object.
|
||||||
|
CLEAR lv_package.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rv_html = rv_html &&
|
||||||
|
'<tr>' && gc_newline &&
|
||||||
|
lv_object && gc_newline &&
|
||||||
|
lv_package && gc_newline &&
|
||||||
|
'<td>' && <ls_result>-path && '</td>' && gc_newline &&
|
||||||
|
'<td>' && <ls_result>-filename && '</td>' && gc_newline &&
|
||||||
|
'<td>' && lv_link && '</td>' && gc_newline &&
|
||||||
|
'</tr>' && gc_newline.
|
||||||
|
|
||||||
|
lv_span = lv_span - 1.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
rv_html = rv_html &&
|
||||||
|
'</table>' &&
|
||||||
|
gc_newline.
|
||||||
|
|
||||||
|
CASE lv_status.
|
||||||
|
WHEN 'commit'.
|
||||||
|
rv_html = rv_html &&
|
||||||
|
'<a href="sapevent:commit?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'">commit</a>'.
|
||||||
|
WHEN 'pull'.
|
||||||
|
rv_html = rv_html &&
|
||||||
|
'<a href="sapevent:pull?' &&
|
||||||
|
io_repo->get_key( ) &&
|
||||||
|
'">pull</a>'.
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
lv_status = lcl_sap_package=>check(
|
||||||
|
it_results = lt_results
|
||||||
|
iv_top = io_repo->get_package( ) ).
|
||||||
|
|
||||||
|
rv_html = rv_html &&
|
||||||
|
lv_status.
|
||||||
|
|
||||||
|
CATCH lcx_exception INTO lx_error.
|
||||||
|
rv_html = rv_html && render_error( lx_error ).
|
||||||
|
ENDTRY.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
rv_html = rv_html &&
|
rv_html = rv_html &&
|
||||||
'</div>' && gc_newline.
|
'</div>' && gc_newline.
|
||||||
|
@ -18099,6 +18148,14 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
lv_key = iv_getdata.
|
lv_key = iv_getdata.
|
||||||
lcl_repo_srv=>get( lv_key )->refresh( ).
|
lcl_repo_srv=>get( lv_key )->refresh( ).
|
||||||
lcl_gui=>render( ).
|
lcl_gui=>render( ).
|
||||||
|
WHEN 'hide'.
|
||||||
|
lv_key = iv_getdata.
|
||||||
|
go_user->hide( lv_key ).
|
||||||
|
lcl_gui=>render( ).
|
||||||
|
WHEN 'unhide'.
|
||||||
|
lv_key = iv_getdata.
|
||||||
|
go_user->unhide( lv_key ).
|
||||||
|
lcl_gui=>render( ).
|
||||||
WHEN 'commit'.
|
WHEN 'commit'.
|
||||||
lv_key = iv_getdata.
|
lv_key = iv_getdata.
|
||||||
commit( lv_key ).
|
commit( lv_key ).
|
||||||
|
@ -18212,6 +18269,8 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
lo_repo LIKE LINE OF lt_repos.
|
lo_repo LIKE LINE OF lt_repos.
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OBJECT go_user.
|
||||||
|
|
||||||
rv_html = lcl_gui=>header( ) &&
|
rv_html = lcl_gui=>header( ) &&
|
||||||
render_menu( ).
|
render_menu( ).
|
||||||
|
|
||||||
|
@ -19449,15 +19508,50 @@ CLASS lcl_persistence_user IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD is_hidden.
|
||||||
|
|
||||||
|
DATA: lt_hidden TYPE ty_repo_hidden_tt.
|
||||||
|
|
||||||
|
|
||||||
|
lt_hidden = read( )-repo_hidden.
|
||||||
|
READ TABLE lt_hidden FROM iv_key TRANSPORTING NO FIELDS.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
rv_hidden = abap_true.
|
||||||
|
ELSE.
|
||||||
|
rv_hidden = abap_false.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD hide.
|
||||||
|
|
||||||
|
DATA: ls_user TYPE ty_user.
|
||||||
|
|
||||||
|
|
||||||
|
ls_user = read( ).
|
||||||
|
APPEND iv_key TO ls_user-repo_hidden.
|
||||||
|
update( ls_user ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD unhide.
|
||||||
|
|
||||||
|
DATA: ls_user TYPE ty_user.
|
||||||
|
|
||||||
|
|
||||||
|
ls_user = read( ).
|
||||||
|
DELETE TABLE ls_user-repo_hidden FROM iv_key.
|
||||||
|
update( ls_user ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_email.
|
METHOD set_email.
|
||||||
|
|
||||||
DATA: ls_user TYPE ty_user.
|
DATA: ls_user TYPE ty_user.
|
||||||
|
|
||||||
|
|
||||||
ls_user = read( ).
|
ls_user = read( ).
|
||||||
|
|
||||||
ls_user-email = iv_email.
|
ls_user-email = iv_email.
|
||||||
|
|
||||||
update( ls_user ).
|
update( ls_user ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user