From fcf09c31238c70cdb6a5a742d6c7b7b80f2442fe Mon Sep 17 00:00:00 2001 From: Winbobob Date: Sun, 23 Aug 2015 18:25:37 -0400 Subject: [PATCH] Fix bug: instructor cannot add questions from view. --- app/controllers/questionnaires_controller.rb | 7 + .../_add_and_delete_question_script.html.erb | 279 ------------------ .../questionnaires/_questionnaire.html.erb | 22 +- app/views/questionnaires/new.html.erb | 6 - config/routes.rb | 1 + 5 files changed, 28 insertions(+), 287 deletions(-) delete mode 100644 app/views/questionnaires/_add_and_delete_question_script.html.erb diff --git a/app/controllers/questionnaires_controller.rb b/app/controllers/questionnaires_controller.rb index 94862a93072..a0b24e251d7 100644 --- a/app/controllers/questionnaires_controller.rb +++ b/app/controllers/questionnaires_controller.rb @@ -202,6 +202,13 @@ def toggle_access redirect_to :controller => 'tree_display', :action => 'list' end + #Zhewei: This method is used to add new questions when creating or editing questionnaire. + def add_new_questions + (1..params[:question][:total_num].to_i).each do |i| + Object.const_get(params[:question][:type]).create(id: Question.last.id+1, txt: 'Edit question content here', weight: 1, questionnaire_id: params[:id], seq: 0, type: params[:question][:type], break_before: true) + end + redirect_to edit_questionnaire_path(params[:id].to_sym) + end #========================================================================================================= #Separate methods for quiz questionnaire #========================================================================================================= diff --git a/app/views/questionnaires/_add_and_delete_question_script.html.erb b/app/views/questionnaires/_add_and_delete_question_script.html.erb deleted file mode 100644 index 3f32554bac4..00000000000 --- a/app/views/questionnaires/_add_and_delete_question_script.html.erb +++ /dev/null @@ -1,279 +0,0 @@ - diff --git a/app/views/questionnaires/_questionnaire.html.erb b/app/views/questionnaires/_questionnaire.html.erb index 6a27c75a33f..abdb4458ea7 100644 --- a/app/views/questionnaires/_questionnaire.html.erb +++ b/app/views/questionnaires/_questionnaire.html.erb @@ -80,8 +80,26 @@
- - more question(s) + + <%= form_tag :action => 'add_new_questions' do %> + <% end %> + <%= form_tag :action => 'add_new_questions', :id => params[:id] do %> + <%= submit_tag 'Add' %> + <%= text_field 'question', 'total_num', :size => 1, :value => "1" %> more + <%= select "question", "type", + {"Criterion" =>"Criterion", + "Scale"=>"Scale", + "Dropdown"=>"Dropdown", + "MultipleChoice"=>"MultipleChoice", + "Checkbox"=>"Checkbox", + "TextArea"=>"TextArea", + "TextField"=>"TextField", + "UploadFile"=>"UploadFile", + "SectionHeader"=>"SectionHeader", + "TableHeader"=>"TableHeader", + "ColumnHeader"=>"ColumnHeader", + } %> question(s) + <% end %>
diff --git a/app/views/questionnaires/new.html.erb b/app/views/questionnaires/new.html.erb index 15b395de234..0d818c97d46 100644 --- a/app/views/questionnaires/new.html.erb +++ b/app/views/questionnaires/new.html.erb @@ -1,12 +1,6 @@ - <%= render :partial => 'add_and_delete_question_script' %> <%= form_tag :action => 'create' do %> <%= render :partial => 'questionnaire' %> <%= submit_tag "Create #{@questionnaire.display_type.downcase}", :name=>"save" %> - - <% end %>
Back diff --git a/config/routes.rb b/config/routes.rb index c41fdb74280..2fbdc8645cc 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -254,6 +254,7 @@ get :delete post :create_quiz_questionnaire post :update_quiz + post :add_new_questions end end