màj sondage

This commit is contained in:
Nicolas Bally 2013-07-18 11:17:41 +02:00
parent e04f9d891e
commit c0397336d5
9 changed files with 259 additions and 220 deletions

View File

@ -3,7 +3,7 @@
class AnswerSet < ActiveRecord::Base
belongs_to :question_set
belongs_to :survey_item_answer
attr_accessible :content, :survey_item_answer_id, :is_checked
attr_accessible :content, :survey_item_answer_id, :is_checked, :position
before_validation do

View File

@ -7,7 +7,7 @@ class QuestionSet < ActiveRecord::Base
accepts_nested_attributes_for :answer_sets
scope :dont_answered, includes(:answer_sets).where("answer_sets.is_checked == ?", false)
end

View File

@ -4,7 +4,7 @@ class SurveyItem < ActiveRecord::Base
attr_accessible :description, :display_type, :help, :item_type, :questions_type, :string_type, :title, :archived, :locked, :text_presentation, :max_checkboxes
ITEM_TYPES = ["question", "note"]
QUESTIONS_TYPES = ["boolean", "string", "check_box", "radio", "little_string"]
QUESTIONS_TYPES = ["boolean", "string", "check_box", "radio", "order"]
DISPLAY_TYPES = ["inline", "grid", "dropdown"]
has_many :answers, :class_name => "SurveyItemAnswer", :dependent => :destroy

View File

@ -17,7 +17,7 @@ class SurveyType < ActiveRecord::Base
question_set = @survey_set.question_sets.build(:survey_item_id => item.id)
if item.questions_type == 3
if item.questions_type == 3 || item.questions_type == 5
item.answers.each do |answer|

View File

@ -217,3 +217,21 @@
.bar_chart{:id => r}
.break
-if item.questions_type == 5
-#chart_data = "['oui',#{oui}],['non',#{non}],['non répondu', #{nr}]"
-chart_data = []
-categories = []
-item.question_sets.each do |question_set|
%table
-question_set.answer_sets.order("position ASC").each do |answer_set|
%tr
%td=answer_set.position
%td=answer_set.survey_item_answer.label_text
%td=answer_set.content
%br

View File

@ -1,9 +1,9 @@
-if @item.questions_type == 3
.answer_p
.answer_p
=f.check_box :is_checked, :class => "checkboxe_#{answer.survey_item.id}"
@ -14,6 +14,18 @@
%br
=f.text_area :content, :class => "large" if answer.field_type == 3
-if @item.questions_type == 5
.answer_p
=f.text_field :position, :style => "width:1.5em;"
=f.label :position, answer.label_text
=f.text_field :content if answer.field_type == 2
%br
=f.text_area :content, :class => "large" if answer.field_type == 3

View File

@ -1,5 +1,5 @@
.question=item.title
-@item = item
-if item.questions_type == 1
.answer_p
@ -27,6 +27,12 @@
=f.radio_button :content, answer.label_text
=f.label :content, answer.label_text, :value => answer.label_text
-elsif item.questions_type == 5
= f.fields_for(:answer_sets) do |f|
=f.hidden_field :survey_item_answer_id
=render :partial => "survey_sets/answer_set", :locals => {:f => f, :answer => f.object.survey_item_answer}

View File

@ -49,14 +49,14 @@ item.answers.build(:label_text => "Lusage agricole, irrigation des cultures",
item.answers.build(:label_text => "Lusage touristique (neige artificielle, arrosage espaces verts, piscine, spa, aménagement détangs de loisir)", :field_type => 1)
item = @survey.items.build(:questions_type => 3, :title => "Parmi les solutions proposées pour diminuer les problèmes de quantité de la ressource en eau, quelle priorisation souhaiteriez-vous appliquer dans votre département ? (merci dindiquer lordre de priorité par des chiffres, de 1 à 6, devant les carrés)", :item_type => 1)
item = @survey.items.build(:questions_type => 5, :title => "Parmi les solutions proposées pour diminuer les problèmes de quantité de la ressource en eau, quelle priorisation souhaiteriez-vous appliquer dans votre département ? (merci dindiquer lordre de priorité par des chiffres, de 1 à 6, devant les carrés)", :item_type => 1)
item.answers.build(:label_text => "Adaptation des cultures (plantes et méthodes) et des techniques dirrigation", :field_type => 1)
item.answers.build(:label_text => "Sensibilisation des ménages/collectivités et restrictions obligatoires plus sévères en cas de sécheresse, aide à la mise en place de dispositifs/bonnes pratiques pour limiter les prélèvements.", :field_type => 1)
item.answers.build(:label_text => "Changement et adaptation des procédés et des productions industriels", :field_type => 1)
item.answers.build(:label_text => "Adaptation de lurbanisation en fonction de la disponibilité de la ressource en eau", :field_type => 1)
item.answers.build(:label_text => "Adaptation de lusage touristique de la ressource en eau en cas de sécheresse", :field_type => 1)
item.answers.build(:label_text => "Suspension ou interdiction de certains usages, précisez lesquels : ", :field_type => 3)
item.answers.build(:label_text => "Autres > Précisez ", :field_type => 3)
item.answers.build(:label_text => "Suspension ou interdiction de certains usages, précisez lesquels : ", :field_type => 2)
item.answers.build(:label_text => "Autres > Précisez ", :field_type => 2)
@ -66,11 +66,13 @@ item.answers.build(:label_text => "Autres > Précisez ", :field_type => 3)
@survey.save
add_column :answer_sets, :position, :integer
end
def down
remove_column :answer_sets, :position
@survey = SurveyType.find_by_slug("07-13-ressource-en-eau").destroy
end
end

View File

@ -42,6 +42,7 @@ ActiveRecord::Schema.define(:version => 20130717000000) do
t.boolean "is_checked"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "position"
end
add_index "answer_sets", ["question_set_id"], :name => "index_answer_sets_on_question_set_id"