questionnaire frapna

This commit is contained in:
Nicolas Bally 2013-07-17 10:28:10 +02:00
parent 2280378fec
commit e04f9d891e
7 changed files with 129 additions and 50 deletions

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"]
QUESTIONS_TYPES = ["boolean", "string", "check_box", "radio", "little_string"]
DISPLAY_TYPES = ["inline", "grid", "dropdown"]
has_many :answers, :class_name => "SurveyItemAnswer", :dependent => :destroy

View File

@ -3,7 +3,7 @@ class SurveyItemAnswer < ActiveRecord::Base
belongs_to :survey_item
attr_accessible :class_text, :data_type, :field_type, :help_text, :label_text, :archived, :locked
has_many :answer_sets
FIELD_TYPES=["normal", "other"]
FIELD_TYPES=["normal", "other", "other_large"]
DATA_TYPE = ["integer", "string", "date"]
end

View File

@ -116,15 +116,15 @@
-categories << "non répondu"
-chart_data << {:name => "non répondu", :y => count, :per => per.to_s}
-if item.answers.where(:field_type => 2).count > 0
-if item.answers.where(:field_type => [2,3]).count > 0
-np = 0
-item.answers.where(:field_type => 2).each do |a|
-item.answers.where(:field_type => [2,3]).each do |a|
%h4
Réponses personnalisées pour "
=a.label_text
"
%table.large
-a.answer_sets.where(:is_checked => true).each do |a|
-a.answer_sets.each do |a|
-if a.content?
%tr
%td{:colspan => 3}=a.content

View File

@ -3,30 +3,32 @@
.answer_p
.answer_p
=f.check_box :is_checked, :class => "checkboxe_#{answer.survey_item.id}"
-checkboxe_class = "checkboxe_#{answer.survey_item.id}"
=f.label :is_checked, answer.label_text
=f.check_box :is_checked, :class => "checkboxe_#{answer.survey_item.id}"
-checkboxe_class = "checkboxe_#{answer.survey_item.id}"
=f.label :is_checked, answer.label_text
=f.text_field :content if answer.field_type == 2
=f.text_field :content if answer.field_type == 2
%br
=f.text_area :content, :class => "large" if answer.field_type == 3
-if 1 == 2
%script
= raw '$("input[type=checkbox][class='+checkboxe_class+']").click(function() {'
= raw 'var bol = $("input[type=checkbox][class='+checkboxe_class+']:checked").length >= 1000;'
= raw '$("input[type=checkbox][class='+checkboxe_class+']").not(":checked").attr("disabled",bol);'
%script
= raw '$("input[type=checkbox][class='+checkboxe_class+']").click(function() {'
= raw 'var bol = $("input[type=checkbox][class='+checkboxe_class+']:checked").length >= 1000;'
= raw '$("input[type=checkbox][class='+checkboxe_class+']").not(":checked").attr("disabled",bol);'
});
});

View File

@ -1,31 +1,32 @@
.question=item.title
-if item.questions_type == 1
.answer_p
=f.radio_button :boolean_content, true
=f.label :boolean_content_true, "oui"
=f.radio_button :boolean_content, false
=f.label :boolean_content_false, "non"
.answer_p
=f.radio_button :boolean_content, true
=f.label :boolean_content_true, "oui"
=f.radio_button :boolean_content, false
=f.label :boolean_content_false, "non"
-elsif item.questions_type == 2
.answer_p
-if item.text_presentation == 2
=f.text_area :content, :class => "large"
-else
=f.text_field :content, :class => "large"
.answer_p
-if item.text_presentation == 2
=f.text_area :content, :class => "large"
-else
=f.text_field :content, :class => "large"
-elsif item.questions_type == 3
= 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}
-elsif item.questions_type == 4
-item.answers.each do |answer|
.answer_p{:style =>( "display:inline;" if item.display_type == 1)}
=f.radio_button :content, answer.label_text
=f.label :content, answer.label_text, :value => answer.label_text
= 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}
-elsif item.questions_type == 4
-item.answers.each do |answer|
.answer_p{:style =>( "display:inline;" if item.display_type == 1)}
=f.radio_button :content, answer.label_text
=f.label :content, answer.label_text, :value => answer.label_text

View File

