diff --git a/src/api/app/components/request_decision_component.html.haml b/src/api/app/components/request_decision_component.html.haml
index a9ba9bf1d48..829ea259d54 100644
--- a/src/api/app/components/request_decision_component.html.haml
+++ b/src/api/app/components/request_decision_component.html.haml
@@ -1,33 +1,97 @@
.request-decision
- - if @show_hint
- .alert.alert-warning.mb-1
- You are a project maintainer but not a package maintainer. This package
- has #{pluralize(@package_maintainers.size, 'package maintainer')} assigned. Please keep
- in mind that also package maintainers would like to review this request.
- = form_tag({ action: 'changerequest' }, id: 'request_handle_form') do
+ = form_tag({ action: 'changerequest' }, id: 'request_handle_form', class: 'write-and-preview',
+ data: { preview_message_url: preview_comments_path, message_body_param: 'comment[body]' }) do
= hidden_field_tag(:number, @bs_request.number)
- = text_area_tag(:reason, nil, placeholder: 'Please explain your decision...', rows: 4, class: 'w-100 form-control mb-2')
- - if single_action_request && @is_target_maintainer && @bs_request.state.in?([:new, :review])
- - if show_add_submitter_as_maintainer_option?
- .form-check.mb-2
- = check_box_tag('add_submitter_as_maintainer_0', "#{@action.target_project}_#_#{@action.target_package}", false, class: 'form-check-input')
- %label.form-check-label{ for: 'add_submitter_as_maintainer_0' }
- Add #{link_to(@bs_request.creator, user_path(@bs_request.creator))} as maintainer for
- #{helpers.project_or_package_link(project: @action.target_project, package: @action.target_package, short: true)}
- - if @action.type == 'submit'
- - @action.forward.each_with_index do |forward, index|
- .form-check.mb-2
- = check_box_tag("forward-#{index}", "#{forward[:project]}_#_#{forward[:package]}", true, class: 'form-check-input')
- %label.form-check-label{ for: "forward-#{index}" }
- Forward submit request to
- #{helpers.project_or_package_link(project: forward[:project], package: forward[:package], short: true)}
- - if policy(@bs_request).revoke_request?
- = submit_tag 'Revoke request', name: 'revoked', class: 'btn btn-danger me-2'
- - if policy(@bs_request).reopen_request?
- = submit_tag 'Reopen request', name: 'new', class: 'btn btn-warning me-2'
- - if policy(@bs_request).accept_request?
- - if policy(@bs_request).decline_request?
- = submit_tag('Decline request', name: 'declined', title: 'Decline the request, as the author of the request you can reopen it again.',
- class: 'btn btn-danger me-2')
- = submit_tag('Accept request', name: 'accepted', title: 'Accept the request, this will apply the changes on the target.',
- class: 'btn btn-primary', data: confirmation)
+ .px-3.py-1.border.border-1.pb-2{ 'data-canned-controller': '' }
+ - if policy(Comment.new(commentable: @bs_request)).locked?
+ .alert.alert-warning.mt-2{ role: 'alert' }
+ Commenting on this is locked.
+ - if CommentLockPolicy.new(User.session, @bs_request).create?
+ = helpers.comment_lock_alert(@bs_request)
+ .card
+ %ul.card-header.nav.nav-tabs.px-3.pt-2.pb-0.disable-link-generation{ role: 'tablist' }
+ %li.nav-item
+ = link_to('Write', "#write_new_comment", class: 'nav-link active', data: { 'bs-toggle': 'tab' },
+ role: 'tab', aria: { controls: 'write-comment-tab', selected: 'true'})
+ %li.nav-item
+ = link_to('Preview', '#preview_new_comment', class: 'nav-link preview-message-tab', data: { 'bs-toggle': 'tab' },
+ role: 'tab', aria: { controls: 'preview-message-tab', selected: 'false' })
+ .tab-content.px-3
+ .tab-pane.fade.show.active.my-3{ id: 'write_new_comment', role: 'tabpanel',
+ 'aria-labelledby': 'write-comment-tab', 'data-canned-controller': '' }
+ - if Flipper.enabled?(:content_moderation, User.session)
+ .d-flex.justify-content-end
+ = render CannedResponsesDropdownComponent.new(User.session.canned_responses.where(decision_type: nil).order(:title))
+ = text_area_tag(:reason, nil,
+ placeholder: 'Write your comment or decision...(markdown is only supported for comments, not for decisions)',
+ rows: 4, class: 'w-100 form-control mb-2 message-field')
+ .tab-pane.fade{ id: 'preview_new_comment', role: 'tabpanel', 'aria-labelledby': 'preview-message-tab' }
+ .comment-preview.message-preview.border-bottom.border-gray-300.my-3
+ .mt-2
+ - if policy(Comment.new(commentable:@bs_request)).create?
+ = submit_tag 'Add comment', class: 'btn btn-primary me-2', data: { disable_with: 'Creating comment...' }, name: 'commented'
+ - if policy(@bs_request).revoke_request?
+ = submit_tag 'Revoke request', name: 'revoked', class: 'btn btn-danger me-2', data: other_decision_confirmation('revoke')
+ - if policy(@bs_request).decline_request?
+ = submit_tag('Decline request', name: 'declined', class: 'btn btn-danger me-2', data: other_decision_confirmation('decline'),
+ title: 'Decline the request, as the author of the request you can reopen it again.')
+ - if policy(@bs_request).accept_request?
+ -# Hidden checkbox input to flag make_maintainer option
+ - if accept_with_options_allowed? && show_add_submitter_as_maintainer_option?
+ .form-check.mb-2.mt-2.d-none
+ = check_box_tag('add_submitter_as_maintainer_0', "#{@action.target_project}_#_#{@action.target_package}",
+ false, class: 'form-check-input')
+ -# Accept buttons
+ %span.dropdown.me-2
+ = button_tag('Accept', type: 'button', role: 'button', id: 'decision-buttons-group', class: 'btn btn-secondary dropdown-toggle',
+ data: { 'bs-toggle': 'dropdown'}, aria: { 'haspopup': 'true', 'expanded': 'false' })
+ .dropdown-menu{ aria: { labelledby: 'decision-buttons-group' } }
+ -# Simple Accept request submit
+ = submit_tag('Accept request', name: 'accepted', class: 'btn-link dropdown-item', data: confirmation,
+ title: 'Accept the request, this will apply the changes on the target.')
+ -# Accept and make maintainer submit
+ - if accept_with_options_allowed? && show_add_submitter_as_maintainer_option?
+ = submit_tag("Accept and make #{@bs_request.creator} maintainer of #{make_maintainer_of}",
+ name: 'accepted',
+ class: 'btn-link dropdown-item', data: confirmation,
+ title: 'Accept the request. this will apply the changes on the target.',
+ id: 'accept-and-make-maintainer')
+ -# Accept and forward buttons
+ - if forward_allowed?
+ %span.dropdown.me-2
+ = button_tag('Accept and Forward', type: 'button', role: 'button', id: 'decision-forward-buttons-group',
+ class: 'btn btn-secondary dropdown-toggle',
+ data: { 'bs-toggle': 'dropdown'}, aria: { 'haspopup': 'true', 'expanded': 'false' })
+ .dropdown-menu{ aria: { labelledby: 'decision-forward-buttons-group' } }
+ - @action.forward.each_with_index do |forward, index|
+ .form-check.m-2
+ = check_box_tag("forward-#{index}", "#{forward[:project]}_#_#{forward[:package]}", true,
+ class: 'form-check-input forward-check-inputs')
+ %label.form-check-label{ for: "forward-#{index}" }
+ Forward submit request to
+ #{helpers.project_or_package_link(project: forward[:project], package: forward[:package], short: true)}
+ %hr.dropdown-divider
+ -# Accept and forward submit
+ = submit_tag('Accept and forward request to the selected projects ', name: 'accepted', class: 'btn-link dropdown-item',
+ data: confirmation, title: 'Accept the request. this will apply the changes on the target.',
+ id: 'accept-and-forward')
+ -# Accept and make maintainer and forward submit
+ - if show_add_submitter_as_maintainer_option?
+ = submit_tag("Accept and make #{@bs_request.creator} maintainer of #{make_maintainer_of} and forward request to the selected projects",
+ name: 'accepted', class: 'btn-link dropdown-item', data: confirmation,
+ title: 'Accept the request. this will apply the changes on the target.',
+ id: 'accept-and-make-maintainer-and-forward')
+
+ - if policy(@bs_request).reopen_request?
+ = submit_tag 'Reopen request', name: 'new', class: 'btn btn-warning me-2', data: other_decision_confirmation('reopen')
+
+:javascript
+ attachPreviewMessageOnCommentBoxes();
+
+ // Check the proper checkbox behind the scene on different type of accept submit
+ $('#accept-and-make-maintainer').on('click', function(){
+ $('input[name=add_submitter_as_maintainer_0]').prop('checked', 'checked');
+ });
+ $('#accept-and-make-maintainer-and-forward').on('click', function(){
+ $('input[name=add_submitter_as_maintainer_0]').prop('checked', 'checked');
+ });
diff --git a/src/api/app/components/request_decision_component.rb b/src/api/app/components/request_decision_component.rb
index 0e07ba87e8b..4409852d7e5 100644
--- a/src/api/app/components/request_decision_component.rb
+++ b/src/api/app/components/request_decision_component.rb
@@ -6,7 +6,13 @@ def initialize(bs_request:, action:, is_target_maintainer:, package_maintainers:
@is_target_maintainer = is_target_maintainer
@action = action
@package_maintainers = package_maintainers
- @show_hint = render? && show_project_maintainer_hint
+
+ return unless render? && show_project_maintainer_hint
+
+ @package_maintainers_hint = "Note\n" \
+ 'You are a project maintainer but not a package maintainer. This package ' \
+ "has #{pluralize(@package_maintainers.size, 'package maintainer')} assigned. Please keep " \
+ 'in mind that also package maintainers would like to review this request.'.freeze
end
def render?
@@ -19,13 +25,29 @@ def single_action_request
def confirmation
if @bs_request.state == :review
- { confirm: 'Do you really want to approve this request, despite of open review requests?' }
+ { confirm: "Do you really want to approve this request, despite of open review requests?\n\n#{@package_maintainers_hint}" }
else
{}
end
end
+ def other_decision_confirmation(decision_text)
+ { confirm: "Do you really want to #{decision_text} this request?\n\n#{@package_maintainers_hint}" }
+ end
+
def show_add_submitter_as_maintainer_option?
@action.type == 'submit' && !@action.creator_is_target_maintainer
end
+
+ def accept_with_options_allowed?
+ single_action_request && @is_target_maintainer && @bs_request.state.in?(%i[new review])
+ end
+
+ def forward_allowed?
+ @action.type == 'submit' && @action.forward.any?
+ end
+
+ def make_maintainer_of
+ @action.target_project + ("/#{@action.target_package}" if @action.target_package)
+ end
end
diff --git a/src/api/app/controllers/webui/comments_controller.rb b/src/api/app/controllers/webui/comments_controller.rb
index 27998fb581f..6d09f891d0b 100644
--- a/src/api/app/controllers/webui/comments_controller.rb
+++ b/src/api/app/controllers/webui/comments_controller.rb
@@ -1,4 +1,6 @@
class Webui::CommentsController < Webui::WebuiController
+ include BuildNewComment
+
before_action :require_login
before_action :set_commented, only: :create
before_action :set_comment, only: %i[moderate history]
@@ -6,9 +8,7 @@ class Webui::CommentsController < Webui::WebuiController
def create
return commented_unavailable if @commented.nil?
- @comment = @commented.comments.new(permitted_params)
- authorize @comment, :create?
- User.session.comments << @comment
+ build_new_comment(@commented, permitted_params)
@commentable = @comment.commentable
status = if @comment.save
diff --git a/src/api/app/controllers/webui/request_controller.rb b/src/api/app/controllers/webui/request_controller.rb
index a4520a8d78a..d68c298c6bc 100644
--- a/src/api/app/controllers/webui/request_controller.rb
+++ b/src/api/app/controllers/webui/request_controller.rb
@@ -1,6 +1,7 @@
class Webui::RequestController < Webui::WebuiController
include Webui::NotificationsHandler
include Webui::RequestsFilter
+ include BuildNewComment
ALLOWED_INVOLVEMENTS = %w[all incoming outgoing].freeze
@@ -204,9 +205,14 @@ def sourcediff
end
def changerequest
- changestate = (%w[accepted declined revoked new] & params.keys).last
+ changestate = (%w[accepted commented declined revoked new] & params.keys).last
- if change_state(changestate, params)
+ if changestate == 'commented'
+
+ build_new_comment(BsRequest.find_by(number: params[:number]),
+ body: params[:reason])
+
+ elsif change_state(changestate, params)
# TODO: Make this work for each submit action individually
if params[:add_submitter_as_maintainer_0] # rubocop:disable Naming/VariableNumber
if changestate == 'accepted'
diff --git a/src/api/app/models/concerns/build_new_comment.rb b/src/api/app/models/concerns/build_new_comment.rb
new file mode 100644
index 00000000000..7a1025f63e6
--- /dev/null
+++ b/src/api/app/models/concerns/build_new_comment.rb
@@ -0,0 +1,9 @@
+module BuildNewComment
+ extend ActiveSupport::Concern
+
+ def build_new_comment(commented, permitted_params)
+ @comment = commented.comments.new(permitted_params)
+ authorize @comment, :create?
+ User.session.comments << @comment
+ end
+end
diff --git a/src/api/app/views/webui/request/beta_show.html.haml b/src/api/app/views/webui/request/beta_show.html.haml
index 8d984f9f300..7f1fa6025ba 100644
--- a/src/api/app/views/webui/request/beta_show.html.haml
+++ b/src/api/app/views/webui/request/beta_show.html.haml
@@ -78,8 +78,9 @@
history_elements: @history_elements,
request_reviews_for_non_staging_projects: @request_reviews)
- .comment_new
- = render partial: 'webui/comment/new', locals: { commentable: @bs_request }
+ - if !policy(@bs_request).revoke_request? && !policy(@bs_request).reopen_request? && !policy(@bs_request).accept_request?
+ .comment_new
+ = render partial: 'webui/comment/new', locals: { commentable: @bs_request }
%hr
- if @bs_request.accept_at.present?
diff --git a/src/api/spec/cassettes/Comments_with_diff/reply_comment/when_under_the_beta_program/displays_the_changes_after_adding_a_new_comment.yml b/src/api/spec/cassettes/Comments_with_diff/reply_comment/when_under_the_beta_program/displays_the_changes_after_adding_a_new_comment.yml
index c48bec736b4..6061cf78736 100644
--- a/src/api/spec/cassettes/Comments_with_diff/reply_comment/when_under_the_beta_program/displays_the_changes_after_adding_a_new_comment.yml
+++ b/src/api/spec/cassettes/Comments_with_diff/reply_comment/when_under_the_beta_program/displays_the_changes_after_adding_a_new_comment.yml
@@ -7,7 +7,7 @@ http_interactions:
encoding: UTF-8
string: |
- The Wealth of Nations
+ The Wings of the Dove
headers:
@@ -34,10 +34,10 @@ http_interactions:
encoding: UTF-8
string: |
- The Wealth of Nations
+ The Wings of the Dove
- recorded_at: Mon, 21 Oct 2024 07:55:26 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:25 GMT
- request:
method: put
uri: http://backend:5352/source/target_project/target_package/_meta?user=user_2
@@ -45,8 +45,8 @@ http_interactions:
encoding: UTF-8
string: |
- Shall not Perish
- Dolores doloribus perspiciatis et.
+ The Heart Is Deceitful Above All Things
+ Magni animi accusantium nihil.
headers:
Accept-Encoding:
@@ -67,15 +67,15 @@ http_interactions:
Connection:
- close
Content-Length:
- - '166'
+ - '185'
body:
encoding: UTF-8
string: |
- Shall not Perish
- Dolores doloribus perspiciatis et.
+ The Heart Is Deceitful Above All Things
+ Magni animi accusantium nihil.
- recorded_at: Mon, 21 Oct 2024 07:55:26 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:25 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/_meta?user=user_3
@@ -83,7 +83,7 @@ http_interactions:
encoding: UTF-8
string: |
- Things Fall Apart
+ For a Breath I Tarry
headers:
@@ -105,15 +105,15 @@ http_interactions:
Connection:
- close
Content-Length:
- - '108'
+ - '111'
body:
encoding: UTF-8
string: |
- Things Fall Apart
+ For a Breath I Tarry
- recorded_at: Mon, 21 Oct 2024 07:55:26 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:26 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/_project/_attribute?meta=1&user=user_3
@@ -142,18 +142,18 @@ http_interactions:
Connection:
- close
Content-Length:
- - '168'
+ - '169'
body:
encoding: UTF-8
string: |
-
- f827c7465192760ab7701d3df7b20386
-
+
+ fa961170fbd6e86995a8de46ad3da396
+
user_3
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:26 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/package_a/_meta?user=user_4
@@ -161,8 +161,8 @@ http_interactions:
encoding: UTF-8
string: |
- Alone on a Wide, Wide Sea
- Repellat nesciunt ut exercitationem.
+ Eyeless in Gaza
+ Qui laborum nostrum omnis.
headers:
Accept-Encoding:
@@ -183,21 +183,21 @@ http_interactions:
Connection:
- close
Content-Length:
- - '172'
+ - '152'
body:
encoding: UTF-8
string: |
- Alone on a Wide, Wide Sea
- Repellat nesciunt ut exercitationem.
+ Eyeless in Gaza
+ Qui laborum nostrum omnis.
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:27 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/package_a/README.txt
body:
encoding: UTF-8
- string: Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ string: Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
@@ -217,19 +217,19 @@ http_interactions:
Connection:
- close
Content-Length:
- - '201'
+ - '203'
body:
encoding: UTF-8
string: |
-
- a09afa482a997030612d990e3b7733aa
+
+ fafdb3cebde7662ca252456e669f6005
1
-
+
unknown
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:27 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/package_a/package_a.spec
@@ -282,19 +282,19 @@ http_interactions:
Connection:
- close
Content-Length:
- - '201'
+ - '203'
body:
encoding: UTF-8
string: |
-
- a09afa482a997030612d990e3b7733aa
+
+ fafdb3cebde7662ca252456e669f6005
1
-
+
unknown
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:27 GMT
- request:
method: put
uri: http://backend:5352/source/source_project/package_a/package_a.changes
@@ -320,19 +320,19 @@ http_interactions:
Connection:
- close
Content-Length:
- - '201'
+ - '203'
body:
encoding: UTF-8
string: |
-
- a09afa482a997030612d990e3b7733aa
+
+ fafdb3cebde7662ca252456e669f6005
1
-
+
unknown
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:27 GMT
- request:
method: get
uri: http://backend:5352/source/source_project/package_a
@@ -358,16 +358,16 @@ http_interactions:
Connection:
- close
Content-Length:
- - '404'
+ - '406'
body:
encoding: UTF-8
string: |
-
-
-
-
+
+
+
+
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:28 GMT
- request:
method: post
uri: http://backend:5352/source/source_project/package_a?cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
@@ -395,18 +395,18 @@ http_interactions:
Connection:
- close
Content-Length:
- - '1468'
+ - '1470'
body:
encoding: UTF-8
string: |
-
+
-
+
-
+
@@ -0,0 +1,1 @@
- +Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ +Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
\ No newline at end of file
@@ -453,7 +453,7 @@ http_interactions:
- recorded_at: Mon, 21 Oct 2024 07:55:27 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:28 GMT
- request:
method: get
uri: http://backend:5352/source/target_project/target_package
@@ -462,7 +462,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - fecc60ac-1d3d-4e26-a3ac-149c5bac0d02
+ - 91635938-0ca0-4d8e-a6c6-cb49ec212bd7
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -487,7 +487,7 @@ http_interactions:
string: |
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/build/source_project/_result?lastbuild=0&locallink=1&multibuild=1&package=package_a&view=status
@@ -496,7 +496,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -521,7 +521,7 @@ http_interactions:
string: '
'
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/source/source_project/package_a
@@ -530,7 +530,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -549,16 +549,16 @@ http_interactions:
Connection:
- close
Content-Length:
- - '404'
+ - '406'
body:
encoding: UTF-8
string: |
-
-
-
-
+
+
+
+
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: post
uri: http://backend:5352/source/source_project/package_a?cacheonly=1&cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
@@ -569,7 +569,7 @@ http_interactions:
Content-Type:
- application/octet-stream
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -584,7 +584,7 @@ http_interactions:
Content-Type:
- text/xml
Content-Length:
- - '1468'
+ - '1470'
Cache-Control:
- no-cache
Connection:
@@ -592,14 +592,14 @@ http_interactions:
body:
encoding: UTF-8
string: |
-
+
-
+
-
+
@@ -0,0 +1,1 @@
- +Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ +Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
\ No newline at end of file
@@ -646,7 +646,7 @@ http_interactions:
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/source/source_project/package_a
@@ -655,7 +655,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -674,16 +674,16 @@ http_interactions:
Connection:
- close
Content-Length:
- - '404'
+ - '406'
body:
encoding: UTF-8
string: |
-
-
-
-
+
+
+
+
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: post
uri: http://backend:5352/source/source_project/package_a?cacheonly=1&cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
@@ -694,7 +694,7 @@ http_interactions:
Content-Type:
- application/octet-stream
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -709,7 +709,7 @@ http_interactions:
Content-Type:
- text/xml
Content-Length:
- - '1468'
+ - '1470'
Cache-Control:
- no-cache
Connection:
@@ -717,14 +717,14 @@ http_interactions:
body:
encoding: UTF-8
string: |
-
+
-
+
-
+
@@ -0,0 +1,1 @@
- +Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ +Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
\ No newline at end of file
@@ -771,7 +771,7 @@ http_interactions:
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/source/source_project/package_a
@@ -780,7 +780,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -799,16 +799,16 @@ http_interactions:
Connection:
- close
Content-Length:
- - '404'
+ - '406'
body:
encoding: UTF-8
string: |
-
-
-
-
+
+
+
+
- recorded_at: Mon, 21 Oct 2024 07:55:32 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: post
uri: http://backend:5352/source/source_project/package_a?cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
@@ -819,7 +819,7 @@ http_interactions:
Content-Type:
- application/octet-stream
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -834,7 +834,7 @@ http_interactions:
Content-Type:
- text/xml
Content-Length:
- - '1468'
+ - '1470'
Cache-Control:
- no-cache
Connection:
@@ -842,14 +842,14 @@ http_interactions:
body:
encoding: UTF-8
string: |
-
+
-
+
-
+
@@ -0,0 +1,1 @@
- +Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ +Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
\ No newline at end of file
@@ -896,7 +896,7 @@ http_interactions:
- recorded_at: Mon, 21 Oct 2024 07:55:33 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/source/target_project/target_package
@@ -905,7 +905,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 047c5eed-e875-4597-94d9-4eb7aabb462f
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -930,7 +930,41 @@ http_interactions:
string: |
- recorded_at: Mon, 21 Oct 2024 07:55:33 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
+- request:
+ method: get
+ uri: http://backend:5352/source/target_project/target_package
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ X-Request-Id:
+ - 9084fd55-5204-4d8f-bf08-4dea4a44763c
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '89'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+ recorded_at: Mon, 21 Oct 2024 09:52:35 GMT
- request:
method: get
uri: http://backend:5352/build/source_project/_result?lastbuild=0&locallink=1&multibuild=1&package=package_a&view=status
@@ -939,7 +973,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - 7ffcb582-1689-449b-92f7-3e8282eda9e2
+ - 2db5cf56-850d-4431-b639-ccfcfe1417a1
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -964,7 +998,7 @@ http_interactions:
string: '
'
- recorded_at: Mon, 21 Oct 2024 07:55:33 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:36 GMT
- request:
method: get
uri: http://backend:5352/source/source_project/package_a
@@ -973,7 +1007,7 @@ http_interactions:
string: ''
headers:
X-Request-Id:
- - a548b1a6-9a97-4727-896c-b86fe4f8b29d
+ - b35accbf-a1fc-4dc1-a206-4aeed1fbf94d
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -992,19 +1026,19 @@ http_interactions:
Connection:
- close
Content-Length:
- - '404'
+ - '406'
body:
encoding: UTF-8
string: |
-
-
-
-
+
+
+
+
- recorded_at: Mon, 21 Oct 2024 07:55:34 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:37 GMT
- request:
method: post
- uri: http://backend:5352/source/source_project/package_a?cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
+ uri: http://backend:5352/source/source_project/package_a?cacheonly=1&cmd=diff&expand=1&filelimit=10000&opackage=target_package&oproject=target_project&tarlimit=10000&view=xml&withissues=1
body:
encoding: UTF-8
string: ''
@@ -1012,7 +1046,7 @@ http_interactions:
Content-Type:
- application/octet-stream
X-Request-Id:
- - a548b1a6-9a97-4727-896c-b86fe4f8b29d
+ - b35accbf-a1fc-4dc1-a206-4aeed1fbf94d
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
@@ -1027,7 +1061,7 @@ http_interactions:
Content-Type:
- text/xml
Content-Length:
- - '1468'
+ - '1470'
Cache-Control:
- no-cache
Connection:
@@ -1035,14 +1069,14 @@ http_interactions:
body:
encoding: UTF-8
string: |
-
+
-
+
-
+
@@ -0,0 +1,1 @@
- +Atque maxime aut. Libero non sunt. Asperiores ipsum molestias.
+ +Asperiores odio sunt. Assumenda et labore. Excepturi dolore et.
\ No newline at end of file
@@ -1089,5 +1123,39 @@ http_interactions:
- recorded_at: Mon, 21 Oct 2024 07:55:34 GMT
+ recorded_at: Mon, 21 Oct 2024 09:52:37 GMT
+- request:
+ method: get
+ uri: http://backend:5352/source/target_project/target_package
+ body:
+ encoding: US-ASCII
+ string: ''
+ headers:
+ X-Request-Id:
+ - b35accbf-a1fc-4dc1-a206-4aeed1fbf94d
+ Accept-Encoding:
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
+ Accept:
+ - "*/*"
+ User-Agent:
+ - Ruby
+ response:
+ status:
+ code: 200
+ message: OK
+ headers:
+ Content-Type:
+ - text/xml
+ Cache-Control:
+ - no-cache
+ Connection:
+ - close
+ Content-Length:
+ - '89'
+ body:
+ encoding: UTF-8
+ string: |
+
+
+ recorded_at: Mon, 21 Oct 2024 09:52:37 GMT
recorded_with: VCR 6.3.1
diff --git a/src/api/spec/features/beta/webui/maintenance_workflow_spec.rb b/src/api/spec/features/beta/webui/maintenance_workflow_spec.rb
index 49dd006e418..8beb8f1f5a1 100644
--- a/src/api/spec/features/beta/webui/maintenance_workflow_spec.rb
+++ b/src/api/spec/features/beta/webui/maintenance_workflow_spec.rb
@@ -53,6 +53,7 @@
visit request_show_path(bs_request)
fill_in('reason', with: 'really? ok')
+ click_button('Decision')
click_button('Accept request')
end
@@ -96,6 +97,7 @@
visit request_show_path(bs_request)
fill_in('reason', with: 'really? ok')
+ click_button('Decision')
click_button('Accept request')
end