error fix
This commit is contained in:
parent
b327a50ee3
commit
ebcc13a87a
|
@ -113,29 +113,38 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
|
|||
|
||||
@survey_answers.destroy
|
||||
|
||||
# End of speadsheet
|
||||
# Start and end of speadsheet
|
||||
@end_row = @spreadsheet.count
|
||||
|
||||
@max_row_start = 0
|
||||
@survey_questions.each do |question|
|
||||
case question.type
|
||||
when ::SurveyQuestion::Radio, ::SurveyQuestion::Select, ::SurveyQuestion::Check
|
||||
if question.survey_question_options.count > @max_row_start
|
||||
@max_row_start = question.survey_question_options.count
|
||||
end
|
||||
when ::SurveyQuestion::Radiogroup
|
||||
if question.survey_question_options.count * question.survey_question_radiogroups.count > @max_row_start
|
||||
@max_row_start = question.survey_question_options.count * question.survey_question_radiogroups.count
|
||||
end
|
||||
end
|
||||
end
|
||||
@start_row = @max_row_start + 2
|
||||
|
||||
# Modify multiline options if changed
|
||||
(@start_row..@end_row).each do |row|
|
||||
@answer_model = @survey.survey_answers.new
|
||||
@survey_questions.each_with_index do |question, index|
|
||||
case question.type
|
||||
|
||||
when ::SurveyQuestion::Radio, ::SurveyQuestion::Select
|
||||
((question.survey_question_options.count + 2)..@end_row).each do |row|
|
||||
@answer_model = @survey.survey_answers.new
|
||||
if !@spreadsheet.row(row)[index*2].nil? && @spreadsheet.row(row)[index*2] != " "
|
||||
@answer_model[question.id.to_s] = @spreadsheet.row(row)[index*2]
|
||||
@answer_model.save!
|
||||
end
|
||||
end
|
||||
|
||||
when ::SurveyQuestion::Check
|
||||
((question.survey_question_options.count + 2)..@end_row).each do |row|
|
||||
@answer_model = @survey.survey_answers.new
|
||||
if !@spreadsheet.row(row)[index*2].nil?
|
||||
@answer_model[question.id.to_s] = @spreadsheet.row(row)[index*2].split("\"").select.each_with_index { |str, i| i.odd? }
|
||||
@answer_model.save!
|
||||
end
|
||||
end
|
||||
|
||||
when ::SurveyQuestion::Radiogroup
|
||||
|
@ -160,14 +169,14 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
|
|||
# Save the answers
|
||||
answers.each do |answer|
|
||||
options = Hash[question.survey_question_options.collect { |o| [ o.id.to_s, o.name ] }]
|
||||
@answer_model = @survey.survey_answers.new
|
||||
# @answer_model = @survey.survey_answers.new
|
||||
@answer_model[question.id.to_s] = {}
|
||||
|
||||
answer.each do |option, value|
|
||||
@answer_model[question.id.to_s][options.invert[option]] = value
|
||||
end
|
||||
|
||||
@answer_model.save!
|
||||
# @answer_model.save!
|
||||
end
|
||||
|
||||
# Parse the needed info in the array
|
||||
|
@ -213,6 +222,10 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
|
|||
end
|
||||
end
|
||||
|
||||
@answer_model.save!
|
||||
|
||||
end #end row
|
||||
|
||||
# @start_row = 2
|
||||
# @survey.survey_answers.destroy
|
||||
# @survey_questions.each_with_index do |question,index|
|
||||
|
|
Loading…
Reference in New Issue