@ -0,0 +1,76 @@
# -*- encoding : utf-8 -*-
class SondageFrapna < ActiveRecord::Migration
def up
@survey = SurveyType.create(:name => "Questionnaire : la gestion quantitative de la ressource en eau", :slug => "07-13-ressource-en-eau", :description => "Dans notre bassin et jusquà récemment, la protection de la ressource en eau portait majoritairement sur sa qualité. Lutter contre les dégradations du milieu aquatique (remblais, décharges sauvages, aménagements illégaux), prévenir les pollutions et les contaminations des milieux aquatiques et de leau potable étaient les priorités. Un autre enjeu fort pèse désormais sur ces milieux : la diminution de la quantité de la ressource en eau, qui influence évidemment sa qualité ainsi que la bonne santé des écosystèmes aquatiques.
Intrinsèquement, la diminution de la quantité deau disponible pose des problèmes dusage de la ressource. En effet, lé, on assiste à une augmentation des besoins en eau en raison des fortes chaleurs, tandis que lévaporation et lévapotranspiration des végétaux augmente, les cours deau se réchauffent et que la ressource se raréfie. La dégradation des zones humides au cours du 20ème siècle, larrachage des haies, lendiguement des cours deau, la régression des ripisylves (forêt sur les berges du cours deau), la monoculture et le développement de cultures très consommatrices deau pour répondre à lintensification de la productivité ne permettent plus au milieu de stocker leau pour la restituer en période cette ressource commence à manquer. Or, les usages de leau sont nombreux, que ce soit pour lusage domestique, dans la production industrielle, pour les pratiques agricoles, etc.
Les problèmes deviennent récurrents et face à cela des arrêtés sécheresses sont pris tous les ans alors quils sont censés répondre uniquement à une gestion de crise.
Par ailleurs, en montagne létiage1 est plutôt hivernal, des pratiques telles que lenneigement artificiel se développent avec une pression sur la ressource incompatible avec le maintien dun bon état écologique des cours deau.
Notre association souhaite connaître votre avis sur cet enjeu. Pour cela nous vous invitons à répondre à ces quelques questions, qui nous serviront pour évaluer votre ressenti face à cette problématique qui mobilise de nombreux acteurs.
Les réponses aux questionnaires donneront lieu à lédition dune plaquette destinée au grand public, pour expliquer simplement les enjeux de la gestion quantitative de la ressource en eau.
")
item = @survey.items.build(:questions_type => 2, :text_presentation => 1, :title => "Merci de renseigner le N° de votre département ou celui pour lequel vous souhaitez apporter des réponses :", :item_type => 1)
item = @survey.items.build(:questions_type => 3, :title => "Tout au long de votre expérience personnelle et/ou professionnelle, percevez-vous une diminution de la ressource en eau ?", :item_type => 1)
item.answers.build(:label_text => "Oui en RhôneAlpes", :field_type => 1)
item.answers.build(:label_text => "Non en Rhône-Alpes", :field_type => 1)
item.answers.build(:label_text => "Ne sais pas/ pas davis pour Rhône-Alpes", :field_type => 1)
item.answers.build(:label_text => "Oui dans mon département", :field_type => 1)
item.answers.build(:label_text => "Non dans mon département", :field_type => 1)
item.answers.build(:label_text => "Ne sais pas/ pas davis dans mon département", :field_type => 1)
item = @survey.items.build(:questions_type => 3, :title => "Dans votre département, quels éléments vous permettent de constater la baisse de la quantité deau disponible ?", :item_type => 1)
item.answers.build(:label_text => "Restrictions sur lusage domestique de leau", :field_type => 1)
item.answers.build(:label_text => "Sécheresse agricole - pertes pour les cultures", :field_type => 1)
item.answers.build(:label_text => "Baisse des débits/niveaux deau des cours deau, des sources voire à sec", :field_type => 1)
item.answers.build(:label_text => "Absence de pluie prolongée", :field_type => 1)
item.answers.build(:label_text => "Information dans la presse/TV", :field_type => 1)
item.answers.build(:label_text => "Autres > Précisez ", :field_type => 3)
item = @survey.items.build(:questions_type => 3, :title => "Selon vous, dans votre département, quels sont les usages qui posent un problème sur la quantité deau disponible ?", :item_type => 1)
item.answers.build(:label_text => "Lusage domestique (arrosage jardin, lavage voiture, piscine privée, bains)", :field_type => 1)
item.answers.build(:label_text => "Lusage industriel (refroidissement, production de matériaux, usage hydroélectrique)", :field_type => 1)
item.answers.build(:label_text => "Lusage agricole, irrigation des cultures", :field_type => 1)
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.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 = @survey.items.build(:questions_type => 2, :text_presentation => 2, :title => "Selon vous, y a-t-il des structures ou des outils spécifiques qui tentent de répondre à la problématique de la gestion quantitative de la ressource en eau (Merci de développer ci-dessous) ?", :item_type => 1)
@survey.save
end
def down
@survey = SurveyType.find_by_slug("07-13-ressource-en-eau").destroy
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20130629170803) do
ActiveRecord::Schema.define(:version => 20130717000000) do
create_table "admins", :force => true do |t|
t.string "email", :default => "", :null => false