Skip to content

Commit

Permalink
Merge pull request #8743 from eduardoj/fix_8732_substitute_number_in_…
Browse files Browse the repository at this point in the history
…excluded_requests

Rename number in excluded and staged requests
  • Loading branch information
coolo committed Nov 20, 2019
2 parents d91c7a4 + 61ebeab commit 50367fd
Show file tree
Hide file tree
Showing 95 changed files with 3,632 additions and 49,176 deletions.
2 changes: 1 addition & 1 deletion docs/api/api/create_excluded_requests.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<excluded_requests>
<request number='33' description='invalid request'/>
<request id='33' description='invalid request'/>
</excluded_requests>
2 changes: 1 addition & 1 deletion docs/api/api/delete_excluded_requests.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<excluded_requests>
<number>33</number>
<request id='33'/>
</excluded_requests>
4 changes: 2 additions & 2 deletions docs/api/api/remove_staged_requests.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<requests>
<number>7</number>
<number>13</number>
<request id='7'/>
<request id='13'/>
</requests>
6 changes: 3 additions & 3 deletions src/api/app/controllers/staging/staged_requests_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def create

if params[:remove_exclusion]
::Staging::RequestExcluder
.new(requests_xml_hash: { number: @request_numbers },
.new(requests_xml_hash: @parsed_xml,
staging_workflow: @staging_workflow)
.destroy!
end
Expand Down Expand Up @@ -55,7 +55,7 @@ def destroy
private

def set_request_numbers
@request_numbers = @parsed_xml.elements('number')
@request_numbers = [@parsed_xml[:request]].flatten.map { |request| request[:id].to_i }
return if @request_numbers.present?

render_error(
Expand All @@ -67,7 +67,7 @@ def set_request_numbers

def set_xml_hash
request_body = request.body.read
@parsed_xml = Xmlhash.parse(request_body) if request_body.present?
@parsed_xml = Xmlhash.parse(request_body).with_indifferent_access if request_body.present?
return if @parsed_xml

error_options = if request_body.present?
Expand Down
6 changes: 3 additions & 3 deletions src/api/app/models/staging/request_excluder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ def exclusions
end

def exclude_request(request)
bs_request = staging_workflow.target_of_bs_requests.find_by(number: request[:number])
return unless valid_request?(bs_request, request[:number])
bs_request = staging_workflow.target_of_bs_requests.find_by(number: request[:id])
return unless valid_request?(bs_request, request[:id])

request_excluded = Staging::RequestExclusion.new(bs_request: bs_request,
number: bs_request.try(:number),
Expand All @@ -69,7 +69,7 @@ def requests_to_be_excluded
end

def request_numbers
[requests_xml_hash[:number]].flatten.map(&:to_i)
[requests_xml_hash[:request]].flatten.map { |request| request[:id].to_i }
end

def valid_request?(bs_request, request_number)
Expand Down
8 changes: 4 additions & 4 deletions src/api/app/models/staging/staged_requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,11 @@ def request_target_project
end

def not_found_request_numbers
request_numbers - requests.pluck(:number).map(&:to_s)
request_numbers - requests.pluck(:number)
end

def excluded_request_numbers
staging_workflow.request_exclusions.where(number: @request_numbers).pluck(:number).map(&:to_s)
staging_workflow.request_exclusions.where(number: @request_numbers).pluck(:number)
end

def requests
Expand Down Expand Up @@ -177,10 +177,10 @@ def missing_packages
end

def missing_requests(requests)
not_unassigned_requests = request_numbers - requests.pluck(:number).map(&:to_s)
not_unassigned_requests = request_numbers - requests.pluck(:number)
return if not_unassigned_requests.empty?

requests_found = BsRequest.where(number: not_unassigned_requests).pluck(:number).map(&:to_s)
requests_found = BsRequest.where(number: not_unassigned_requests).pluck(:number)
requests_not_found = not_unassigned_requests - requests_found

errors << "Requests with number: #{requests_found.to_sentence} don't belong to Staging: #{staging_workflow.project}" if requests_found.present?
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 50367fd

Please sign in to comment.