mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge pull request #1029 from christianguenter2/optimize_create_package
Improve usability of repository popup
This commit is contained in:
commit
d77d823fed
|
@ -68,8 +68,8 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
lv_create TYPE boolean.
|
lv_create TYPE boolean.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_furl> LIKE LINE OF tt_fields,
|
FIELD-SYMBOLS: <ls_furl> LIKE LINE OF tt_fields,
|
||||||
<ls_fbranch> LIKE LINE OF tt_fields.
|
<ls_fbranch> LIKE LINE OF tt_fields,
|
||||||
|
<ls_fpackage> LIKE LINE OF tt_fields.
|
||||||
|
|
||||||
CLEAR cs_error.
|
CLEAR cs_error.
|
||||||
|
|
||||||
|
@ -100,6 +100,10 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt
|
||||||
ELSEIF pv_code = 'COD2'.
|
ELSEIF pv_code = 'COD2'.
|
||||||
cv_show_popup = abap_true.
|
cv_show_popup = abap_true.
|
||||||
|
|
||||||
|
READ TABLE tt_fields ASSIGNING <ls_fpackage> WITH KEY fieldname = 'DEVCLASS'.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
ls_package_data-devclass = <ls_fpackage>-value.
|
||||||
|
|
||||||
lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data
|
lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data
|
||||||
ev_create = lv_create ).
|
ev_create = lv_create ).
|
||||||
IF lv_create = abap_false.
|
IF lv_create = abap_false.
|
||||||
|
|
|
@ -119,8 +119,22 @@ CLASS lcl_popups DEFINITION FINAL.
|
||||||
|
|
||||||
on_select_list_function_click FOR EVENT added_function OF cl_salv_events_table
|
on_select_list_function_click FOR EVENT added_function OF cl_salv_events_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
e_salv_function.
|
e_salv_function,
|
||||||
|
|
||||||
|
extract_field_values
|
||||||
|
IMPORTING
|
||||||
|
it_fields TYPE ty_sval_tt
|
||||||
|
EXPORTING
|
||||||
|
ev_url TYPE abaptxt255-line
|
||||||
|
ev_package TYPE tdevc-devclass
|
||||||
|
ev_branch TYPE textl-line,
|
||||||
|
|
||||||
|
validate
|
||||||
|
IMPORTING
|
||||||
|
iv_package TYPE tdevc-devclass
|
||||||
|
iv_url TYPE abaptxt255-line
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -499,9 +513,12 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
lv_uattr TYPE spo_fattr,
|
lv_uattr TYPE spo_fattr,
|
||||||
lv_pattr TYPE spo_fattr,
|
lv_pattr TYPE spo_fattr,
|
||||||
lv_button2 TYPE svalbutton-buttontext,
|
lv_button2 TYPE svalbutton-buttontext,
|
||||||
lv_icon2 TYPE icon-name.
|
lv_icon2 TYPE icon-name,
|
||||||
|
lv_package TYPE tdevc-devclass,
|
||||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
lv_url TYPE abaptxt255-line,
|
||||||
|
lv_branch TYPE textl-line,
|
||||||
|
lv_finished TYPE abap_bool,
|
||||||
|
lx_error TYPE REF TO zcx_abapgit_exception.
|
||||||
|
|
||||||
IF iv_freeze_url = abap_true.
|
IF iv_freeze_url = abap_true.
|
||||||
lv_uattr = '05'.
|
lv_uattr = '05'.
|
||||||
|
@ -516,69 +533,91 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
lv_icon2 = icon_folder.
|
lv_icon2 = icon_folder.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
add_field( EXPORTING iv_tabname = 'ABAPTXT255'
|
lv_package = iv_package.
|
||||||
iv_fieldname = 'LINE'
|
lv_url = iv_url.
|
||||||
iv_fieldtext = 'Git clone URL'
|
lv_branch = iv_branch.
|
||||||
iv_value = iv_url
|
|
||||||
iv_field_attr = lv_uattr
|
|
||||||
CHANGING ct_fields = lt_fields ).
|
|
||||||
|
|
||||||
add_field( EXPORTING iv_tabname = 'TDEVC'
|
WHILE lv_finished = abap_false.
|
||||||
iv_fieldname = 'DEVCLASS'
|
|
||||||
iv_fieldtext = 'Target package'
|
|
||||||
iv_value = iv_package
|
|
||||||
iv_field_attr = lv_pattr
|
|
||||||
CHANGING ct_fields = lt_fields ).
|
|
||||||
|
|
||||||
add_field( EXPORTING iv_tabname = 'TEXTL'
|
CLEAR: lt_fields.
|
||||||
iv_fieldname = 'LINE'
|
|
||||||
iv_fieldtext = 'Branch'
|
|
||||||
iv_value = iv_branch
|
|
||||||
iv_field_attr = '05'
|
|
||||||
CHANGING ct_fields = lt_fields ).
|
|
||||||
|
|
||||||
lv_icon_ok = icon_okay.
|
add_field( EXPORTING iv_tabname = 'ABAPTXT255'
|
||||||
lv_icon_br = icon_workflow_fork.
|
iv_fieldname = 'LINE'
|
||||||
|
iv_fieldtext = 'Git clone URL'
|
||||||
|
iv_value = lv_url
|
||||||
|
iv_field_attr = lv_uattr
|
||||||
|
CHANGING ct_fields = lt_fields ).
|
||||||
|
|
||||||
CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS'
|
add_field( EXPORTING iv_tabname = 'TDEVC'
|
||||||
EXPORTING
|
iv_fieldname = 'DEVCLASS'
|
||||||
popup_title = iv_title
|
iv_fieldtext = 'Target package'
|
||||||
programname = sy-repid
|
iv_value = lv_package
|
||||||
formname = 'BRANCH_POPUP'
|
iv_field_attr = lv_pattr
|
||||||
ok_pushbuttontext = 'OK'
|
CHANGING ct_fields = lt_fields ).
|
||||||
icon_ok_push = lv_icon_ok
|
|
||||||
first_pushbutton = 'Select branch'
|
|
||||||
icon_button_1 = lv_icon_br
|
|
||||||
second_pushbutton = lv_button2
|
|
||||||
icon_button_2 = lv_icon2
|
|
||||||
IMPORTING
|
|
||||||
returncode = lv_returncode
|
|
||||||
TABLES
|
|
||||||
fields = lt_fields
|
|
||||||
EXCEPTIONS
|
|
||||||
error_in_fields = 1
|
|
||||||
OTHERS = 2. "#EC NOTEXT
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Error from POPUP_GET_VALUES' ).
|
|
||||||
ENDIF.
|
|
||||||
IF lv_returncode = 'A'.
|
|
||||||
rs_popup-cancel = abap_true.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
|
add_field( EXPORTING iv_tabname = 'TEXTL'
|
||||||
ASSERT sy-subrc = 0.
|
iv_fieldname = 'LINE'
|
||||||
rs_popup-url = <ls_field>-value.
|
iv_fieldtext = 'Branch'
|
||||||
lcl_url=>name( rs_popup-url ). " validate
|
iv_value = lv_branch
|
||||||
|
iv_field_attr = '05'
|
||||||
|
CHANGING ct_fields = lt_fields ).
|
||||||
|
|
||||||
READ TABLE lt_fields INDEX 2 ASSIGNING <ls_field>.
|
lv_icon_ok = icon_okay.
|
||||||
ASSERT sy-subrc = 0.
|
lv_icon_br = icon_workflow_fork.
|
||||||
rs_popup-package = <ls_field>-value.
|
|
||||||
TRANSLATE rs_popup-package TO UPPER CASE.
|
|
||||||
|
|
||||||
READ TABLE lt_fields INDEX 3 ASSIGNING <ls_field>.
|
CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS'
|
||||||
ASSERT sy-subrc = 0.
|
EXPORTING
|
||||||
rs_popup-branch_name = <ls_field>-value.
|
popup_title = iv_title
|
||||||
|
programname = sy-repid
|
||||||
|
formname = 'BRANCH_POPUP'
|
||||||
|
ok_pushbuttontext = 'OK'
|
||||||
|
icon_ok_push = lv_icon_ok
|
||||||
|
first_pushbutton = 'Select branch'
|
||||||
|
icon_button_1 = lv_icon_br
|
||||||
|
second_pushbutton = lv_button2
|
||||||
|
icon_button_2 = lv_icon2
|
||||||
|
IMPORTING
|
||||||
|
returncode = lv_returncode
|
||||||
|
TABLES
|
||||||
|
fields = lt_fields
|
||||||
|
EXCEPTIONS
|
||||||
|
error_in_fields = 1
|
||||||
|
OTHERS = 2. "#EC NOTEXT
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( 'Error from POPUP_GET_VALUES' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lv_returncode = 'A'.
|
||||||
|
rs_popup-cancel = abap_true.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
extract_field_values(
|
||||||
|
EXPORTING
|
||||||
|
it_fields = lt_fields
|
||||||
|
IMPORTING
|
||||||
|
ev_url = lv_url
|
||||||
|
ev_package = lv_package
|
||||||
|
ev_branch = lv_branch ).
|
||||||
|
|
||||||
|
lv_finished = abap_true.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
validate( iv_url = lv_url
|
||||||
|
iv_package = lv_package ).
|
||||||
|
|
||||||
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
|
MESSAGE lx_error->text TYPE 'S' DISPLAY LIKE 'E'.
|
||||||
|
" in case of validation errors we display the popup again
|
||||||
|
CLEAR: lv_finished.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDWHILE.
|
||||||
|
|
||||||
|
rs_popup-url = lv_url.
|
||||||
|
rs_popup-package = lv_package.
|
||||||
|
rs_popup-branch_name = lv_branch.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -978,4 +1017,36 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD extract_field_values.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_field> LIKE LINE OF it_fields.
|
||||||
|
|
||||||
|
CLEAR: ev_url,
|
||||||
|
ev_package,
|
||||||
|
ev_branch.
|
||||||
|
|
||||||
|
READ TABLE it_fields INDEX 1 ASSIGNING <ls_field>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
ev_url = <ls_field>-value.
|
||||||
|
|
||||||
|
READ TABLE it_fields INDEX 2 ASSIGNING <ls_field>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
ev_package = <ls_field>-value.
|
||||||
|
TRANSLATE ev_package TO UPPER CASE.
|
||||||
|
|
||||||
|
READ TABLE it_fields INDEX 3 ASSIGNING <ls_field>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
ev_branch = <ls_field>-value.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD validate.
|
||||||
|
|
||||||
|
lcl_url=>name( |{ iv_url }| ).
|
||||||
|
lcl_app=>repo_srv( )->validate_package( iv_package ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -134,7 +134,7 @@ CLASS lcl_repo_online DEFINITION INHERITING FROM lcl_repo FINAL.
|
||||||
io_stage TYPE REF TO lcl_stage
|
io_stage TYPE REF TO lcl_stage
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
get_unnecessary_local_objs
|
get_unnecessary_local_objs
|
||||||
RETURNING VALUE(rt_unnecessary_local_objects) TYPE zif_abapgit_definitions=>TY_TADIR_TT
|
RETURNING VALUE(rt_unnecessary_local_objects) TYPE zif_abapgit_definitions=>ty_tadir_tt
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -219,6 +219,10 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
iv_offline TYPE abap_bool
|
iv_offline TYPE abap_bool
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS validate_package
|
||||||
|
IMPORTING iv_package TYPE devclass
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
METHODS constructor.
|
METHODS constructor.
|
||||||
|
@ -227,16 +231,12 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
mo_persistence TYPE REF TO lcl_persistence_repo,
|
mo_persistence TYPE REF TO lcl_persistence_repo,
|
||||||
mt_list TYPE ty_repo_tt.
|
mt_list TYPE ty_repo_tt.
|
||||||
|
|
||||||
|
METHODS is_sap_object_allowed
|
||||||
|
RETURNING
|
||||||
|
VALUE(r_is_sap_object_allowed) TYPE abap_bool.
|
||||||
|
|
||||||
METHODS add
|
METHODS add
|
||||||
IMPORTING io_repo TYPE REF TO lcl_repo
|
IMPORTING io_repo TYPE REF TO lcl_repo
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS validate_package
|
|
||||||
IMPORTING iv_package TYPE devclass
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
METHODS is_sap_object_allowed
|
|
||||||
RETURNING
|
|
||||||
value(r_is_sap_object_allowed) TYPE abap_bool.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_repo_srv DEFINITION
|
ENDCLASS. "lcl_repo_srv DEFINITION
|
||||||
|
|
Loading…
Reference in New Issue
Block a user