diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb
index 02b5de58c..a5d2ea14e 100644
--- a/app/helpers/merge_requests_helper.rb
+++ b/app/helpers/merge_requests_helper.rb
@@ -118,20 +118,36 @@ module MergeRequestsHelper
"#{"#{count} managing agent".pluralize(count)} after merge"
end
- def stock_owners_text(merge_request)
- relationship_text(merge_request, "stock_owner", :stock_owners_organisation_path)
- end
-
- def managing_agent_text(merge_request)
- relationship_text(merge_request, "managing_agent", :managing_agents_organisation_path)
- end
-
def related_organisations(merge_request, relationship_type)
organisations = merge_request.absorbing_organisation.send(relationship_type.pluralize).visible + merge_request.merging_organisations.flat_map { |org| org.send(relationship_type.pluralize).visible }
organisations += [merge_request.absorbing_organisation] + merge_request.merging_organisations
organisations.group_by { |relationship| relationship }.select { |_, occurrences| occurrences.size > 1 }.keys
end
+ def related_organisations_text(merge_request, relationship_type)
+ if related_organisations(merge_request, relationship_type).any?
+ "Some of the organisations merging have common #{relationship_type.humanize(capitalize: false).pluralize}.
"
+ else
+ ""
+ end
+ end
+
+ def organisations_without_relationships(merge_request, relationship_type)
+ ([merge_request.absorbing_organisation] + merge_request.merging_organisations).select { |org| org.send(relationship_type.pluralize).visible.empty? }
+ end
+
+ def organisations_without_relationships_text(organisations_without_relationships, relationship_type)
+ return "" unless organisations_without_relationships.any?
+
+ org_names = organisations_without_relationships.map(&:name).to_sentence
+ verb = organisations_without_relationships.count > 1 ? "have" : "has"
+ "#{org_names} #{verb} no #{relationship_type.humanize(capitalize: false).pluralize}.
"
+ end
+
+ def generate_organisation_link_text(organisation_count, org, relationship_type)
+ "View #{organisation_count == 1 ? 'the' : 'all'} #{organisation_count} #{org.name} #{relationship_type.humanize(capitalize: false).pluralize(organisation_count)} (opens in a new tab)"
+ end
+
def relationship_text(merge_request, relationship_type, organisation_path_helper)
text = ""
organisations_without_relationships = organisations_without_relationships(merge_request, relationship_type)
@@ -150,28 +166,12 @@ module MergeRequestsHelper
text.html_safe
end
- def organisations_without_relationships(merge_request, relationship_type)
- ([merge_request.absorbing_organisation] + merge_request.merging_organisations).select { |org| org.send(relationship_type.pluralize).visible.empty? }
- end
-
- def related_organisations_text(merge_request, relationship_type)
- if related_organisations(merge_request, relationship_type).any?
- "Some of the organisations merging have common #{relationship_type.humanize(capitalize: false).pluralize}.
"
- else
- ""
- end
- end
-
- def organisations_without_relationships_text(organisations_without_relationships, relationship_type)
- return "" unless organisations_without_relationships.any?
-
- org_names = organisations_without_relationships.map(&:name).to_sentence
- verb = organisations_without_relationships.count > 1 ? "have" : "has"
- "#{org_names} #{verb} no #{relationship_type.humanize(capitalize: false).pluralize}.
"
+ def stock_owners_text(merge_request)
+ relationship_text(merge_request, "stock_owner", :stock_owners_organisation_path)
end
- def generate_organisation_link_text(organisation_count, org, relationship_type)
- "View #{organisation_count == 1 ? 'the' : 'all'} #{organisation_count} #{org.name} #{relationship_type.humanize(capitalize: false).pluralize(organisation_count)} (opens in a new tab)"
+ def managing_agent_text(merge_request)
+ relationship_text(merge_request, "managing_agent", :managing_agents_organisation_path)
end
def merging_organisations_without_schemes_text(organisations)