Add import on radiogroups on file change
This commit is contained in:
parent
5e446bc37f
commit
a469643cde
|
@ -109,6 +109,64 @@ class Panel::Survey::BackEnd::SurveysController < OrbitBackendController
|
|||
question.update_attributes(title: titles[index])
|
||||
end
|
||||
|
||||
# Modify multiline options if changed
|
||||
@survey_questions.each_with_index do |question, index|
|
||||
|
||||
case question.type
|
||||
when ::SurveyQuestion::Radiogroup
|
||||
radio_groups = []
|
||||
spreadsheet_radiogroups_lines =
|
||||
question.survey_question_options.count * question.survey_question_radiogroups.count + 2
|
||||
|
||||
# Grab each radiogroups line for update
|
||||
(2...spreadsheet_radiogroups_lines).each do |line|
|
||||
radio_groups << @spreadsheet.row(line)[index * 2]
|
||||
end
|
||||
|
||||
# Parse the needed info in the array
|
||||
radio_titles = []
|
||||
radio_options = []
|
||||
radio_groups.each do |group|
|
||||
option_with_radio = group.split(' - ')
|
||||
radio_titles << option_with_radio[0]
|
||||
radio_options << option_with_radio[1]
|
||||
end
|
||||
|
||||
# Update the spreadsheet info to the DB
|
||||
groups_of_options = []
|
||||
groups_of_radios = []
|
||||
radio_titles.each_slice(question.survey_question_radiogroups.count) do |options|
|
||||
groups_of_options << options
|
||||
end
|
||||
|
||||
radio_options.each_slice(question.survey_question_radiogroups.count) do |options|
|
||||
groups_of_radios << options
|
||||
end
|
||||
|
||||
# Update option names
|
||||
question.survey_question_options.each_with_index do |option, index|
|
||||
groups_of_options[index].each do |modified_option|
|
||||
if option.name_translations["zh_tw"] != modified_option
|
||||
option.update_attributes(name: modified_option)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Update radio names
|
||||
question.survey_question_radiogroups.each_with_index do |option, index|
|
||||
groups_of_radios.each do |radios|
|
||||
if radios[index] != option.name_translations["zh_tw"]
|
||||
binding.pry
|
||||
option.update_attributes(name: radios[index])
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
# @start_row = 2
|
||||
# @survey.survey_answers.destroy
|
||||
# @survey_questions.each_with_index do |question,index|
|
||||
|
|
Loading…
Reference in New Issue