diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 26790dfac..54ce615c9 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.26.1'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.26.2'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index ce245c1f1..e3d9d95d1 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -53,7 +53,8 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt DATA: lv_url TYPE string, lx_error TYPE REF TO lcx_exception, ls_package_data TYPE scompkdtln, - ls_branch TYPE lcl_git_branch_list=>ty_git_branch. + ls_branch TYPE lcl_git_branch_list=>ty_git_branch, + lv_create TYPE boolean. FIELD-SYMBOLS: LIKE LINE OF tt_fields, LIKE LINE OF tt_fields. @@ -88,24 +89,9 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt ELSEIF pv_code = 'COD2'. cv_show_popup = abap_true. - CALL FUNCTION 'FUNCTION_EXISTS' - EXPORTING - funcname = 'PB_POPUP_PACKAGE_CREATE' - EXCEPTIONS - function_not_exist = 1 - OTHERS = 2. - IF sy-subrc = 1. -* looks like the function module used does not exist on all -* versions since 702, so show an error - lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). - ENDIF. - - CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' - CHANGING - p_object_data = ls_package_data - EXCEPTIONS - action_cancelled = 1. - IF sy-subrc = 1. + lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data + ev_create = lv_create ). + IF lv_create = abap_false. RETURN. ENDIF. @@ -119,6 +105,38 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt ENDFORM. "branch_popup +FORM package_popup TABLES tt_fields TYPE ty_sval_tt + USING pv_code TYPE clike + CHANGING cs_error TYPE svale + cv_show_popup TYPE c + RAISING lcx_exception ##called ##needed. +* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS + + DATA: ls_package_data TYPE scompkdtln, + lv_create TYPE boolean. + + FIELD-SYMBOLS: LIKE LINE OF tt_fields. + + CLEAR cs_error. + + IF pv_code = 'COD1'. + cv_show_popup = abap_true. + + lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data + ev_create = lv_create ). + IF lv_create = abap_false. + RETURN. + ENDIF. + + lcl_sap_package=>create( ls_package_data ). + COMMIT WORK. + + READ TABLE tt_fields ASSIGNING WITH KEY tabname = 'TDEVC'. + ASSERT sy-subrc = 0. + -value = ls_package_data-devclass. + ENDIF. +ENDFORM. "package_popup + FORM output. DATA: lt_ucomm TYPE TABLE OF sy-ucomm. PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND. diff --git a/src/zabapgit_page_branch_overview.prog.abap b/src/zabapgit_page_branch_overview.prog.abap index a98e66738..e67b5d96e 100644 --- a/src/zabapgit_page_branch_overview.prog.abap +++ b/src/zabapgit_page_branch_overview.prog.abap @@ -363,7 +363,6 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION. METHOD constructor. super->constructor( ). ms_control-page_title = 'BRANCH_OVERVIEW'. - ms_control-page_menu = build_menu( ). mo_repo = io_repo. refresh( ). ENDMETHOD. @@ -429,6 +428,9 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION. ro_html->add( render_merge( ) ). + ro_html->add( '
' ). + ro_html->add( build_menu( )->render( ) ). + * see http://stackoverflow.com/questions/6081483/maximum-size-of-a-canvas-element _add ''. diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index 46f82d07a..3cd11daca 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -61,12 +61,14 @@ CLASS lcl_popups DEFINITION FINAL. RETURNING VALUE(rv_answer) TYPE char1 RAISING lcx_exception, popup_to_inform - IMPORTING - titlebar TYPE clike - text_message TYPE clike - RAISING lcx_exception. - - + IMPORTING + titlebar TYPE clike + text_message TYPE clike + RAISING lcx_exception, + popup_to_create_package + EXPORTING es_package_data TYPE scompkdtln + ev_create TYPE boolean + RAISING lcx_exception. ENDCLASS. CLASS lcl_popups IMPLEMENTATION. @@ -241,7 +243,10 @@ CLASS lcl_popups IMPLEMENTATION. METHOD repo_new_offline. DATA: lv_returncode TYPE c, - lt_fields TYPE TABLE OF sval. + lt_fields TYPE TABLE OF sval, + lv_icon_ok TYPE icon-name, + lv_button1 TYPE svalbutton-buttontext, + lv_icon1 TYPE icon-name. FIELD-SYMBOLS: LIKE LINE OF lt_fields. @@ -250,17 +255,28 @@ CLASS lcl_popups IMPLEMENTATION. _add_dialog_fld 'ABAPTXT255' 'LINE' 'Name' '' ''. _add_dialog_fld 'TDEVC' 'DEVCLASS' 'Package' '' ''. - CALL FUNCTION 'POPUP_GET_VALUES' + lv_icon_ok = icon_okay. + lv_button1 = 'Create package' ##NO_TEXT. + lv_icon1 = icon_folder. + + CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS' EXPORTING - no_value_check = abap_true - popup_title = 'New Offline Project' "#EC NOTEXT + popup_title = 'New Offline Project' + programname = sy-repid + formname = 'PACKAGE_POPUP' + ok_pushbuttontext = '' + icon_ok_push = lv_icon_ok + first_pushbutton = lv_button1 + icon_button_1 = lv_icon1 + second_pushbutton = '' + icon_button_2 = '' IMPORTING - returncode = lv_returncode + returncode = lv_returncode TABLES - fields = lt_fields + fields = lt_fields EXCEPTIONS - error_in_fields = 1 - OTHERS = 2. + error_in_fields = 1 + OTHERS = 2. IF sy-subrc <> 0. lcx_exception=>raise( 'Error from POPUP_GET_VALUES' ). ENDIF. @@ -482,4 +498,29 @@ CLASS lcl_popups IMPLEMENTATION. ENDMETHOD. " popup_to_inform. + METHOD popup_to_create_package. + CALL FUNCTION 'FUNCTION_EXISTS' + EXPORTING + funcname = 'PB_POPUP_PACKAGE_CREATE' + EXCEPTIONS + function_not_exist = 1 + OTHERS = 2. + IF sy-subrc = 1. +* looks like the function module used does not exist on all +* versions since 702, so show an error + lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ). + ENDIF. + + CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE' + CHANGING + p_object_data = es_package_data + EXCEPTIONS + action_cancelled = 1. + IF sy-subrc = 0. + ev_create = abap_true. + ELSE. + ev_create = abap_false. + ENDIF. + ENDMETHOD. " popup_to_create_package + ENDCLASS. diff --git a/src/zabapgit_services_git.prog.abap b/src/zabapgit_services_git.prog.abap index 929803158..f64216d36 100644 --- a/src/zabapgit_services_git.prog.abap +++ b/src/zabapgit_services_git.prog.abap @@ -201,7 +201,7 @@ CLASS lcl_services_git IMPLEMENTATION. ls_comment-comment = is_commit-comment. IF NOT is_commit-body IS INITIAL. - CONCATENATE ls_comment-comment is_commit-body + CONCATENATE ls_comment-comment '' is_commit-body INTO ls_comment-comment SEPARATED BY gc_newline. ENDIF. diff --git a/src/zabapgit_view_tutorial.prog.abap b/src/zabapgit_view_tutorial.prog.abap index b61c7e976..a438e2f0a 100644 --- a/src/zabapgit_view_tutorial.prog.abap +++ b/src/zabapgit_view_tutorial.prog.abap @@ -38,14 +38,21 @@ CLASS lcl_gui_view_tutorial IMPLEMENTATION. _add '

Adding and cloning repos

'. _add '

    '. + _add `
  • To clone a remote repo (e.g. from github) click `. ro_html->add_a( iv_txt = '+ Clone' iv_act = gc_action-repo_clone ). _add ' from the top menu. This will copy a remote repo to your system.
  • '. + _add `
  • To add a local package as a repo click `. ro_html->add_a( iv_txt = '+ Offline' iv_act = gc_action-repo_newoffline ). _add ' from the top menu. This will track a repo which already exist in'. _add ' the system with abapGit. You''ll be able to attach it to remote origin'. _add ' or just serialize as a zip file
  • '. + + _add `
  • Go `. + ro_html->add_a( iv_txt = 'Explore' iv_act = gc_action-go_explore ). + _add ' to find projects using abapGit
  • '. + _add '

'. _add '

Repository list and favorites

'.