From 2b01a87d15a45f7cbd4c037818b31456f8dccf57 Mon Sep 17 00:00:00 2001
From: Andreas Stephanides
Date: Sat, 1 Aug 2015 22:03:01 +0200
Subject: [PATCH] AutoCommit Sam Aug 1 22:03:01 CEST 2015
---
app/controllers/survey/choices_controller.rb | 11 +++++++++--
app/controllers/survey/questions_controller.rb | 5 ++++-
app/models/survey/choice.rb | 2 +-
app/views/survey/choices/_choice.html.erb | 2 +-
app/views/survey/choices/_form.html.erb | 6 ++++--
app/views/survey/choices/create.js.erb | 1 +
app/views/survey/choices/new.js.erb | 2 +-
app/views/survey/choices/show.js.erb | 1 +
app/views/survey/questions/_question.html.erb | 5 +++--
9 files changed, 25 insertions(+), 10 deletions(-)
create mode 100644 app/views/survey/choices/create.js.erb
create mode 100644 app/views/survey/choices/show.js.erb
diff --git a/app/controllers/survey/choices_controller.rb b/app/controllers/survey/choices_controller.rb
index 08f0959..4a0ed30 100644
--- a/app/controllers/survey/choices_controller.rb
+++ b/app/controllers/survey/choices_controller.rb
@@ -18,15 +18,19 @@ class Survey::ChoicesController < ApplicationController
respond_to do |format|
format.html {redirect_to @survey_choice.question}
format.json { render json: @survey_choice }
+ format.js
end
end
# GET /survey/choices/new
# GET /survey/choices/new.json
def new
- @survey_choice = Survey::Choice.new
+ @question= Survey::Question.find(params[:question_id])
+ @choice=Survey::Choice.new
+ @choice.question=@question
respond_to do |format|
+ format.js
format.html # new.html.erb
format.json { render json: @survey_choice }
end
@@ -43,13 +47,16 @@ class Survey::ChoicesController < ApplicationController
# POST /survey/choices
# POST /survey/choices.json
+ include PluginsHelper
def create
@survey_choice = Survey::Choice.new(params[:survey_choice])
-
+ @divid = divid_for(@survey_choice)
+
respond_to do |format|
if @survey_choice.save
format.html { redirect_to @survey_choice, notice: 'Choice was successfully created.' }
format.json { render json: @survey_choice, status: :created, location: @survey_choice }
+ format.js
else
format.html { render action: "new" }
format.json { render json: @survey_choice.errors, status: :unprocessable_entity }
diff --git a/app/controllers/survey/questions_controller.rb b/app/controllers/survey/questions_controller.rb
index 19b6a33..87c90e1 100644
--- a/app/controllers/survey/questions_controller.rb
+++ b/app/controllers/survey/questions_controller.rb
@@ -20,7 +20,10 @@ class Survey::QuestionsController < ApplicationController
end
@survey_question.do_answer(params[:survey_question][:selected],user)
- render :show
+ respond_to do |format|
+ format.html { redirect_to action: :show}
+ format.js { render action: :show}
+ end
end
# GET /survey/questions/1
# GET /survey/questions/1.json
diff --git a/app/models/survey/choice.rb b/app/models/survey/choice.rb
index 6477423..dc0b25d 100644
--- a/app/models/survey/choice.rb
+++ b/app/models/survey/choice.rb
@@ -1,6 +1,6 @@
class Survey::Choice < ActiveRecord::Base
belongs_to :question, class_name: 'Survey::Question'
- attr_accessible :picture, :sort, :text, :icon, :picture_cache, :remove_picture
+ attr_accessible :picture, :sort, :text, :icon, :picture_cache, :remove_picture, :question_id
has_many :answers, class_name: 'Survey::Answer'
include ActionView::Helpers::TagHelper
mount_uploader :picture, PictureUploader
diff --git a/app/views/survey/choices/_choice.html.erb b/app/views/survey/choices/_choice.html.erb
index 6cc8293..173386c 100644
--- a/app/views/survey/choices/_choice.html.erb
+++ b/app/views/survey/choices/_choice.html.erb
@@ -7,7 +7,7 @@ if current_user.nil?
else
value=(current_user.id.nil?)? false : choice.answers.where(user_id: current_user.id).count>0
cstyle=(value) ? "true" :"false"
- t= link_to(raw("" + choice.html+ (( choice.picture.nil? || choice.picture.to_s.empty?) ? "":image_tag(choice.picture.thumb.url))), answer_survey_question_path(choice.question, params: {survey_question: {selected: [choice.id]}}),class: "choice-"+cstyle )
+ t= link_to(raw("" + choice.html+ (( choice.picture.nil? || choice.picture.to_s.empty?) ? "":image_tag(choice.picture.thumb.url))), answer_survey_question_path(choice.question, params: {survey_question: {selected: [choice.id]}}),class: "choice-"+cstyle,remote: true )
end
%>
diff --git a/app/views/survey/choices/_form.html.erb b/app/views/survey/choices/_form.html.erb
index f11f55b..40b602b 100644
--- a/app/views/survey/choices/_form.html.erb
+++ b/app/views/survey/choices/_form.html.erb
@@ -1,10 +1,11 @@
-<%= semantic_form_for @choice do |f| %>
+<%= div_tag_for(@choice) do %>
+<%= semantic_form_for @choice, remote: true do |f| %>
<%= f.inputs do %>
<%= f.input :text %>
Choose Icon
<%= f.input :icon, :input_html=>{:id=>"iconfield"},:as=>:hidden %>
-
+<%= f.input :question %>
<%= f.input :picture, as: :uploader %>
<%= f.hidden_field :picture_cache %>
@@ -45,3 +46,4 @@ $("#openselect").on('click', function(){$('#dialog').dialog('open')});
+<% end %>
diff --git a/app/views/survey/choices/create.js.erb b/app/views/survey/choices/create.js.erb
new file mode 100644
index 0000000..d973e8d
--- /dev/null
+++ b/app/views/survey/choices/create.js.erb
@@ -0,0 +1 @@
+$('#<%= @divid %>').replaceWith("<%= escape_javascript(render @survey_choice) %>")
diff --git a/app/views/survey/choices/new.js.erb b/app/views/survey/choices/new.js.erb
index 7f019f8..07c12cb 100644
--- a/app/views/survey/choices/new.js.erb
+++ b/app/views/survey/choices/new.js.erb
@@ -1 +1 @@
-$('#<%= %>').find('ul.choice-list').append("<%= escape_javascript(render partial: "form", object:@choice) %>")
+$('#<%= divid_for @question %>').find('ul.choice-list').append("<%= escape_javascript(render partial: "form", object:@choice) %>")
diff --git a/app/views/survey/choices/show.js.erb b/app/views/survey/choices/show.js.erb
new file mode 100644
index 0000000..8917a13
--- /dev/null
+++ b/app/views/survey/choices/show.js.erb
@@ -0,0 +1 @@
+$('#<%= divid_for(@survey_choice) %>').replaceWith("<%= escape_javascript(render @survey_choice) %>")
diff --git a/app/views/survey/questions/_question.html.erb b/app/views/survey/questions/_question.html.erb
index 8e49c20..ea22180 100644
--- a/app/views/survey/questions/_question.html.erb
+++ b/app/views/survey/questions/_question.html.erb
@@ -3,15 +3,16 @@
<%= render partial: "survey/questions/answeredquestion", object: question %>
<% end %>
<% else %>
-
+
- <%= question.title%> <%=question.text%>
+
<%= question.title%> <%=question.text%><%= link_to fa_icon("pencil"), edit_survey_question_path(question) , class: "btn btn-link navbar-btn" , remote: true%>
<% question.choices.each do |c| %>
- <%= render c %>
<% end %>
+ <%= link_to "+" , new_survey_choice_path(params:{question_id: question.id}), remote: true%>
<%= render partial: "survey/questions/answeredquestion", object: question if question.answers.where(user_id: current_user.id).count>0%>