From 1dc3230fb24c837ee6575d9f08db0e3dd06041b0 Mon Sep 17 00:00:00 2001 From: Nicolas Bally Date: Sun, 24 Aug 2014 22:47:24 +0200 Subject: [PATCH] fautes --- app/assets/stylesheets/public.scss | 44 +++++++++++++++++- app/controllers/public/contacts_controller.rb | 26 +++++++++++ app/mailers/question_mailer.rb | 16 +++++++ app/models/contact.rb | 7 +++ app/views/layouts/public.html.haml | 41 +++++++++++----- app/views/public/contacts/_form.html.haml | 7 +++ app/views/public/contacts/_thank.html.haml | 2 + app/views/public/contacts/create.js.erb | 1 + app/views/public/contacts/index.haml | 10 ++++ app/views/public/contacts/new.js.erb | 1 + .../question_mailer/send_contact.html.haml | 5 ++ config/environments/production.rb | 2 +- config/routes.rb | 2 +- db/migrate/20140214091318_create_contacts.rb | 13 ++++++ db/schema.rb | 10 ++++ public/logo-simple.png | Bin 0 -> 20115 bytes 16 files changed, 173 insertions(+), 14 deletions(-) create mode 100644 app/controllers/public/contacts_controller.rb create mode 100644 app/mailers/question_mailer.rb create mode 100644 app/models/contact.rb create mode 100644 app/views/public/contacts/_form.html.haml create mode 100644 app/views/public/contacts/_thank.html.haml create mode 100644 app/views/public/contacts/create.js.erb create mode 100644 app/views/public/contacts/index.haml create mode 100644 app/views/public/contacts/new.js.erb create mode 100644 app/views/question_mailer/send_contact.html.haml create mode 100644 db/migrate/20140214091318_create_contacts.rb create mode 100644 public/logo-simple.png diff --git a/app/assets/stylesheets/public.scss b/app/assets/stylesheets/public.scss index 4b62e52..0c43dea 100644 --- a/app/assets/stylesheets/public.scss +++ b/app/assets/stylesheets/public.scss @@ -109,7 +109,7 @@ margin-left:10px; #nav-container{ -background:rgba(10,10,10,1); +background:rgba(225,7,22,1); border-bottom:1px solid rgba(200,200,200,1); //box-shadow: 0px 0px 6px rgba(0,0,0,0.7); @@ -325,3 +325,45 @@ line-height:1.62em; } } +#legals{ + +background:rgba(55,55,54,1); +color:white; + +p{ +max-width:3000px !important; +padding:1em; + +} + +} +.contact_form{ +width:900px; +margin:auto; +margin:1em auto; +padding:2em 0; +#form{ +h3, p{ +text-align:left; +} + +} +.label{ + +width:120px; +float:left; + +} +input{ +width:450px; +float: right; +} + +.btn{ +width:auto; +background:rgba(225,7,22,1); +color:white; +float:left; + +} +} \ No newline at end of file diff --git a/app/controllers/public/contacts_controller.rb b/app/controllers/public/contacts_controller.rb new file mode 100644 index 0000000..1342421 --- /dev/null +++ b/app/controllers/public/contacts_controller.rb @@ -0,0 +1,26 @@ +class Public::ContactsController < ApplicationController + layout "public" + + def index + + end + + def new + @contact = Contact.new + end + def create + @contact = Contact.new(params.require(:contact).permit(:website, :name, :email, :message)) + + + if @contact.save + QuestionMailer.send_contact(@contact).deliver + + render :action => :create + else + + render :action => :new + end + + end + +end diff --git a/app/mailers/question_mailer.rb b/app/mailers/question_mailer.rb new file mode 100644 index 0000000..ba5cacd --- /dev/null +++ b/app/mailers/question_mailer.rb @@ -0,0 +1,16 @@ +class QuestionMailer < ActionMailer::Base + default from: "contact@une-autre-laverie.com" + + # Subject can be set in your I18n file at config/locales/en.yml + # with the following lookup: + # + # en.question.deliver.subject + # + def send_contact(contact) + @contact = contact + + mail to: "contact@une-autre-laverie.com",:reply_to => @contact.email, :subject => "Nouveau mail par le site" + end + + +end diff --git a/app/models/contact.rb b/app/models/contact.rb new file mode 100644 index 0000000..4f6cf94 --- /dev/null +++ b/app/models/contact.rb @@ -0,0 +1,7 @@ +class Contact < ActiveRecord::Base + + validates :name, :presence => true + validates :email, :presence => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i + validates :message, :presence => true + +end diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index 870e0e9..87a8969 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -1,7 +1,7 @@ !!! %html{:xmlns=>"http://www.w3.org/1999/xhtml", :"xml:lang"=>"fr", :lang=>"fr"} %head - %title= "Une autre laverie" + %title= "Une autre laverie - Laveries automatiques clef en main, avec Miele." %meta{ :"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8" } %meta{ :"name" => "Description", :content => @description } %meta{ :"name" => "Keywords", :content => @keywords } @@ -33,11 +33,11 @@ %li %img{alt: "", src: "/diapo/01.jpg"}/ %h3 Laverie en local - %p La solution idéale pour les centre ville. + %p La solution idéale pour les centres-villes. %li %img{alt: "", src: "/diapo/04.jpg"}/ %h3 Laverie en bungalow - %p La meilleur solution pour les laveries automatique sur parking + %p La meilleure solution pour les laveries automatiques sur parking %li %img{alt: "", src: "/diapo/03.jpg"}/ %h3 Intérieur design, même en bungalow @@ -83,9 +83,9 @@ à l’installation de votre laverie %p - Tout les possesseur de laveries automatique seront d’accord pour vous dire qu’en dehors de l’emplacement, le plus important est de savoir fidéliser ses clients en leurs donnant envi de revenir. + Tous les possesseurs de laveries automatiques seront d’accord pour vous dire qu’en dehors de l’emplacement, le plus important est de savoir fidéliser ses clients en leurs donnant envie de revenir. %p - Avec nos solutions en bungalow ou en local vous mettez un lieu agréable, propre, avec un équipement de qualité à disposition de vos clients. Que ce soit sur un parking de supermarché où en bas d’un immeuble de centre ville. + Avec nos solutions en bungalow ou en local vous mettez un lieu agréable, propre, avec un équipement de qualité à disposition de vos clients. Que ce soit sur un parking de supermarché ou en bas d’un immeuble de centre-ville. #perfect @@ -103,7 +103,7 @@ %h2 Miele, "Immer Besser" %p - Toujours mieux, telle est là philosophie de Miele depuis 111 ans. Nous avons sélectionné cette marque pour ses produits à la pointe de la technologie, leur robustesse indiscutable ainsi que pour leur design et leur ergonomie, autres points forts de l’enseigne. + Toujours mieux, telle est la philosophie de Miele depuis 111 ans. Nous avons sélectionné cette marque pour ses produits à la pointe de la technologie, leur robustesse indiscutable ainsi que pour leur design et leur ergonomie, autres points forts de l’enseigne. %div =image_tag "/miele/04.png" @@ -118,7 +118,7 @@ #environement %h2 - Ecologie et économie + Ecologie et économies %p %span Les machines Miele affichent jusqu'à -47% de consommation d'eau @@ -129,7 +129,7 @@ Résultat ? La préservation des ressources de notre planète et une marge nettement augmentée : %br %span - La consommation d'eau et d'électricité sont les principales charges d'une laverie en self service + La consommation d'eau et d'électricité sont les principales charges d'une laverie en self-service #fournisseur @@ -137,7 +137,7 @@ %h2 Le meilleur pour votre laverie %p - Nous avons sélectionné les meilleurs fournisseurs pour vous proposer l’installation de laverie haut de gamme. Lorsque nous ne trouvions pas de produits satisfaisant dans le commerce nous avons créer les notre, comme pour le distributeur à lessive en inox. + Nous avons sélectionné les meilleurs fournisseurs pour vous proposer l’installation de laveries haut de gamme. Lorsque nous ne trouvions pas de produits satisfaisants dans le commerce nous avons créé les nôtres, comme pour le distributeur à lessive en inox. %p =image_tag "/lessive.jpg", :style => "width:200px;" @@ -154,7 +154,7 @@ %span Vous en avez assez des laveries tristes et aseptisées ? Osez un design inspiré et innovant : de %span - belles couleurs, un style avec une âme donnant un environnement remarqué et apprécié par vos + belles couleurs, un style avec une âme donnent un environnement remarqué et apprécié par vos %span clients. Ils reviendront plus facilement, en parleront autour d'eux et l'ambiance sera plus cosy. @@ -165,9 +165,28 @@ Contactez-nous et voyons ensemble comment le réaliser au mieux. %p Nous installons des laveries sur toute la France et pourrons vous rencontrer pour présenter nos solutions. + + .contact_form + %div{:style => "float:left;width:300px;"} + %p + =image_tag "/logo-simple.png", :style => "width:160px;position:relative;left:-20px;" + %p + 60 rue de la Tour de Criel + %br + 38500 Voiron + %p + Tél : 04 76 05 21 93 + %br + =link_to "contact@une-autre-laverie.com", "mailto:contact@une-autre-laverie.com" + %div{:style => "float:right;width:600px;"} + #form=render :partial => "public/contacts/form" + .clear - + #legals + + %p + CCCP 38 Sarl au capital de 10 000 € - Siret : 753 839 638 00016 - APE : 7112B - RC : 753 839 638 R.C.S. GRENOBLE diff --git a/app/views/public/contacts/_form.html.haml b/app/views/public/contacts/_form.html.haml new file mode 100644 index 0000000..73529e4 --- /dev/null +++ b/app/views/public/contacts/_form.html.haml @@ -0,0 +1,7 @@ +- @contact = @contact || Contact.new +=semantic_form_for [:public, @contact], :remote => true do |f| + =f.inputs do + =f.input :name, :label => "Nom :" + =f.input :email, :label => "Email :" + =f.input :message, :label => "Message :" + =f.submit "Envoyer", :class => "btn" \ No newline at end of file diff --git a/app/views/public/contacts/_thank.html.haml b/app/views/public/contacts/_thank.html.haml new file mode 100644 index 0000000..fbdfe2a --- /dev/null +++ b/app/views/public/contacts/_thank.html.haml @@ -0,0 +1,2 @@ +%h3 Merci pour votre message +%p Nous vous remercions pour votre message et vous répondrons dans les meilleurs délais. \ No newline at end of file diff --git a/app/views/public/contacts/create.js.erb b/app/views/public/contacts/create.js.erb new file mode 100644 index 0000000..3593d10 --- /dev/null +++ b/app/views/public/contacts/create.js.erb @@ -0,0 +1 @@ +$("#form").html("<%= escape_javascript(render(:partial => "thank")) %>"); \ No newline at end of file diff --git a/app/views/public/contacts/index.haml b/app/views/public/contacts/index.haml new file mode 100644 index 0000000..d7b43ce --- /dev/null +++ b/app/views/public/contacts/index.haml @@ -0,0 +1,10 @@ +%h2 Merci beaucoup +%p{:style => "text-align:center;"} + %br + Votre message m'a bien été envoyé, j'y répondrais dès que possible ! +%br +%br +%br +%br +%p{:style => "text-align:center;"} + =image_tag "smiley.png" \ No newline at end of file diff --git a/app/views/public/contacts/new.js.erb b/app/views/public/contacts/new.js.erb new file mode 100644 index 0000000..4987893 --- /dev/null +++ b/app/views/public/contacts/new.js.erb @@ -0,0 +1 @@ +$("#form").html("<%= escape_javascript(render(:partial => "form")) %>"); \ No newline at end of file diff --git a/app/views/question_mailer/send_contact.html.haml b/app/views/question_mailer/send_contact.html.haml new file mode 100644 index 0000000..8f08547 --- /dev/null +++ b/app/views/question_mailer/send_contact.html.haml @@ -0,0 +1,5 @@ +%p + Contact de + %strong=@contact.name +%hr +=simple_format @contact.message \ No newline at end of file diff --git a/config/environments/production.rb b/config/environments/production.rb index 9b35f71..dbf6359 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -83,7 +83,7 @@ CMSnb::Application.configure do # Use default logging formatter so that PID and timestamp are not suppressed. config.log_formatter = ::Logger::Formatter.new - config.action_mailer.default_url_options = { :host => "ecole-eft-france.fr" } + config.action_mailer.default_url_options = { :host => "une-autre-laverie.com" } config.action_mailer.delivery_method = :sendmail diff --git a/config/routes.rb b/config/routes.rb index 2793daf..5bffd64 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -48,7 +48,7 @@ CMSnb::Application.routes.draw do resources :testimonies resources :portfolios resources :artworks - + resources :contacts resources :photos resources :quotes do collection do diff --git a/db/migrate/20140214091318_create_contacts.rb b/db/migrate/20140214091318_create_contacts.rb new file mode 100644 index 0000000..539dae0 --- /dev/null +++ b/db/migrate/20140214091318_create_contacts.rb @@ -0,0 +1,13 @@ +class CreateContacts < ActiveRecord::Migration + def change + create_table :contacts do |t| + t.string :name + t.string :email + t.string :tel + t.string :website + t.text :message + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 47e020b..159250f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -145,6 +145,16 @@ ActiveRecord::Schema.define(version: 20140719230318) do add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id", using: :btree add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type", length: {"commentable_type"=>191}, using: :btree + create_table "contacts", force: true do |t| + t.string "name" + t.string "email" + t.string "tel" + t.string "website" + t.text "message" + t.datetime "created_at" + t.datetime "updated_at" + end + create_table "content_types", force: true do |t| t.string "slug" t.string "name" diff --git a/public/logo-simple.png b/public/logo-simple.png new file mode 100644 index 0000000000000000000000000000000000000000..efe55fb3d7420692cf998f5a9545ecf2ed43e3fd GIT binary patch literal 20115 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