Commit 3cb47369e3969ca6e5d88fa14c34af81c99b3f05

Authored by Larissa Reis
1 parent bedac4e4

Improves error message for forms in task page

plugins/custom_forms/lib/custom_forms_plugin/membership_survey.rb
@@ -13,7 +13,21 @@ class CustomFormsPlugin::MembershipSurvey < Task @@ -13,7 +13,21 @@ class CustomFormsPlugin::MembershipSurvey < Task
13 13
14 answers = build_answers(submission, form) 14 answers = build_answers(submission, form)
15 s = CustomFormsPlugin::Submission.create!(:form => form, :profile => target) 15 s = CustomFormsPlugin::Submission.create!(:form => form, :profile => target)
16 - answers.map {|answer| answer.submission = s; answer.save!} 16 + s.answers.push(*answers)
  17 +
  18 + failed_answers = answers.select {|answer| !answer.valid? }
  19 + if failed_answers.empty?
  20 + s.save!
  21 + else
  22 + s.errors.clear
  23 + answers.each do |answer|
  24 + answer.valid?
  25 + answer.errors.each do |attribute, msg|
  26 + s.errors.add(answer.field.id.to_s.to_sym, msg)
  27 + end
  28 + end
  29 + raise ActiveRecord::RecordInvalid, s
  30 + end
17 end 31 end
18 32
19 def title 33 def title