plaquette longpras

This commit is contained in:
Nicolas Bally 2013-03-07 19:40:06 +01:00
parent f61c1a2182
commit 96ffb84c01
26 changed files with 382 additions and 3 deletions

View File

@ -24,6 +24,8 @@ group :assets do
end
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem "raptor-editor-rails"
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

View File

@ -78,6 +78,9 @@ GEM
jquery-rails (2.1.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.0.1)
jquery-rails
railties (>= 3.1.0)
json (1.7.6)
kaminari (0.14.1)
actionpack (>= 3.0.0)
@ -130,6 +133,8 @@ GEM
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
rake (10.0.3)
raptor-editor-rails (0.2.1)
rails (> 3.1)
rdoc (3.12)
json (~> 1.4)
redcarpet (2.2.2)
@ -182,12 +187,14 @@ DEPENDENCIES
gravatar_image_tag
haml
jquery-rails
jquery-ui-rails
kaminari
mysql2
nokogiri
pg
pygments.rb
rails (= 3.2.9)
raptor-editor-rails
redcarpet
rmagick
rvm-capistrano

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -0,0 +1,135 @@
//= require jquery
//= require jquery_ujs
//= require jquery-ui
$(document).ready(function(){
function initialize_jeu_1(){
var element = $("#insectes_jeu_1")
var html = element.find(".sortable").html();
element.find(".sortable").sortable();
element.find(".sortable").disableSelection();
element.find(".verif").bind("click", function(){
var win = true;
var i = 0;
element.find("img").each(function(){
i = i+1;
if(i != $(this).data("order")){
win = false;
}
});
if(win == true){
element.find(".win").show();
element.find(".loose").hide();
}else{
element.find(".win").hide();
element.find(".loose").show();
}
});
element.find(".reset").click(function(){
element.find(".sortable").html(html);
element.find(".sortable").sortable("refresh");
element.find(".win").hide();
element.find(".loose").hide();
});
}
function initialize_jeu_2(){
var element = $("#insectes_jeu_2")
var html = element.find(".sortable").html();
element.find(".receptable").sortable({
connectWith: '.labels,.receptable',
items: '.label',
tolerance:"pointer",
receive: function(event, ui) {
if ($(this).children().length > 1) {
var child = $(this).children().not(ui.item)[0]
element.find(".labels").append(child);
}
}
});
element.find(".receptable ul").disableSelection();
element.find(".labels").sortable({
connectWith: '.receptable',
tolerance:"pointer",
items: '.label',
receive: function(event, ui){ui.item.attr('style','');}
});
element.find(".labels").disableSelection();
element.find(".verif").bind("click", function(){
var win = true;
var i = 0;
element.find("img").each(function(){
i = i+1;
if(i != $(this).data("order")){
win = false;
}
});
if(win == true){
element.find(".win").show();
element.find(".loose").hide();
}else{
element.find(".win").hide();
element.find(".loose").show();
}
});
element.find(".reset").click(function(){
element.find(".sortable").html(html);
element.find(".sortable").sortable("refresh");
element.find(".win").hide();
element.find(".loose").hide();
});
}
initialize_jeu_1();
initialize_jeu_2();
});

View File

@ -0,0 +1,109 @@
/*
*= require_self
*/
h3{
margin-top:6em;
border-bottom:1px dotted #b0cf81;
padding-bottom:0.2em;
}
#main{
padding:1em;
max-width:1024px;
margin:auto;
a{
color: #5890CD;
text-decoration:none;
&:hover{
text-decoration:underline;
}
}
table{
border-collapse:collapse;
td{
min-width:60px;
}
td, th{
border: 1px solid #c9c9c9;
padding:5px;
text-align:left;
}
}
}
body{
font-family: "Lucida Grande", "Verdana";
color:#303030;
padding:0px;
margin:0px;
}
#footer{
}
#insectes_jeu_2{
.labels{
min-height:100px;
.label{
background:#555555;
display:inline-block;
margin-left:5px;
margin-bottom:5px;
padding:0.5em 1em;
color:white;
border-radius:1.2em;
}
}
.image{
float:left;
width:300px;
height:200px;
padding:0em;
padding-bottom:2em !important;
img{
max-width:100%;
max-height:100%;
}
position:relative;
text-align:center;
padding-bottom:1em;
.receptable{
border:1px solid black;
.label{
text-align:center;
position:absolute;
padding-bottom:0.5em;
bottom:0px;
left:0px;
right:0px;
}
position:absolute;
top:0px;
bottom:0px;
left:0px;
right:0px;
}
}
}

View File

@ -0,0 +1,13 @@
# -*- encoding : utf-8 -*-
class PlaquettesController < ApplicationController
def show
render :template => "plaquettes/"+params[:slug].to_s
end
end

View File

