|  |  | @ -6920,148 +6920,154 @@ def quote_resource_bank resource, course | 
			
		
	
		
		
			
				
					
					|  |  |  | end |  |  |  | end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def quote_homework_bank homework, course |  |  |  | def quote_homework_bank homework, course | 
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 5, |  |  |  |   ActiveRecord::Base.transaction do | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     :course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0, :homework_bank_id => homework.id, :score_open => 1, |  |  |  |     new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 5, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                                     :anonymous_appeal => 0, :is_public => 0, :reference_answer => homework.reference_answer, :answer_public => 1, :allow_late => 1) |  |  |  |                                       :course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0, :homework_bank_id => homework.id, :score_open => 1, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |                                       :anonymous_appeal => 0, :is_public => 0, :reference_answer => homework.reference_answer, :answer_public => 1, :allow_late => 1) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework.homework_detail_manual = HomeworkDetailManual.new |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual = new_homework.homework_detail_manual |  |  |  |     new_homework.homework_detail_manual = HomeworkDetailManual.new | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual.te_proportion = 1.0 |  |  |  |     new_homework_detail_manual = new_homework.homework_detail_manual | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual.ta_proportion = 0 |  |  |  |     new_homework_detail_manual.te_proportion = 1.0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual.comment_status = 0 |  |  |  |     new_homework_detail_manual.ta_proportion = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |     new_homework_detail_manual.comment_status = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual.evaluation_num = 0 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   new_homework_detail_manual.absence_penalty = 0 |  |  |  |     new_homework_detail_manual.evaluation_num = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |     new_homework_detail_manual.absence_penalty = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   if new_homework.homework_type == 2 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_programing = HomeworkDetailPrograming.new |  |  |  |     if new_homework.homework_type == 2 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_programing.ta_proportion = 0 |  |  |  |       new_homework.homework_detail_programing = HomeworkDetailPrograming.new | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_programing.language = homework.language |  |  |  |       new_homework.homework_detail_programing.ta_proportion = 0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     homework.homework_bank_tests.each_with_index do |homework_test| |  |  |  |       new_homework.homework_detail_programing.language = homework.language | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       new_homework.homework_tests << HomeworkTest.new( |  |  |  |       homework.homework_bank_tests.each_with_index do |homework_test| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           input: homework_test.input, |  |  |  |         new_homework.homework_tests << HomeworkTest.new( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           output: homework_test.output |  |  |  |             input: homework_test.input, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       ) |  |  |  |             output: homework_test.output | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       homework.homework_bank_samples.each_with_index do |homework_test| | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         new_homework.homework_samples << HomeworkSample.new( | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             input: homework_test.input, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             output: homework_test.output | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       end | 
			
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |     homework.homework_bank_samples.each_with_index do |homework_test| |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       new_homework.homework_samples << HomeworkSample.new( |  |  |  |     if new_homework.homework_type == 3 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           input: homework_test.input, |  |  |  |       new_homework.homework_detail_group = HomeworkDetailGroup.new | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |           output: homework_test.output |  |  |  |       new_homework.homework_detail_group.min_num = homework.min_num | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       ) |  |  |  |       new_homework.homework_detail_group.max_num = homework.max_num | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       new_homework.homework_detail_group.base_on_project = homework.base_on_project | 
			
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   if new_homework.homework_type == 3 |  |  |  |     homework.attachments.each do |attachment| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_group = HomeworkDetailGroup.new |  |  |  |       att = attachment.copy | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_group.min_num = homework.min_num |  |  |  |       att.container_id = nil | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_group.max_num = homework.max_num |  |  |  |       att.container_type = nil | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_group.base_on_project = homework.base_on_project |  |  |  |       att.author_id = homework.user_id | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |       att.copy_from = attachment.id | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       att.save | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       new_homework.attachments << att | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   homework.attachments.each do |attachment| |  |  |  |     if new_homework.save | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att = attachment.copy |  |  |  |       if new_homework.homework_type == 4 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att.container_id = nil |  |  |  |         HomeworkCommonsShixuns.create(:homework_common_id => new_homework.id, :shixun_id => homework.homework_bank_shixun.shixun_id) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att.container_type = nil |  |  |  |       end | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att.author_id = homework.user_id |  |  |  |       new_homework_detail_manual.save if new_homework_detail_manual | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att.copy_from = attachment.id |  |  |  |       new_homework.homework_detail_programing.save if new_homework.homework_detail_programing | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     att.save |  |  |  |       new_homework.homework_detail_group.save if new_homework.homework_detail_group | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.attachments << att |  |  |  |       create_works_list new_homework | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   if new_homework.save |  |  |  |       homework.update_column(:quotes, homework.quotes+1) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if new_homework.homework_type == 4 |  |  |  |       QuestionBank.where(:container_id => homework.id, :container_type => ["Common", "Shixun", "Group"]).update_all(:quotes => homework.quotes) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       HomeworkCommonsShixuns.create(:homework_common_id => new_homework.id, :shixun_id => homework.homework_bank_shixun.shixun_id) |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework_detail_manual.save if new_homework_detail_manual |  |  |  |     return new_homework | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_programing.save if new_homework.homework_detail_programing |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     new_homework.homework_detail_group.save if new_homework.homework_detail_group |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     create_works_list new_homework |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     homework.update_column(:quotes, homework.quotes+1) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     QuestionBank.where(:container_id => homework.id, :container_type => ["Common", "Shixun", "Group"]).update_all(:quotes => homework.quotes) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |   end | 
			
		
	
		
		
			
				
					
					|  |  |  |   return new_homework |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | end |  |  |  | end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def quote_exercise_bank exercise, course |  |  |  | def quote_exercise_bank exercise, course | 
			
		
	
		
		
			
				
					
					|  |  |  |   new_exercise = Exercise.new(:exercise_name => exercise.name, :exercise_description => exercise.description, :user_id => User.current.id, :is_public => 0, |  |  |  |   ActiveRecord::Base.transaction do | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                               :exercise_status => 1, :show_result => 1, :course_id => course.id, :time => -1, :exercise_bank_id => exercise.id) |  |  |  |     new_exercise = Exercise.new(:exercise_name => exercise.name, :exercise_description => exercise.description, :user_id => User.current.id, :is_public => 0, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |                                 :exercise_status => 1, :show_result => 1, :course_id => course.id, :time => -1, :exercise_bank_id => exercise.id) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   exercise.exercise_bank_questions.each do |q| |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     option = { |  |  |  |     exercise.exercise_bank_questions.each do |q| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_title => q[:question_title], |  |  |  |       option = { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_type => q[:question_type] || 1, |  |  |  |           :question_title => q[:question_title], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_number => q[:question_number], |  |  |  |           :question_type => q[:question_type] || 1, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_score => q[:question_score], |  |  |  |           :question_number => q[:question_number], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :shixun_id => q[:shixun_id] |  |  |  |           :question_score => q[:question_score], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |           :shixun_id => q[:shixun_id] | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     exercise_question = new_exercise.exercise_questions.new option |  |  |  |       } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |       exercise_question = new_exercise.exercise_questions.new option | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if q.question_type != 5 |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       for i in 1..q.exercise_bank_choices.count |  |  |  |       if q.question_type != 5 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         choice_option = { |  |  |  |         for i in 1..q.exercise_bank_choices.count | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :choice_position => i, |  |  |  |           choice_option = { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :choice_text => q.exercise_bank_choices[i-1][:choice_text] |  |  |  |               :choice_position => i, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |               :choice_text => q.exercise_bank_choices[i-1][:choice_text] | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         exercise_question.exercise_choices.new choice_option |  |  |  |           } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       end |  |  |  |           exercise_question.exercise_choices.new choice_option | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       for i in 1..q.exercise_bank_standard_answers.count |  |  |  |         for i in 1..q.exercise_bank_standard_answers.count | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         standard_answer_option = { |  |  |  |           standard_answer_option = { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :exercise_choice_id => q.exercise_bank_standard_answers[i-1][:exercise_bank_choice_id], |  |  |  |               :exercise_choice_id => q.exercise_bank_standard_answers[i-1][:exercise_bank_choice_id], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :answer_text => q.exercise_bank_standard_answers[i-1][:answer_text] |  |  |  |               :answer_text => q.exercise_bank_standard_answers[i-1][:answer_text] | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |           } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         exercise_question.exercise_standard_answers.new standard_answer_option |  |  |  |           exercise_question.exercise_standard_answers.new standard_answer_option | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       end |  |  |  |         end | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     else |  |  |  |       else | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       for i in 1..q.exercise_bank_shixun_challenges.count |  |  |  |         for i in 1..q.exercise_bank_shixun_challenges.count | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         challenge_option = { |  |  |  |           challenge_option = { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :position => i, |  |  |  |               :position => i, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :challenge_id => q.exercise_bank_shixun_challenges[i-1][:challenge_id], |  |  |  |               :challenge_id => q.exercise_bank_shixun_challenges[i-1][:challenge_id], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :shixun_id => q.exercise_bank_shixun_challenges[i-1][:shixun_id], |  |  |  |               :shixun_id => q.exercise_bank_shixun_challenges[i-1][:shixun_id], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             :question_score => q.exercise_bank_shixun_challenges[i-1][:question_score] |  |  |  |               :question_score => q.exercise_bank_shixun_challenges[i-1][:question_score] | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |           } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         exercise_question.exercise_shixun_challenges.new challenge_option |  |  |  |           exercise_question.exercise_shixun_challenges.new challenge_option | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         end | 
			
		
	
		
		
			
				
					
					|  |  |  |       end |  |  |  |       end | 
			
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if new_exercise.save | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       create_exercises_list new_exercise | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       exercise.update_column(:quotes, exercise.quotes+1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       QuestionBank.where(:container_id => exercise.id, :container_type => "Exercise").update_all(:quotes => exercise.quotes) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return new_exercise | 
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |   end | 
			
		
	
		
		
			
				
					
					|  |  |  |   if new_exercise.save |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     create_exercises_list new_exercise |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     exercise.update_column(:quotes, exercise.quotes+1) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     QuestionBank.where(:container_id => exercise.id, :container_type => "Exercise").update_all(:quotes => exercise.quotes) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   return new_exercise |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | end |  |  |  | end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def quote_poll_bank poll, course |  |  |  | def quote_poll_bank poll, course | 
			
		
	
		
		
			
				
					
					|  |  |  |   new_poll = Poll.new(:polls_name => poll.name, :polls_description => poll.description, :user_id => User.current.id, :is_public => 0, |  |  |  |   ActiveRecord::Base.transaction do | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                       :polls_status => 1, :show_result => 1, :polls_type => 'Course', :course_id => course.id, :exercise_bank_id => poll.id) |  |  |  |     new_poll = Poll.new(:polls_name => poll.name, :polls_description => poll.description, :user_id => User.current.id, :is_public => 0, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |                         :polls_status => 1, :show_result => 1, :polls_type => 'Course', :course_id => course.id, :exercise_bank_id => poll.id) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   poll.exercise_bank_questions.each do |q| |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     option = { |  |  |  |     poll.exercise_bank_questions.each do |q| | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_title => q[:question_title], |  |  |  |       option = { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_type => q[:question_type] || 1, |  |  |  |           :question_title => q[:question_title], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :is_necessary => q[:is_necessary], |  |  |  |           :question_type => q[:question_type] || 1, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :question_number => q[:question_number], |  |  |  |           :is_necessary => q[:is_necessary], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :max_choices => q[:max_choices], |  |  |  |           :question_number => q[:question_number], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         :min_choices => q[:min_choices] |  |  |  |           :max_choices => q[:max_choices], | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |           :min_choices => q[:min_choices] | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     poll_question = new_poll.poll_questions.new option |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     for i in 1..q.exercise_bank_choices.count |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       choice_option = { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           :answer_position => i, |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |           :answer_text => q.exercise_bank_choices[i-1][:choice_text] |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |       } |  |  |  |       } | 
			
		
	
		
		
			
				
					
					|  |  |  |       poll_question.poll_answers.new choice_option |  |  |  |       poll_question = new_poll.poll_questions.new option | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       for i in 1..q.exercise_bank_choices.count | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         choice_option = { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             :answer_position => i, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             :answer_text => q.exercise_bank_choices[i-1][:choice_text] | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         poll_question.poll_answers.new choice_option | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       end | 
			
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if new_poll.save | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       create_polls_list new_poll | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       poll.update_column(:quotes, poll.quotes+1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       QuestionBank.where(:container_id => poll.id, :container_type => "Poll").update_all(:quotes => poll.quotes) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return new_poll | 
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |   end | 
			
		
	
		
		
			
				
					
					|  |  |  |   if new_poll.save |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     create_polls_list new_poll |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     poll.update_column(:quotes, poll.quotes+1) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     QuestionBank.where(:container_id => poll.id, :container_type => "Poll").update_all(:quotes => poll.quotes) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   end |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   return new_poll |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | end |  |  |  | end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | def major_level_option |  |  |  | def major_level_option | 
			
		
	
	
		
		
			
				
					|  |  | 
 |