Browse Source

Use absorbing organisation id to display name

pull/2561/head
Manny Dinssa 2 years ago
parent
commit
716f949168
  1. 4
      app/controllers/organisations_controller.rb
  2. 6
      app/models/merge_request.rb
  3. 5
      app/views/organisations/_merge_request_list.html.erb

4
app/controllers/organisations_controller.rb

@ -16,7 +16,9 @@ class OrganisationsController < ApplicationController
all_organisations = Organisation.order(:name) all_organisations = Organisation.order(:name)
@pagy, @organisations = pagy(filtered_collection(all_organisations.visible, search_term)) @pagy, @organisations = pagy(filtered_collection(all_organisations.visible, search_term))
@merge_requests = MergeRequest.visible.order(:new_organisation_name) @merge_requests = MergeRequest.visible
.joins("LEFT JOIN organisations ON organisations.id = merge_requests.absorbing_organisation_id")
.order("organisations.name")
@searched = search_term.presence @searched = search_term.presence
@total_count = all_organisations.visible.size @total_count = all_organisations.visible.size
end end

6
app/models/merge_request.rb

@ -19,7 +19,7 @@ class MergeRequest < ApplicationRecord
scope :visible, lambda { scope :visible, lambda {
open_collection_period_start_date = FormHandler.instance.start_date_of_earliest_open_collection_period open_collection_period_start_date = FormHandler.instance.start_date_of_earliest_open_collection_period
where( where(
"(status != :merged_status) OR (status = :merged_status AND merge_date >= :open_collection_period_start_date)", "(merge_requests.status != :merged_status) OR (merge_requests.status = :merged_status AND merge_requests.merge_date >= :open_collection_period_start_date)",
merged_status: 4, merged_status: 4,
open_collection_period_start_date:, open_collection_period_start_date:,
) )
@ -31,4 +31,8 @@ class MergeRequest < ApplicationRecord
errors.add(:new_organisation_name, :invalid) errors.add(:new_organisation_name, :invalid)
end end
end end
def absorbing_organisation_name
absorbing_organisation&.name || ""
end
end end

5
app/views/organisations/_merge_request_list.html.erb

@ -22,15 +22,14 @@
<% @merge_requests.each do |merge_request| %> <% @merge_requests.each do |merge_request| %>
<%= table.with_body do |body| %> <%= table.with_body do |body| %>
<%= body.with_row do |row| %> <%= body.with_row do |row| %>
<% absorbing_organisation = @organisations.find { |org| org.id == merge_request.absorbing_organisation_id } %> <% if merge_request.absorbing_organisation_name.blank? %>
<% if absorbing_organisation&.name.blank? %>
<% row.with_cell(text: "You didn't answer this question", <% row.with_cell(text: "You didn't answer this question",
html_attributes: { html_attributes: {
scope: "row", scope: "row",
class: "app-!-colour-muted", class: "app-!-colour-muted",
}) %> }) %>
<% else %> <% else %>
<% row.with_cell(text: absorbing_organisation&.name) %> <% row.with_cell(text: merge_request.absorbing_organisation_name) %>
<% end %> <% end %>
<% merge_date = merge_request.merge_date %> <% merge_date = merge_request.merge_date %>
<% if merge_date.nil? %> <% if merge_date.nil? %>

Loading…
Cancel
Save