@ -0,0 +1,19 @@
# -*- encoding : utf-8 -*-
module PlaquettesHelper
def jeux_sortable_img(jeux, nbr, style="width:150px;")
image_tag('plaquettes/'+jeux.to_s+"/"+nbr.to_s+".jpg", :"data-order" => nbr, :style => style)
end
def jeux_receptable_element(jeux,nbr, style ="")
raw("<div class='image'>")+image_tag('plaquettes/'+jeux.to_s+"/"+nbr.to_s+".jpg", :"data-order" => nbr, :style => style)+raw("<div class='receptable' style=''></div></div>")
end
def jeux_receptable_label(label,nbr, style ="width:200px;")
raw("<div class='label' data-nbr='#{nbr}'>#{label}</div>")
end
end

View File

@ -0,0 +1,16 @@
!!!
%html
%head
%title Le Pic Vert - Votre avis sur les sorties du Pic Vert
= stylesheet_link_tag "plaquettes", :media => "all"
= javascript_include_tag "plaquettes"
= csrf_meta_tags
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta charset="utf-8">
%body
#main=yield

View File

@ -0,0 +1,71 @@
%h1 Le mur à insectes
%p Fabriqué principalement avec des matériaux naturels, le « mur à insectes » du Château de Longpra abrite un grand nombre de petites bêtes, principalement des INSECTES.
%p Tout dabord un insecte dispose de 6 pattes et dun corps composé de 3 parties (la tête, le thorax et labdomen).
=image_tag("plaquettes/insectes_01.jpg", :style => "display:block; margin:auto;")
%p Dans la nature, certains insectes ne trouvent plus de quoi sabriter ou pondre leurs œufs (bois mort, tiges creuses…) cest pourquoi on peut les aider en leur fabriquant des abris.
%p
Certains de ces insectes peuvent être très utiles à lHomme, notamment au jardinier.
Par exemple au Château de Longpra il y a de très beaux rosiers, mais qui sont souvent grignoté par les pucerons.
La coccinelle, qui raffole des pucerons, est un très bon allier pour le jardinier. En fabriquant des gites à coccinelles, on peut lutter contre les pucerons sans utiliser de produits chimiques. Cest une petite chaîne alimentaire.
De même, en abritant certaines abeilles, on peut favoriser la pollinisation.
%p La plupart des abeilles sauvages (90%) à linverse des abeilles domestiques ne vivent pas en groupe. Elles ne fabriquent pas de miel, mai un mélange de nectar et de pollen nécessaire à lalimentation de leur larve.
#insectes_jeu_1
%h2 Jeu 1
.response{:style => "height:2em;"}
.win{:style => "display:none;"}
%p Bravo ! Tu as gagné, tu peux tirer les cheveux à l'animatrice !
.loose{:style => "display:none;"}
%p Perdu, tu dois donner 10€ à l'animatrice, c'est la vie !
%button.verif Vérifier
%button.reset Remettre à zero
.sortable{:style => "height:200px;"}
=jeux_sortable_img("insectes_jeu_1", 4)
=jeux_sortable_img("insectes_jeu_1", 3)
=jeux_sortable_img("insectes_jeu_1", 2)
=jeux_sortable_img("insectes_jeu_1", 5)
=jeux_sortable_img("insectes_jeu_1", 1)
#insectes_jeu_2
%h2 Jeu 2
.labels
=jeux_receptable_label("Guêpe", 1)
=jeux_receptable_label("Ornithorynque bleu", 2)
=jeux_receptable_label("Moucheron funanbule", 3)
=jeux_receptable_label("Sarkoglyphte à tête bruni", 4)
=jeux_receptable_label("Fourmillier brun", 5)
=jeux_receptable_label("Pitbull musqué", 6)
%p{:style => "clear:both;"}
%div.images
=jeux_receptable_element("insectes_jeu_2", 1)
=jeux_receptable_element("insectes_jeu_2", 2)
=jeux_receptable_element("insectes_jeu_2", 3)
=jeux_receptable_element("insectes_jeu_2", 4)
=jeux_receptable_element("insectes_jeu_2", 5)
=jeux_receptable_element("insectes_jeu_2", 6)
%p{:style => "clear:both;"}
%br
%br
%br
%br
%br

View File

@ -49,7 +49,7 @@ Survey::Application.configure do
# config.action_controller.asset_host = "http://assets.example.com"
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( admin.js admin.css forum.css forum.js )
config.assets.precompile += %w( admin.js admin.css forum.css forum.js plaquettes.css plaquettes.js )
# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false

View File

@ -1,6 +1,7 @@
# -*- encoding : utf-8 -*-
Survey::Application.routes.draw do
match 'plaquettes/:slug.:f' => 'plaquettes#show', :as => :plaquette, :f => "html"
get "forum_user/index"
@ -36,8 +37,14 @@ Survey::Application.routes.draw do
resources :topics
resources :newsletters
resources :newsletters do
member do
get "select_recipients"
post "select_recipients"
post "send_test"
post "send_newsletter"
end
end
resources :newsgroups