diff --git a/app/controllers/questions_controller.rb b/app/controllers/questions_controller.rb index 2beb963..ed310a9 100644 --- a/app/controllers/questions_controller.rb +++ b/app/controllers/questions_controller.rb @@ -8,6 +8,11 @@ @question = Question.new(question_params) authorize @question @question.modifiable = true + if @question.question_format.textfield? + @question.default_value = params["question-default-value-textfield"] + elsif @question.question_format.textarea? + @question.default_value = params["question-default-value-textarea"] + end if @question.save @question.section.phase.template.dirty = true @question.section.phase.template.save! @@ -50,7 +55,11 @@ guidance.text = params["question-guidance-#{params[:id]}"] guidance.save end - @question.default_value = params["question-default-value-#{params[:id]}"] + if @question.question_format.textfield? + @question.default_value = params["question-default-value-textfield"] + elsif @question.question_format.textarea? + @question.default_value = params["question-default-value-textarea"] + end @section = @question.section @phase = @section.phase template = @phase.template @@ -94,10 +103,8 @@ permitted = params.require(:question).except(:created_at, :updated_at).tap do |question_params| question_params.require(:question_format_id) q_format = QuestionFormat.find(question_params[:question_format_id]) - if q_format.option_based - question_params.delete(:default_value) - else - question_params.delete(:question_options_attributes) + if !q_format.option_based? + question_params.delete(':question_options_attributes') end end end diff --git a/app/views/questions/_add_question.html.erb b/app/views/questions/_add_question.html.erb index 9e20de0..ae1617b 100644 --- a/app/views/questions/_add_question.html.erb +++ b/app/views/questions/_add_question.html.erb @@ -91,8 +91,8 @@
- <%= f.text_field(:default_value, class: "default_answer_textfield", style: 'display:none') %> - <%= text_area(:question, :default_value, class: "default_answer_textarea tinymce") %> + <%= text_field_tag("question-default-value-textfield", @new_question.default_value, class: "default_answer_textfield", style: 'display:none') %> + <%= text_area_tag("question-default-value-textarea", @new_question.default_value, class: "default_answer_textarea tinymce") %>
diff --git a/app/views/questions/_edit_question.html.erb b/app/views/questions/_edit_question.html.erb index eb13fd7..919ff46 100644 --- a/app/views/questions/_edit_question.html.erb +++ b/app/views/questions/_edit_question.html.erb @@ -28,12 +28,13 @@ <%= _('Answer format')%> -
+ +
<%= f.hidden_field :id,{ class: "quest_id" } %> <%= f.select :question_format_id, options_from_collection_for_select(QuestionFormat.all.order("title"), :id, :title, question.question_format_id), - {}, id: "#{question.id}-select-format"%> + {}, class: "question_format", id: "#{question.id}-select-format"%>
<%= link_to( image_tag("help_button.png"), "#", class: "question_format_popover", rel: "popover", "data-html" => "true", "data-content" => _("You can choose from:
  • - text area (large box for paragraphs);
  • - text field (for a short answer);
  • - checkboxes where options are presented in a list and multiple values can be selected;
  • - radio buttons where options are presented in a list but only one can be selected;
  • - dropdown like this box - only one option can be selected;
  • - multiple select box allows users to select several options from a scrollable list, using the CTRL key;
"))%> @@ -42,7 +43,7 @@
-