diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 655320af8..d7d8401e7 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -3,6 +3,7 @@ class MergeRequest < ApplicationRecord has_many :merge_request_organisations belongs_to :absorbing_organisation, class_name: "Organisation", optional: true has_many :merging_organisations, through: :merge_request_organisations, source: :merging_organisation + belongs_to :requestor, class_name: "User", foreign_key: "requester_id" validate :organisation_name_uniqueness, if: :new_organisation_name validates :new_telephone_number, presence: true, if: -> { telephone_number_correct == false } @@ -32,11 +33,7 @@ class MergeRequest < ApplicationRecord absorbing_organisation&.name || "" end - def requesting_user - User.find(requester_id) if requester_id - end - def dpo_user - absorbing_organisation.users.filter_by_active.find_by(is_dpo: true) if absorbing_organisation + absorbing_organisation.data_protection_officers.filter_by_active.first end end diff --git a/app/views/merge_requests/show.html.erb b/app/views/merge_requests/show.html.erb index 9ca64eaef..a6e2440d7 100644 --- a/app/views/merge_requests/show.html.erb +++ b/app/views/merge_requests/show.html.erb @@ -37,7 +37,7 @@ <% end %> <% request_details = [ - { label: "Requester", value: display_value_or_placeholder(@merge_request.requesting_user&.name) }, + { label: "Requester", value: display_value_or_placeholder(@merge_request.requestor&.name) }, { label: "Helpdesk ticket", value: @merge_request.helpdesk_ticket.present? ? link_to("#{@merge_request.helpdesk_ticket} (opens in a new tab)", "https://dluhcdigital.atlassian.net/browse/#{@merge_request.helpdesk_ticket}", target: "_blank", rel: "noopener noreferrer") : display_value_or_placeholder(nil), action: @merge_request.status == "request_merged" ? nil : { text: "Change", href: "#", visually_hidden_text: "helpdesk ticket" } }, { label: "Status", value: status_tag(@merge_request.status) }, ] %> diff --git a/spec/views/merge_requests/details.html.erb_spec.rb b/spec/views/merge_requests/details.html.erb_spec.rb index 8983d1801..b2d462484 100644 --- a/spec/views/merge_requests/details.html.erb_spec.rb +++ b/spec/views/merge_requests/details.html.erb_spec.rb @@ -24,7 +24,7 @@ RSpec.describe "merge_requests/details.html.erb", type: :view do it "displays the requester details" do expect(rendered).to have_selector("dt", text: "Requester") - expect(rendered).to have_selector("dd", text: merge_request.requesting_user&.name || "You didn't answer this question") + expect(rendered).to have_selector("dd", text: merge_request.requestor&.name || "You didn't answer this question") end it "displays the helpdesk ticket details" do