Enable voting for open-ended questions in public section

This commit is contained in:
taitus
2025-08-08 15:30:46 +02:00
parent 62e1c13e7e
commit 83b206f0b7
9 changed files with 201 additions and 57 deletions

View File

@@ -63,8 +63,17 @@ class Poll::WebVote
def answers_for_question(question, question_params)
return [] unless question_params
Array(question_params[:option_id]).map do |option_id|
question.find_or_initialize_user_answer(user, option_id)
if question.open?
answer_text = question_params[:answer].to_s.strip
if answer_text.present?
[question.find_or_initialize_user_answer(user, answer_text: answer_text)]
else
[]
end
else
Array(question_params[:option_id]).map do |option_id|
question.find_or_initialize_user_answer(user, option_id: option_id)
end
end
end