make question answers required

This commit is contained in:
Bilal
2020-07-03 18:01:34 +02:00
parent 2dea0f29b9
commit 08f6380aaa
4 changed files with 18 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ class MedicalRelease < ApplicationRecord
# These validations apply to all releases # These validations apply to all releases
validates :person_first_name, :person_last_name, presence: true validates :person_first_name, :person_last_name, presence: true
validates :person_email, email: true, allow_blank: true validates :person_email, email: true, allow_blank: true
validate :valid_answers
acts_as_taggable_on :internal_tags, :tags acts_as_taggable_on :internal_tags, :tags
@@ -76,4 +77,15 @@ class MedicalRelease < ApplicationRecord
def contract_file_name def contract_file_name
"#{project.name.parameterize}_#{contract_template.release_type}_#{(signed_at || created_at).strftime("%Y.%m.%d")}_#{release_number}_#{filename_suffix.parameterize}" "#{project.name.parameterize}_#{contract_template.release_type}_#{(signed_at || created_at).strftime("%Y.%m.%d")}_#{release_number}_#{filename_suffix.parameterize}"
end end
private
def valid_answers
(1..ContractTemplate::NUMBER_OF_CUSTOM_FIELDS).each do |index|
if contract_template["question_#{index}_text"].present? &&
public_send("question_#{index}_answer").blank?
errors.add("question_#{index}", I18n.t('medical_releases.custom_validation_errors.question_answer_is_required'))
end
end
end
end end

View File

@@ -30,7 +30,7 @@
<% (1..MedicalRelease::NUMBER_OF_CUSTOM_FIELDS).each do |n| %> <% (1..MedicalRelease::NUMBER_OF_CUSTOM_FIELDS).each do |n| %>
<% if @contract_template.public_send("question_#{n}_text").present? %> <% if @contract_template.public_send("question_#{n}_text").present? %>
<div class="form-row"> <div class="form-row">
<%= form.text_area "question_#{n}_answer", wrapper_class: "col-sm-12", label: @contract_template.public_send("question_#{n}_text") %> <%= form.text_area "question_#{n}_answer", required: true, wrapper_class: "col-sm-12", label: @contract_template.public_send("question_#{n}_text") %>
</div> </div>
<% end %> <% end %>
<% end %> <% end %>

View File

@@ -772,6 +772,8 @@ en:
update: update:
notice: The material release has been updated notice: The material release has been updated
medical_releases: medical_releases:
custom_validation_errors:
question_answer_is_required: answer is required
destroy: destroy:
alert: The medical release has been deleted alert: The medical release has been deleted
index: index:

View File

@@ -282,6 +282,9 @@ es:
form: form:
photos: photos:
dropzone_label: Tap to take a photo of Licensed Material (optional) (ES) dropzone_label: Tap to take a photo of Licensed Material (optional) (ES)
medical_releases:
custom_validation_errors:
question_answer_is_required: answer is required (ES)
public: public:
appearance_releases: appearance_releases:
create: create: