diff --git a/app/models/case_log.rb b/app/models/case_log.rb
index e23d12f03..f35cec3be 100644
--- a/app/models/case_log.rb
+++ b/app/models/case_log.rb
@@ -110,6 +110,14 @@ class CaseLog < ApplicationRecord
end
end
+ def location_admin_district
+ if location
+ location.location_admin_district
+ else
+ super
+ end
+ end
+
def postcode_full
if location
location.postcode
diff --git a/app/models/form/question.rb b/app/models/form/question.rb
index 41a79fd3a..3345ad980 100644
--- a/app/models/form/question.rb
+++ b/app/models/form/question.rb
@@ -3,7 +3,8 @@ class Form::Question
:type, :min, :max, :step, :width, :fields_to_add, :result_field,
:conditional_for, :readonly, :answer_options, :page, :check_answer_label,
:inferred_answers, :hidden_in_check_answers, :inferred_check_answers_value,
- :guidance_partial, :prefix, :suffix, :requires_js, :fields_added, :derived
+ :guidance_partial, :prefix, :suffix, :requires_js, :fields_added, :derived,
+ :extra_check_answer_value
def initialize(id, hsh, page)
@id = id
@@ -24,6 +25,7 @@ class Form::Question
@answer_options = hsh["answer_options"]
@conditional_for = hsh["conditional_for"]
@inferred_answers = hsh["inferred_answers"]
+ @extra_check_answer_value = hsh["extra_check_answer_value"]
@inferred_check_answers_value = hsh["inferred_check_answers_value"]
@hidden_in_check_answers = hsh["hidden_in_check_answers"]
@derived = hsh["derived"]
@@ -51,16 +53,22 @@ class Form::Question
def get_inferred_answers(case_log)
return [] unless inferred_answers
- enabled_inferred_answers(inferred_answers, case_log).keys.map do |x|
- question = form.get_question(x, case_log)
+ enabled_inferred_answers(inferred_answers, case_log).keys.map do |answer|
+ question = form.get_question(answer, case_log)
if question.present?
- question.label_from_value(case_log[x])
+ question.label_from_value(case_log[answer])
else
- Array(x.to_s.split(".")).inject(case_log) { |o, a| o.present? ? o.public_send(*a) : "" }
+ Array(answer.to_s.split(".")).inject(case_log) { |log, method| log.present? ? log.public_send(*method) : "" }
end
end
end
+ def get_extra_check_answer_value(case_log)
+ return nil unless extra_check_answer_value
+
+ case_log.public_send(extra_check_answer_value)
+ end
+
def read_only?
!!readonly
end
diff --git a/app/models/form/setup/questions/location_id.rb b/app/models/form/setup/questions/location_id.rb
index d5a0976f7..57ef1cc54 100644
--- a/app/models/form/setup/questions/location_id.rb
+++ b/app/models/form/setup/questions/location_id.rb
@@ -5,6 +5,7 @@ class Form::Setup::Questions::LocationId < ::Form::Question
@header = "Which location is this log for?"
@hint_text = ""
@type = "radio"
+ @extra_check_answer_value = "location_admin_district"
@answer_options = answer_options
@inferred_answers = {
"location.name": {
diff --git a/app/views/form/_check_answers_summary_list.html.erb b/app/views/form/_check_answers_summary_list.html.erb
index 6b7761437..086d44f1a 100644
--- a/app/views/form/_check_answers_summary_list.html.erb
+++ b/app/views/form/_check_answers_summary_list.html.erb
@@ -3,7 +3,12 @@
<% summary_list.row do |row| %>
<% row.key { question.check_answer_label.to_s.presence || question.header.to_s } %>
<% row.value do %>
- <%= get_answer_label(question, @case_log) %>
+ <%= get_answer_label(question, @case_log) %>
+ <% extra_value = question.get_extra_check_answer_value(@case_log) %>
+ <% if extra_value %>
+ <%= extra_value %>
+ <% end %>
+
<% question.get_inferred_answers(@case_log).each do |inferred_answer| %>
<%= inferred_answer %>
<% end %>
diff --git a/db/seeds.rb b/db/seeds.rb
index 264b25d69..86f6d3395 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -28,6 +28,7 @@ unless Rails.env.test?
if Rails.env.development? && User.count.zero?
User.create!(
+ name: "Provider",
email: "provider@example.com",
password: "password",
organisation: org,
@@ -36,6 +37,7 @@ unless Rails.env.test?
)
User.create!(
+ name: "Coordinator",
email: "coordinator@example.com",
password: "password",
organisation: org,
@@ -44,6 +46,7 @@ unless Rails.env.test?
)
User.create!(
+ name: "Support",
email: "support@example.com",
password: "password",
organisation: org,