suite
This commit is contained in:
parent
462d328cb5
commit
1a045e278a
@ -845,3 +845,73 @@ h1{
|
||||
}
|
||||
|
||||
|
||||
|
||||
#reservations_index_block{
|
||||
table{
|
||||
width:100%;
|
||||
}
|
||||
.top{
|
||||
width:100%;
|
||||
|
||||
td{
|
||||
border:0px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.next{
|
||||
text-align:right;
|
||||
}
|
||||
#calendar{
|
||||
|
||||
table{
|
||||
border-collapse:collapse;
|
||||
|
||||
|
||||
td{
|
||||
border:1px solid black;
|
||||
padding:0px;
|
||||
|
||||
.day{
|
||||
position:relative;
|
||||
|
||||
.date{
|
||||
|
||||
position:absolute;
|
||||
font-size:40px;
|
||||
top:25px;
|
||||
right:10px;
|
||||
color:white;
|
||||
|
||||
}
|
||||
|
||||
.am, .pm{
|
||||
text-align:left;
|
||||
padding:20px;
|
||||
|
||||
&.true{
|
||||
background:#ea5454;
|
||||
|
||||
}
|
||||
|
||||
&.false{
|
||||
background:#9bbb56;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -560,5 +560,73 @@ cursor:pointer
|
||||
}
|
||||
|
||||
|
||||
#reservations_index_block{
|
||||
table{
|
||||
width:100%;
|
||||
}
|
||||
.top{
|
||||
width:100%;
|
||||
|
||||
td{
|
||||
border:0px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.next{
|
||||
text-align:right;
|
||||
}
|
||||
#calendar{
|
||||
|
||||
table{
|
||||
border-collapse:collapse;
|
||||
|
||||
|
||||
td{
|
||||
border:1px solid black;
|
||||
padding:0px;
|
||||
|
||||
.day{
|
||||
position:relative;
|
||||
|
||||
.date{
|
||||
|
||||
position:absolute;
|
||||
font-size:40px;
|
||||
top:25px;
|
||||
right:10px;
|
||||
color:white;
|
||||
|
||||
}
|
||||
|
||||
.am, .pm{
|
||||
text-align:left;
|
||||
padding:20px;
|
||||
|
||||
&.true{
|
||||
background:#ea5454;
|
||||
|
||||
}
|
||||
|
||||
&.false{
|
||||
background:#9bbb56;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
285
app/controllers/admin/newsletters_controller.rb
Executable file → Normal file
285
app/controllers/admin/newsletters_controller.rb
Executable file → Normal file
@ -1,183 +1,136 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
|
||||
class Admin::NewslettersController < ApplicationController
|
||||
layout "admin"
|
||||
|
||||
|
||||
before_filter :auth_admin
|
||||
|
||||
# require_permission 'newsletter.show'
|
||||
# require_permission 'newsletter.add', :only => [:newsletter_new, :newsletter_create]
|
||||
# require_permission 'newsletter.edit', :only => [:newsletter_edit, :newsletter_update]
|
||||
# require_permission 'newsletter.delete', :only => [:newsletter_del]
|
||||
# require_permission 'newsletter.send', :only => [:send_test, :send_newsletter, :select_recipients]
|
||||
|
||||
|
||||
def history_detail
|
||||
@archive_newsletter = ArchiveNewsletter.find(params[:id])
|
||||
@newsletter = @archive_newsletter.newsletter
|
||||
end
|
||||
|
||||
|
||||
def history
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
end
|
||||
|
||||
def index
|
||||
@h2 = "Liste des newsletters "
|
||||
|
||||
|
||||
|
||||
per_page = (params[:per_page] and params[:per_page] != "") ? params[:per_page] : 15
|
||||
page = (params[:page] and params[:page] != "") ? params[:page] : 1
|
||||
|
||||
|
||||
@newsletter= Newsletter.order("created_at DESC").page(page).per(per_page)
|
||||
end
|
||||
|
||||
def new
|
||||
@h2 = "Creer une newsletter"
|
||||
@newsletter = Newsletter.new
|
||||
render :layout => false
|
||||
end
|
||||
|
||||
def create
|
||||
@h2 = "Creer une newsletter"
|
||||
|
||||
@newsletter = Newsletter.new(params.require(:newsletter).permit!)
|
||||
|
||||
if @newsletter.save
|
||||
per_page = (params[:per_page] and params[:per_page] != "") ? params[:per_page] : 15
|
||||
page = (params[:page] and params[:page] != "") ? params[:page] : 1
|
||||
|
||||
|
||||
@newsletters= Newsletter.order("created_at DESC").page(page).per(per_page)
|
||||
#redirect_to :action => :index
|
||||
else
|
||||
render :action => :new
|
||||
end
|
||||
end
|
||||
layout "admin"
|
||||
|
||||
def edit
|
||||
@h2 = "Editer une newsletter"
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
end
|
||||
|
||||
def update
|
||||
@h2 = "Editer une newsletter"
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
if @newsletter.update_attributes(params.require(:newsletter).permit!)
|
||||
flash[:notice]= "La newsletter à été mise à jour"
|
||||
|
||||
else
|
||||
render :action => :edit
|
||||
end
|
||||
end
|
||||
|
||||
def show
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
@options = {}
|
||||
render :layout => "mail"
|
||||
end
|
||||
|
||||
def destroy
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
@newsletter.destroy
|
||||
flash[:notice]= "La newsletter à été supprimé avec succès"
|
||||
redirect_to :action => :index
|
||||
|
||||
end
|
||||
def index
|
||||
@newsletters = Newsletter.order('created_at DESC')
|
||||
if request.xhr?
|
||||
render :layout => false
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def send_test
|
||||
@errors = []
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
#NewsletterMails.newsletter(@newsletter, params[:email]).deliver
|
||||
send_helper @newsletter, params[:email]
|
||||
|
||||
|
||||
flash[:notice]= "La newsletter a bien été envoyée à l'email de test"
|
||||
redirect_to :action => :index
|
||||
end
|
||||
|
||||
|
||||
def send_helper(newsletter, email, options = {})
|
||||
|
||||
if email and email != ""
|
||||
|
||||
begin
|
||||
@mail_archive = MailArchive.new
|
||||
@mail_archive.archive_newsletter_id = @archive_newsletter.id if @archive_newsletter
|
||||
@mail_archive.email = email
|
||||
@mail_archive.newsletter_id = newsletter.id
|
||||
@mail_archive.sheet = options[:sheet]
|
||||
@mail_archive.person = options[:person]
|
||||
@mail_archive.save
|
||||
|
||||
options = options.merge({:mail_archive => @mail_archive})
|
||||
|
||||
|
||||
NewsletterMails.newsletter(newsletter, email, options).deliver if email and email != ""
|
||||
|
||||
|
||||
rescue
|
||||
@errors << "<span class'error'>#{email}</span>"
|
||||
end
|
||||
end
|
||||
end
|
||||
def new
|
||||
|
||||
|
||||
def send_newsletter
|
||||
@errors = []
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
|
||||
@archive_newsletter = ArchiveNewsletter.create :newsletter_id => @newsletter.id, :title => @newsletter.title, :content => @newsletter.content, :email_from => Newsletter::EMAIL_TEXTES[@newsletter.email_from][0].to_s+ " <#{@newsletter.email_from}>"
|
||||
if params[:confirmed_groups]
|
||||
PeopleNewsgroup.all(:conditions => {:newsgroup_id => params[:confirmed_groups]}).each do |pn|
|
||||
if pn.person
|
||||
p =pn.person
|
||||
|
||||
send_helper(@newsletter, p.email, :people_newsgroup => pn, :person => p, :sheet => p.sheet) if p.newsletter
|
||||
|
||||
end
|
||||
end
|
||||
elsif params[:confirmed_sheets]
|
||||
|
||||
|
||||
|
||||
@newsletter = Newsletter.new()
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
@sheets = Sheet.find(:all, :conditions => {:id => params[:confirmed_sheets]})
|
||||
|
||||
@persons = Person.find(:all, :conditions => {:sheet_id => params[:confirmed_sheets], :newsletter => true})
|
||||
|
||||
@persons.each do |p|
|
||||
send_helper(@newsletter, p.email, :person => p, :sheet => p.sheet)
|
||||
end
|
||||
|
||||
@sheets.each do |s|
|
||||
send_helper(@newsletter, s.other_mail, :sheet => s)
|
||||
end
|
||||
@newsletter = Newsletter.new(params.require(:newsletter).permit!)
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
flash[:notice]= "La newsletter a bien été envoyée à toutes les adresses mail séléctionnée"
|
||||
redirect_to :action => :index
|
||||
|
||||
end
|
||||
|
||||
def select_recipients
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
if params[:sheet_filter]
|
||||
@sheets = Sheet.search_by_params(params[:sheet_filter])
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
puts params[:newsletter][:subject]
|
||||
if @newsletter.save
|
||||
flash[:notice] = "La newsletter à bien été créé."
|
||||
@newsletters = Newsletter.order('created_at DESC')
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html{ redirect_to admin_newsletters_path}
|
||||
end
|
||||
|
||||
else
|
||||
|
||||
respond_to do |format|
|
||||
format.js { render :action => :new}
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def edit
|
||||
|
||||
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
|
||||
if @newsletter.update_attributes(params.require(:newsletter).permit!)
|
||||
flash[:notice] = "La newsletter à bien été modifié."
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to(admin_newsletters_path()) }
|
||||
format.js
|
||||
end
|
||||
|
||||
else
|
||||
respond_to do |format|
|
||||
format.html { render :action => :edit}
|
||||
format.js { render :action => :edit}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def destroy
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
@newsletter.destroy
|
||||
|
||||
|
||||
flash[:notice] = "La newsletter à bien été supprimé."
|
||||
end
|
||||
|
||||
|
||||
def send_test
|
||||
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
@email = params[:email].to_s
|
||||
|
||||
General.send_newsletter(@email,@newsletter).deliver
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
redirect_to(admin_newsletters_path, :notice => "La newsletter a bien été envoyée à l'email de test")
|
||||
end
|
||||
|
||||
def select_recipients
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
|
||||
|
||||
|
||||
|
||||
@studients = Registrant.where(:enabled => true).all
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
def send_newsletter
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
@i = 0
|
||||
if params[:confirmed_ids]
|
||||
@registrants = Registrant.find( params[:confirmed_ids])
|
||||
@registrants.each do |registrant|
|
||||
|
||||
General.send_newsletter(registrant,@newsletter).deliver
|
||||
@i +=1
|
||||
end
|
||||
end
|
||||
@newsletter.sended = true
|
||||
@newsletter.send_at = Time.now
|
||||
@newsletter.save
|
||||
|
||||
redirect_to(admin_newsletters_path, :notice => "La newsletter a la séléction d'emails ("+@i.to_s+" envois.)")
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
94
app/controllers/admin/registrants_controller.rb
Normal file
94
app/controllers/admin/registrants_controller.rb
Normal file
@ -0,0 +1,94 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class Admin::RegistrantsController < ApplicationController
|
||||
before_filter :auth_admin
|
||||
|
||||
layout "admin"
|
||||
|
||||
|
||||
|
||||
before_filter :find_registrants
|
||||
|
||||
def index
|
||||
|
||||
end
|
||||
|
||||
def import
|
||||
|
||||
@file = File.open(Rails.root.join('contacts.csv')).read
|
||||
|
||||
r = Regexp.new(/\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/)
|
||||
@emails = @file.scan(r).uniq
|
||||
|
||||
@emails.each do |mail|
|
||||
Registrant.create(:enabled => true, :email => mail)
|
||||
end
|
||||
end
|
||||
|
||||
def cible
|
||||
@registrants = Registrant.all
|
||||
render :layout => false
|
||||
end
|
||||
|
||||
def new
|
||||
|
||||
@registrant = Registrant.new
|
||||
|
||||
respond_to do |format|
|
||||
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
|
||||
@registrant = Registrant.find(params[:id])
|
||||
end
|
||||
|
||||
|
||||
def create
|
||||
@registrant = Registrant.new(params.require(:registrant).permit!)
|
||||
|
||||
respond_to do |format|
|
||||
if @registrant.save
|
||||
flash[:notice] = "Le lien à été ajouté avec succès."
|
||||
self.find_registrants
|
||||
format.js
|
||||
else
|
||||
format.html { render :action => "new" }
|
||||
format.js { render :action => "new" }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
@registrant = Registrant.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
if @registrant.update_attributes(params.require(:registrant).permit!)
|
||||
|
||||
|
||||
format.js
|
||||
else
|
||||
|
||||
format.js { render :action => "edit" }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def destroy
|
||||
@registrant = Registrant.find(params[:id])
|
||||
@registrant.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
def find_registrants
|
||||
@registrants = Registrant.all
|
||||
end
|
||||
end
|
@ -2,6 +2,7 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
|
||||
class Admin::ReservationsController < ApplicationController
|
||||
before_filter :auth_admin
|
||||
|
||||
|
||||
layout "admin"
|
||||
@ -53,7 +54,7 @@ class Admin::ReservationsController < ApplicationController
|
||||
|
||||
|
||||
def create
|
||||
@reservation = Reservation.new(params[:reservation])
|
||||
@reservation = Reservation.new(params.require(:reservation).permit!)
|
||||
|
||||
@date = Date.parse("#{params[:year]}/#{params[:month]}").beginning_of_month
|
||||
|
||||
|
@ -1,76 +0,0 @@
|
||||
# -*- encoding : utf-8 -*-
|
||||
class Public::LabelProduitsController < ApplicationController
|
||||
|
||||
|
||||
layout "public"
|
||||
|
||||
def importold
|
||||
|
||||
require 'roo'
|
||||
|
||||
@xlsx = Roo::Spreadsheet.open("#{Rails.root}/import_label/label.xlsx")
|
||||
#xlsx = Roo::Excelx.new("./new_prices.xlsx")
|
||||
|
||||
# Use the extension option if the extension is ambiguous.
|
||||
#xlsx = Roo::Spreadsheet.open('./rails_temp_upload', extension: :xlsx)
|
||||
|
||||
@xlsx.info
|
||||
@sheet = @xlsx.sheet(0)
|
||||
|
||||
end
|
||||
|
||||
def index
|
||||
|
||||
|
||||
per_page = (params[:per_page] and params[:per_page] != "") ? params[:per_page] : 50
|
||||
page = (params[:page] and params[:page] != "") ? params[:page] : 1
|
||||
|
||||
|
||||
|
||||
|
||||
@label_produits = LabelProduit.order("label_produits.name ASC")
|
||||
if params[:search]
|
||||
|
||||
if params[:label_category_id] and params[:label_category_id] != ""
|
||||
@label_produits = @label_produits.where(:label_category_id => params[:label_category_id])
|
||||
end
|
||||
|
||||
if params[:couleur_logo] and params[:couleur_logo] != ""
|
||||
@label_produits = @label_produits.where(:couleur_logo => params[:couleur_logo])
|
||||
end
|
||||
|
||||
if params[:label_marque_id] and params[:label_marque_id] != ""
|
||||
@label_produits = @label_produits.where(:label_marque_id => params[:label_marque_id])
|
||||
end
|
||||
|
||||
if params[:label_famille_id] and params[:label_famille_id] != ""
|
||||
@label_produits = @label_produits.joins(:label_category).where("label_categories.label_famille_id = ?", params[:label_famille_id])
|
||||
end
|
||||
|
||||
if params[:label_entreprise_id] and params[:label_entreprise_id] != ""
|
||||
@label_produits = @label_produits.joins(:label_marque).where("label_marques.label_entreprise_id = ?", params[:label_entreprise_id])
|
||||
end
|
||||
|
||||
if params[:label_distributeur_id] and params[:label_distributeur_id] != ""
|
||||
@label_produits = @label_produits.joins(:label_distributeurs).where("label_distributeurs.id = ?", params[:label_distributeur_id])
|
||||
end
|
||||
|
||||
if params[:q]
|
||||
|
||||
@label_produits = @label_produits.joins(:label_marque).where("label_produits.name LIKE ? or label_marques.name LIKE ? ", "%"+params[:q].to_s+"%", "%"+params[:q].to_s+"%" )
|
||||
|
||||
|
||||
end
|
||||
|
||||
if params[:label_marque_id] and params[:label_marque_id] != ""
|
||||
@label_marque = LabelMarque.find(params[:label_marque_id])
|
||||
end
|
||||
else
|
||||
@label_produits = LabelProduit.order("name ASC")
|
||||
|
||||
end
|
||||
|
||||
@label_produits = @label_produits.order("label_produits.name ASC").page(page).per(per_page)
|
||||
end
|
||||
|
||||
end
|
@ -8,10 +8,10 @@ class Public::RegistrantsController < ApplicationController
|
||||
|
||||
def create
|
||||
|
||||
@registrant = Registrant.new(params.require(:registrant).permit(:surname, :email))
|
||||
@registrant = Registrant.new(params.require(:registrant).permit!)
|
||||
|
||||
test = Registrant.find_by_email(@registrant.email)
|
||||
if test and !test.enabled
|
||||
if test
|
||||
@registrant = test
|
||||
General.confirm_email(@registrant).deliver
|
||||
else
|
||||
@ -24,13 +24,13 @@ class Public::RegistrantsController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def destroy_e
|
||||
def edit
|
||||
@registrant = Registrant.find_by_token(params[:id])
|
||||
if @registrant
|
||||
@registrant.destroy
|
||||
@message = "<p>Vous avez bien été désinscrit.</p>"
|
||||
redirect_to root_path, :notice => "L'adresse mail #{@registrant.email} à bien été supprimée de notre fichier."
|
||||
else
|
||||
@message = "Votre adresse mail ne figure pas dans notre fichier."
|
||||
redirect_to root_path, :notice => "Votre adresse mail ne figure pas dans notre fichier."
|
||||
end
|
||||
end
|
||||
|
||||
@ -39,14 +39,11 @@ class Public::RegistrantsController < ApplicationController
|
||||
if @registrant
|
||||
@registrant.enabled = true
|
||||
@registrant.save
|
||||
@message = "<p>Merci, votre inscription a bien été prise en compte.</p> "
|
||||
redirect_to root_path, :notice => "Merci ! Votre inscription est confirmée, vous recevrez désormais notre newsletter !"
|
||||
else
|
||||
@message = "Votre adresse mail ne figure pas dans le fichier."
|
||||
redirect_to root_path, :notice => "Votre adresse mail ne figure pas dans notre fichier."
|
||||
end
|
||||
|
||||
redirect_to "/"
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
@ -1,8 +1,22 @@
|
||||
class General < ActionMailer::Base
|
||||
default :from => "One Voice <info@test.com>"
|
||||
default :from => "ballalama <ballalama.reaumont@orange.fr>"
|
||||
self.default_url_options = {:host => HOSTNAME}
|
||||
|
||||
|
||||
def send_newsletter(email,newsletter )
|
||||
@newsletter = newsletter
|
||||
if email.kind_of?(String)
|
||||
email = email
|
||||
else
|
||||
@registrant = email
|
||||
email = email.email
|
||||
|
||||
end
|
||||
mail(:to => email, :subject => @newsletter.subject) do |format|
|
||||
format.html { render :action => "send_newsletter"}
|
||||
end
|
||||
end
|
||||
|
||||
def confirm_email(registrant)
|
||||
@registrant = registrant
|
||||
|
||||
|
@ -5,13 +5,13 @@ class Block < ActiveRecord::Base
|
||||
TitleContent: "Titre",
|
||||
TextContent: "Texte",
|
||||
ImageContent: "Image",
|
||||
#LinkContent:"Lien",
|
||||
#BreakContent: "Séparation",
|
||||
LinkContent:"Lien",
|
||||
BreakContent: "Séparation",
|
||||
HtmlContent: "Code HTML",
|
||||
#DownloadContent: "Téléchargement",
|
||||
DownloadContent: "Téléchargement",
|
||||
GalleryContent: "Galerie",
|
||||
#DynamicContent: "Contenu dynamique",
|
||||
#TableContent: "Tableau",
|
||||
DynamicContent: "Contenu dynamique",
|
||||
TableContent: "Tableau",
|
||||
BlockContent: "Bloc",
|
||||
MapContent: "Plan",
|
||||
#QuoteContent: "Citation",
|
||||
|
@ -4,7 +4,8 @@ class DynamicContent < ActiveRecord::Base
|
||||
|
||||
belongs_to :item
|
||||
|
||||
NAMES = {"realisations" => "Liste des réalisations"}
|
||||
NAMES = { "newsletter_form" => "Formulaire Newsletter","reservations" => "Tableau des réservations"}
|
||||
|
||||
|
||||
def self.picto
|
||||
"cog"
|
||||
|
@ -1,14 +0,0 @@
|
||||
=form_for [:admin, @newsletter], :remote => true do |f|
|
||||
|
||||
.content
|
||||
%p
|
||||
Sujet :
|
||||
=f.text_field :subject, :class => "inputText"
|
||||
%p
|
||||
slig:
|
||||
=f.text_field :slug, :class => "inputText"
|
||||
|
||||
|
||||
|
||||
.actions
|
||||
=f.submit "sauvegarder", :class => "btn btn-primary"
|
13
app/views/admin/newsletters/_form.html.haml
Normal file
13
app/views/admin/newsletters/_form.html.haml
Normal file
@ -0,0 +1,13 @@
|
||||
= semantic_form_for [:admin,@newsletter], :remote => true do |form|
|
||||
.content
|
||||
= form.inputs do
|
||||
|
||||
|
||||
= form.input :subject, :label => "Sujet :"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.actions
|
||||
= form.submit "Sauvegarder"
|
@ -1,7 +0,0 @@
|
||||
%tr
|
||||
|
||||
%td
|
||||
= newsletter.subject
|
||||
|
||||
%td
|
||||
=link_to public_newsletter_url(newsletter.slug), public_newsletter_path(newsletter.slug)
|
14
app/views/admin/newsletters/_newsletter.html.haml
Normal file
14
app/views/admin/newsletters/_newsletter.html.haml
Normal file
@ -0,0 +1,14 @@
|
||||
%tr#newsletter_row.newsletter_row{:id => newsletter.id}
|
||||
|
||||
%td=newsletter.subject
|
||||
%td=l newsletter.send_at if newsletter.send_at?
|
||||
%td
|
||||
=form_tag send_test_admin_newsletter_path(newsletter) do
|
||||
= text_field_tag :email,"", :style => "width:120px;"
|
||||
= submit_tag "Envoyer un email de test", :class => "lien"
|
||||
%td= link_to "Envoyer à une sélection d'inscrits", select_recipients_admin_newsletter_path(newsletter), :class => "button"
|
||||
%td.actions
|
||||
|
||||
= link_to i(:"trash-o"), [:admin, newsletter], :confirm => 'Voulez-vous vraiment supprimer cet newsletter ?', :method => :delete, :remote => true
|
||||
|
||||
= link_to i(:pencil), edit_admin_newsletter_path(newsletter)
|
7
app/views/admin/newsletters/_select_line.html.haml
Normal file
7
app/views/admin/newsletters/_select_line.html.haml
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
%tr
|
||||
%td=check_box_tag "confirmed_ids[]", select_line.id,true, :id => "confirmed_ids_"+select_line.id.to_s
|
||||
%td=select_line.name
|
||||
%td=select_line.surname
|
||||
%td=select_line.email
|
||||
|
@ -1,16 +1,9 @@
|
||||
-if @sheets
|
||||
=form_tag send_newsletter_admin_newsletter_path(params[:id]) do
|
||||
|
||||
.badge.badge-success
|
||||
=@sheets.size
|
||||
fiches trouvées
|
||||
=submit_tag "Envoyer la newsletter à toutes les adresses de ces fiches", :class => "btn btn-danger"
|
||||
%table#sheets_checkboxs.table.table-striped
|
||||
-@sheets.sort{|u,v| ((u.person.surname if u.person) || u.corporate).to_s <=>(( v.person.surname if v.person )|| v.corporate).to_s}.each do |sheet|
|
||||
%tr
|
||||
%td
|
||||
=check_box_tag "confirmed_sheets[]", sheet.id,true, :id => "confirmed_sheets_"+sheet.id.to_s
|
||||
%label{:for => "confirmed_sheets_"+sheet.id.to_s, :style => "display:inline;"}=(sheet.person.name if sheet.person and (!sheet.corporate or sheet.corporate == "")) || sheet.corporate
|
||||
|
||||
|
||||
|
||||
=form_tag send_newsletter_admin_newsletter_path(@newsletter) do
|
||||
#sheets_checkboxs
|
||||
%table.QI_table_alternate_alt1
|
||||
=render :partial => "select_line", :collection => @studients
|
||||
%br
|
||||
%br
|
||||
=submit_tag "Envoyer la newsletter à toutes les inscrits"
|
||||
%br
|
||||
%br
|
6
app/views/admin/newsletters/_show.html.haml
Normal file
6
app/views/admin/newsletters/_show.html.haml
Normal file
@ -0,0 +1,6 @@
|
||||
#newsletter_show.QI_background_middle.QI_padding_small
|
||||
%table
|
||||
%tr
|
||||
%td Sujet :
|
||||
%td=@newsletter.subject
|
||||
|
@ -1,4 +1,3 @@
|
||||
$('#newsletters').html("<%= escape_javascript(render(@newsletters))%>");
|
||||
close_pane_hover();
|
||||
|
||||
$('#newsletters').html("<%= escape_javascript(render(@newsletters))%>");
|
||||
<%= flash_js %>
|
2
app/views/admin/newsletters/destroy.js.erb
Normal file
2
app/views/admin/newsletters/destroy.js.erb
Normal file
@ -0,0 +1,2 @@
|
||||
$('#newsletter_row_<%=@newsletter.id%>').remove();
|
||||
<%= flash_js %>
|
122
app/views/admin/newsletters/edit.html.haml
Executable file → Normal file
122
app/views/admin/newsletters/edit.html.haml
Executable file → Normal file
@ -1,24 +1,33 @@
|
||||
-if @newsletter.block
|
||||
#toolbar-text
|
||||
%div{:style => "margin-right:330px;margin-top:45px;"}
|
||||
.newsletter_block_edit
|
||||
#menu_item_block_edit
|
||||
|
||||
=render :partial => "admin/blocks/block", :locals => {:block => @newsletter.block, :sortable => true}
|
||||
|
||||
|
||||
|
||||
#toolbar-text
|
||||
|
||||
#menu_item_block_edit{:style => "margin-right:330px;margin-top:45px;"}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
#menu_item_inspector_container
|
||||
%h2
|
||||
|
||||
|
||||
=render :partial => "admin/blocks/block", :locals => {:block => @newsletter.block, :sortable => true}
|
||||
|
||||
|
||||
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
%br
|
||||
#menu_item_inspector_container
|
||||
|
||||
|
||||
|
||||
@ -26,60 +35,59 @@
|
||||
|
||||
|
||||
|
||||
#menu_item_informations
|
||||
%h4
|
||||
Infos sur la newsletter
|
||||
#menu_item_informations
|
||||
=#link_to i(:eye), menu_item_path(:url => page.menu_item.url), :target => "_blank"
|
||||
|
||||
=link_to "modifier", edit_admin_newsletter_path(@newsletter), :remote => true,:class => "button"
|
||||
|
||||
%h4
|
||||
Infos sur la newsletter
|
||||
|
||||
|
||||
.panel#collapseOne{:style => "display:none;"}
|
||||
=render :partial => "form"
|
||||
.panel#collapseOne{:style => "display:none;"}
|
||||
=#render :partial => "edit_form"
|
||||
|
||||
%h4 éléments
|
||||
%h4 éléments
|
||||
|
||||
.panel#collapse2
|
||||
.block_portlets_sortable#content_types
|
||||
-@newsletter.alloweds_types.each do |slug, name|
|
||||
.panel#collapse2
|
||||
.block_portlets_sortable#content_types
|
||||
-@newsletter.block.alloweds_types.each do |slug, name|
|
||||
|
||||
.content_type{:id => slug, :"data-type" => slug}
|
||||
=#i slug.to_s.constantize.picto
|
||||
=image_tag("admin/content_type/type_"+slug.to_s+".png", :alt => name, :title => name, :class => "handle")
|
||||
.content_type{:id => slug, :"data-type" => slug}
|
||||
=#i slug.to_s.constantize.picto
|
||||
=image_tag("admin/content_type/type_"+slug.to_s+".png", :alt => name, :title => name, :class => "handle")
|
||||
|
||||
|
||||
#collapse3{:style => "display:none;"}
|
||||
%h4 Modifier l'élément
|
||||
#collapse3{:style => "display:none;"}
|
||||
%h4 Modifier l'élément
|
||||
|
||||
|
||||
.panel
|
||||
#element_form
|
||||
.panel
|
||||
#element_form
|
||||
|
||||
%div#element_form_action
|
||||
%a.move.btn.btn-default.portlet_handle{:href => "#", :data => {:portlet_id => nil}}
|
||||
%span.move_message
|
||||
=ic :arrows
|
||||
|
||||
déplacer
|
||||
%span.cancel_message
|
||||
=ic :ban
|
||||
|
||||
annuler
|
||||
|
||||
=link_to ic(:"trash-o"), "#", :method => :delete, :data => { :confirm => "Etes-vous sûr ?"}, :remote => true, :class => "btn btn-danger trash"
|
||||
|
||||
%button.save.btn.btn-primary
|
||||
=ic(:"floppy-o")
|
||||
%div#element_form_action
|
||||
%a.move.btn.btn-default.portlet_handle{:href => "#", :data => {:portlet_id => nil}}
|
||||
%span.move_message
|
||||
=ic :arrows
|
||||
|
||||
Sauvegarder
|
||||
déplacer
|
||||
%span.cancel_message
|
||||
=ic :ban
|
||||
|
||||
annuler
|
||||
|
||||
=link_to ic(:"trash-o"), "#", :method => :delete, :data => { :confirm => "Etes-vous sûr ?"}, :remote => true, :class => "btn btn-danger trash"
|
||||
|
||||
%button.save.btn.btn-primary
|
||||
=ic(:"floppy-o")
|
||||
|
||||
Sauvegarder
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-else
|
||||
|
||||
=raw @newsletter.content
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
3
app/views/admin/newsletters/edit.js.erb
Normal file
3
app/views/admin/newsletters/edit.js.erb
Normal file
@ -0,0 +1,3 @@
|
||||
show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",550,600);
|
||||
|
||||
<%= flash_js %>
|
@ -1,26 +0,0 @@
|
||||
%h1= @newsletter.title
|
||||
%table.table
|
||||
%tr
|
||||
%th Date d'envoi
|
||||
%th Nombre de messages envoyés
|
||||
%th Nombre de messages lus
|
||||
%th Nombre de messages non-lus
|
||||
-ArchiveNewsletter.where(:newsletter_id => @newsletter.id).all.each do |archive_newsletter|
|
||||
%tr
|
||||
%td=l archive_newsletter.created_at
|
||||
%td=mail_send = archive_newsletter.mail_archives.count()
|
||||
%td
|
||||
=mail_read = archive_newsletter.mail_archives.where(:readed => true).count()
|
||||
-if mail_send > 0
|
||||
="("
|
||||
=number_to_percentage (100.0*mail_read)/mail_send, :precision => 1
|
||||
=")"
|
||||
%td
|
||||
=mail_no_read = mail_send - mail_read
|
||||
-if mail_send > 0
|
||||
="("
|
||||
=link_to number_to_percentage((100.0*mail_no_read)/mail_send, :precision => 1), history_detail_admin_newsletter_path(archive_newsletter.id)
|
||||
=")"
|
||||
|
||||
|
||||
|
@ -1,45 +0,0 @@
|
||||
%h1= @newsletter.title
|
||||
%table.table
|
||||
%tr
|
||||
%th Date d'envoi
|
||||
%th Nombre de messages envoyés
|
||||
%th Nombre de messages lus
|
||||
%th Nombre de messages non-lus
|
||||
|
||||
%tr
|
||||
%td=l @archive_newsletter.created_at
|
||||
%td=mail_send = @archive_newsletter.mail_archives.count()
|
||||
%td
|
||||
=mail_read = @archive_newsletter.mail_archives.where(:readed => true).count()
|
||||
-if mail_send > 0
|
||||
="("
|
||||
=number_to_percentage (100.0*mail_read)/mail_send, :precision => 1
|
||||
=")"
|
||||
%td
|
||||
=mail_no_read = mail_send - mail_read
|
||||
-if mail_send > 0
|
||||
="("
|
||||
= number_to_percentage((100.0*mail_no_read)/mail_send, :precision => 1)
|
||||
=")"
|
||||
%h3 Liste des mails n'ayant pas reçu la newsletter
|
||||
%table.table
|
||||
-@archive_newsletter.mail_archives.where("readed != 1 or readed is null").all.each do |mail_archive|
|
||||
%tr
|
||||
%td
|
||||
=mail_archive.email
|
||||
%td
|
||||
|
||||
%td
|
||||
=link_to "Fiche adhérent", admin_sheet_path(mail_archive.sheet_id), :remote => true if mail_archive.sheet_id?
|
||||
|
||||
%h3 Liste des mails ayant reçu la newsletter
|
||||
%table.table
|
||||
-@archive_newsletter.mail_archives.where("readed = 1").all.each do |mail_archive|
|
||||
%tr
|
||||
%td
|
||||
=mail_archive.email
|
||||
%td
|
||||
|
||||
%td
|
||||
=link_to "Fiche adhérent", admin_sheet_path(mail_archive.sheet_id), :remote => true if mail_archive.sheet_id?
|
||||
|
25
app/views/admin/newsletters/index.html.haml
Executable file → Normal file
25
app/views/admin/newsletters/index.html.haml
Executable file → Normal file
@ -1,22 +1,13 @@
|
||||
.header
|
||||
.right= link_to 'Créer une nouvelle newsletter', new_admin_newsletter_path, :class => "button", :remote => true
|
||||
%h1 Liste des newsletters
|
||||
|
||||
.right
|
||||
=link_to ic(:plus)+" Créer une newsletter", new_admin_newsletter_path, :class => "btn btn-primary", :remote => true
|
||||
|
||||
%h1 Newsletters
|
||||
|
||||
%table.admin_table#newsletters-list.table.table-striped
|
||||
|
||||
.grid_12
|
||||
|
||||
%tr
|
||||
%th Expéditeur
|
||||
%th Sujet
|
||||
%th
|
||||
%th
|
||||
|
||||
|
||||
%tbody#newsletters=render @newsletter
|
||||
|
||||
|
||||
|
||||
|
||||
.pagination
|
||||
= paginate @newsletter#, :remote => true
|
||||
%table#newsletters.QI_table_alternate_alt1
|
||||
=render @newsletters
|
||||
|
||||
|
11
app/views/admin/newsletters/new.html.haml
Executable file → Normal file
11
app/views/admin/newsletters/new.html.haml
Executable file → Normal file
@ -1,3 +1,10 @@
|
||||
%h1 Créer une newsletter
|
||||
.header
|
||||
|
||||
%h1 Créer une newsletter
|
||||
|
||||
=render :partial => "form"
|
||||
|
||||
|
||||
|
||||
.grid_12
|
||||
=render :partial => "form"
|
||||
|
||||
|
@ -1 +1 @@
|
||||
show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",700,900);
|
||||
show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",550,600);
|
@ -1,63 +1,17 @@
|
||||
.header
|
||||
%h1
|
||||
Newsletter sélectionnée :
|
||||
=@newsletter.subject
|
||||
|
||||
|
||||
%h1 Envoyer une newsletter
|
||||
%p
|
||||
= link_to i(:"eye"), admin_newsletter_path(@newsletter), :target => "_blank"
|
||||
|
||||
Newsletter sélectionnée :
|
||||
=@newsletter.title
|
||||
|
||||
|
||||
|
||||
%ul.nav.nav-tabs#myTab
|
||||
%li.active
|
||||
%a{:href => "#send_sheets"}
|
||||
Envoyer à une selection d'adhérents
|
||||
%li
|
||||
%a{:href => "#groups"}
|
||||
Envoyer à des groupes d'inscrits
|
||||
.tab-content
|
||||
.tab-pane.active#send_sheets
|
||||
%br
|
||||
%p Descendre en bas de page pour envoyer la newsletter.
|
||||
.grid_12
|
||||
%h3 Fiches sélectionnées
|
||||
%a{:href => "#", :onclick => "$('#sheets_selecteds input:checkbox').attr('checked', true);return false"} Tout sélectionner.
|
||||
%a{:href => "#", :onclick => "$('#sheets_selecteds input:checkbox').attr('checked', false);return false"} Tout désélectionner
|
||||
#sheets_selecteds
|
||||
=render :partial => "sheets_selecteds"
|
||||
|
||||
|
||||
|
||||
|
||||
=render :partial => "admin/sheets/sheets_search", :locals => {:url => ""}
|
||||
|
||||
%p
|
||||
%a{:href => "#", :onclick => "$('#sheets_selecteds input:checkbox').attr('checked', true);return false"} Tout sélectionner.
|
||||
%a{:href => "#", :onclick => "$('#sheets_selecteds input:checkbox').attr('checked', false);return false"} Tout désélectionner
|
||||
#sheets_selecteds
|
||||
|
||||
|
||||
|
||||
|
||||
.tab-pane#groups
|
||||
=form_tag send_newsletter_admin_newsletter_path(:id => params[:id]) do
|
||||
|
||||
%table.table.table-striped
|
||||
-Newsgroup.all.each do |ng|
|
||||
%tr
|
||||
%td
|
||||
=check_box_tag "confirmed_groups[]", ng.id,false, :id => "confirmed_groups_"+ng.id.to_s
|
||||
%label{:for => "confirmed_groups_"+ng.id.to_s, :style => "display:inline;"}=ng.name
|
||||
|
||||
%br
|
||||
%br
|
||||
=submit_tag "Envoyer la newsletter à toutes les personnes de ce groupe", :class => "btn btn-danger"
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$('#myTab a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
%br
|
||||
%br
|
||||
%br
|
@ -1 +1,3 @@
|
||||
$("#sheets_selecteds").html("<%= escape_javascript(render(:partial => "sheets_selecteds"))%>");
|
||||
|
||||
|
||||
$('#sheets_selecteds').html('<%= escape_javascript(render(:partial => "sheets_selecteds")) %>');
|
@ -1,12 +0,0 @@
|
||||
=raw @newsletter.content
|
||||
|
||||
-if @newsletter.email_from? and @newsletter.email_from != "contact@lepicvert.asso.fr"
|
||||
%br
|
||||
%p
|
||||
%strong=Newsletter::EMAIL_TEXTES[@newsletter.email_from][1]
|
||||
%br
|
||||
=Newsletter::EMAIL_TEXTES[@newsletter.email_from][2]
|
||||
%br
|
||||
%br
|
||||
=link_to @newsletter.email_from, "mailto:#{@newsletter.email_from}"
|
||||
|
@ -1 +1,4 @@
|
||||
close_pane_hover();
|
||||
$('#newsletter_show').replaceWith("<%= escape_javascript(render(:partial => "show"))%>");
|
||||
|
||||
<%= flash_js %>
|
14
app/views/admin/registrants/_form.html.haml
Normal file
14
app/views/admin/registrants/_form.html.haml
Normal file
@ -0,0 +1,14 @@
|
||||
= semantic_form_for [:admin,@registrant], :remote => true do |form|
|
||||
.content
|
||||
= form.inputs do
|
||||
= form.input :enabled, :as => :boolean, :label => "Confirmé"
|
||||
= form.input :name, :label => "Nom"
|
||||
= form.input :surname, :label => "Prénom"
|
||||
= form.input :email, :label => "Email :"
|
||||
|
||||
|
||||
|
||||
|
||||
.actions
|
||||
= form.submit "Sauvegarder"
|
||||
|
9
app/views/admin/registrants/_registrant.html.haml
Normal file
9
app/views/admin/registrants/_registrant.html.haml
Normal file
@ -0,0 +1,9 @@
|
||||
%tr#registrant_row.registrant_row{:id => registrant.id}
|
||||
|
||||
%td=registrant.email
|
||||
|
||||
|
||||
%td.actions
|
||||
= link_to i(:"trash-o"), [:admin, registrant], :confirm => 'Voulez-vous vraiment supprimer ce dossier, et tout ces articles ?', :method => :delete, :remote => true
|
||||
|
||||
= link_to i(:pencil), edit_admin_registrant_path(registrant), :remote => true
|
20
app/views/admin/registrants/_show.html.haml
Normal file
20
app/views/admin/registrants/_show.html.haml
Normal file
@ -0,0 +1,20 @@
|
||||
#registrant_show.QI_background_middle.QI_padding_small
|
||||
%table
|
||||
|
||||
%tr
|
||||
%td{:rowspan => 4, :style => "width:270px;text-align:center"}
|
||||
=image_tag @registrant.image_file.file.large.medium.small.thumb.url if @registrant.image_file
|
||||
%td{:style => "width:150px;"} Nom :
|
||||
%td=@registrant.title
|
||||
%tr
|
||||
%td Permalink :
|
||||
%td=@registrant.slug
|
||||
%tr
|
||||
%td Statut :
|
||||
%td=@registrant.enabled ? "Publié" : "Brouillon"
|
||||
|
||||
|
||||
%tr
|
||||
%td{:style => "vertical-align:top"} Description courte :
|
||||
%td= simple_format @registrant.description
|
||||
|
4
app/views/admin/registrants/create.js.erb
Normal file
4
app/views/admin/registrants/create.js.erb
Normal file
@ -0,0 +1,4 @@
|
||||
close_pane_hover();
|
||||
$('#registrants').html("<%= escape_javascript(render(@registrants))%>");
|
||||
|
||||
<%= flash_js %>
|
3
app/views/admin/registrants/destroy.js.erb
Normal file
3
app/views/admin/registrants/destroy.js.erb
Normal file
@ -0,0 +1,3 @@
|
||||
$('#registrant_row_<%=@registrant.id%>').remove();
|
||||
|
||||
<%= flash_js %>
|
3
app/views/admin/registrants/edit.js.erb
Normal file
3
app/views/admin/registrants/edit.js.erb
Normal file
@ -0,0 +1,3 @@
|
||||
show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",550,600);
|
||||
|
||||
<%= flash_js %>
|
7
app/views/admin/registrants/index.html.haml
Normal file
7
app/views/admin/registrants/index.html.haml
Normal file
@ -0,0 +1,7 @@
|
||||
.header
|
||||
.right= link_to 'Ajouter un inscrit', new_admin_registrant_path, :class => "button", :remote => true
|
||||
%h1 Liste des inscrits à la newsletter
|
||||
|
||||
.grid_12
|
||||
%table#registrants.QI_table_alternate_alt1
|
||||
=render @registrants
|
1
app/views/admin/registrants/new.js.erb
Normal file
1
app/views/admin/registrants/new.js.erb
Normal file
@ -0,0 +1 @@
|
||||
show_pane_hover("<%= escape_javascript(render(:partial => "form"))%>",550,600);
|
4
app/views/admin/registrants/update.js.erb
Normal file
4
app/views/admin/registrants/update.js.erb
Normal file
@ -0,0 +1,4 @@
|
||||
close_pane_hover();
|
||||
$('#registrant_row_<%= @registrant.id %>').replaceWith("<%= escape_javascript(render(@registrant))%>");
|
||||
|
||||
<%= flash_js %>
|
@ -3,14 +3,14 @@
|
||||
|
||||
-if Reservation.where(:day => day, :pm => false).first
|
||||
.am.true
|
||||
= link_to i(:trash_stroke), admin_reservation_url(:id => Reservation.where(:day => day, :pm => false).first.id, :month => @date.month, :year => @date.year), :remote => true, :method => :delete
|
||||
= link_to i(:"trash-o"), admin_reservation_url(:id => Reservation.where(:day => day, :pm => false).first.id, :month => @date.month, :year => @date.year), :remote => true, :method => :delete
|
||||
-else
|
||||
.am.false
|
||||
= link_to i(:plus), admin_reservations_url(:reservation => {:day => day, :pm => false}, :month => @date.month, :year => @date.year), :remote => true, :method => :post
|
||||
|
||||
-if Reservation.where(:day => day, :pm => true).first
|
||||
.am.true
|
||||
= link_to i(:trash_stroke), admin_reservation_url(:id => Reservation.where(:day => day, :pm => true).first.id, :month => @date.month, :year => @date.year), :remote => true, :method => :delete
|
||||
= link_to i(:"trash-o"), admin_reservation_url(:id => Reservation.where(:day => day, :pm => true).first.id, :month => @date.month, :year => @date.year), :remote => true, :method => :delete
|
||||
-else
|
||||
.am.false
|
||||
= link_to i(:plus), admin_reservations_url(:reservation => {:day => day, :pm => true}, :month => @date.month, :year => @date.year), :remote => true, :method => :post
|
||||
|
@ -1,12 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='fr' xml:lang='fr'>
|
||||
<head>
|
||||
<title>Ballalama</title>
|
||||
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
|
||||
<style type="text/css">
|
||||
body { background-color: white; color:#2d2d2d;font-family: Lucida Grande, arial, sans-serif;}
|
||||
.content{
|
||||
width:90%;
|
||||
margin:auto;
|
||||
margin-top:10px;
|
||||
margin-bottom:10px;
|
||||
-moz-box-shadow: 0px 0px 20px #666;
|
||||
-webkit-box-shadow: 0px 0px 20px #666;
|
||||
box-shadow: 0px 0px 20px #666;
|
||||
padding:20px;
|
||||
|
||||
border:1px solid #aaaaa9;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
#legaly{
|
||||
text-align:center;
|
||||
width:90%;
|
||||
margin:auto;
|
||||
}
|
||||
.header{
|
||||
text-align:center;
|
||||
width:90%;
|
||||
margin:auto;
|
||||
}
|
||||
|
||||
.portlet.table_content table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
Merci pour votre inscription !
|
||||
<br /><br />
|
||||
En cliquant sur le lien ci-dessous vous confirmerez votre demande d'inscription à la newsletter.
|
||||
<br /><br />
|
||||
.portlet.table_content table td {
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.portlet.block_content .two_column .column {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.portlet.block_content .two_column .column .block {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="header">
|
||||
<%=link_to image_tag("http://"+HOSTNAME+"/assets/front/logo.png"), "http://"+HOSTNAME %>
|
||||
|
||||
</div>
|
||||
<div class="content">
|
||||
Bonjour !
|
||||
<br />
|
||||
<br />
|
||||
En cliquant sur le lien ci dessous vous confirmerez votre demande d'inscription à notre newsletter,
|
||||
qui vous permettra d'être tenu informé de nos actualités.
|
||||
<br />
|
||||
<br />
|
||||
<%=link_to email_validation_public_registrant_url(:id => @registrant.token) , email_validation_public_registrant_url(:id => @registrant.token) %>
|
||||
<br />
|
||||
<br />
|
||||
(Si vous ne pouvez pas cliquer sur ce lien, merci de bien vouloir le copier et le coller dans la barre d'adresse de votre navigateur.)
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
|
||||
|
||||
|
@ -0,0 +1,78 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='fr' xml:lang='fr'>
|
||||
<head>
|
||||
<title>Ballalama</title>
|
||||
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
|
||||
<style type="text/css">
|
||||
body { background-color: white; color:#2d2d2d;font-family: Lucida Grande, arial, sans-serif;}
|
||||
.content{
|
||||
width:90%;
|
||||
margin:auto;
|
||||
margin-top:10px;
|
||||
margin-bottom:10px;
|
||||
-moz-box-shadow: 0px 0px 20px #666;
|
||||
-webkit-box-shadow: 0px 0px 20px #666;
|
||||
box-shadow: 0px 0px 20px #666;
|
||||
padding:20px;
|
||||
|
||||
border:1px solid #aaaaa9;
|
||||
position:relative;
|
||||
|
||||
}
|
||||
|
||||
#legaly{
|
||||
text-align:center;
|
||||
width:90%;
|
||||
margin:auto;
|
||||
}
|
||||
.header{
|
||||
text-align:center;
|
||||
width:90%;
|
||||
margin:auto;
|
||||
}
|
||||
|
||||
.portlet.table_content table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.portlet.table_content table td {
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.portlet.block_content .two_column .column {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.portlet.block_content .two_column .column .block {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="header">
|
||||
<%=link_to image_tag("http://"+HOSTNAME+"/logo2.png"), "http://"+HOSTNAME %>
|
||||
|
||||
</div>
|
||||
<div class="content">
|
||||
<%= render :object => @newsletter.block, :partial => "public/blocks/block" %>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="legaly">
|
||||
Vous recevez cet email car vous êtes abonné à la newsletter du site <a href="http://www.ballalama.com/">Ballalama.com</a>. Si vous ne souhaitez plus recevoir de mail de notre part, merci de cliquer sur ce lien : <%=link_to edit_public_registrant_url(:id => @registrant.token), edit_public_registrant_url(:id => @registrant.token) if @registrant %>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
|
||||
|
||||
|
@ -38,8 +38,8 @@
|
||||
|
||||
|
||||
%li= link_to "Actualités", admin_articles_path
|
||||
%li=#link_to "Inscrits", admin_registrants_path()
|
||||
%li=#link_to "Newsletters", admin_newsletters_path()
|
||||
%li=link_to "Inscrits", admin_registrants_path()
|
||||
%li=link_to "Newsletters", admin_newsletters_path()
|
||||
%li=link_to "Réservations", admin_reservations_path()
|
||||
%li=link_to "Menu d'accueil", admin_big_menus_path()
|
||||
|
||||
|
@ -1,7 +0,0 @@
|
||||
.realisation_list
|
||||
-Realisation.all.each do |realisation|
|
||||
=link_to public_realisation_path(:id => realisation.slug) do
|
||||
.realisation
|
||||
.img{:style => "background-image :url('"+(realisation.default_image.image_file.file.large.medium.url if realisation.default_image).to_s+"');"}
|
||||
|
||||
%h3=realisation.title
|
@ -0,0 +1,3 @@
|
||||
-@date = Date.today.beginning_of_month
|
||||
|
||||
=render :partial => "public/reservations/index_block"
|
@ -1,13 +0,0 @@
|
||||
-if @admin
|
||||
.dynamic
|
||||
Sous menu avec images
|
||||
|
||||
|
||||
|
||||
-if input.portlet.blockable_parent and input.portlet.blockable_parent.class.to_s == "Page" and input.portlet.blockable_parent.menu_item
|
||||
.sub_menu
|
||||
-input.portlet.blockable_parent.menu_item.children.where(:enabled => true, :visible => true).each do |menu_item|
|
||||
=link_to menu_item_path(:url => menu_item.url) do
|
||||
.sub_menu_item{:style => "background-image:url('#{menu_item.image_file.file.large.medium.small.url}')"}
|
||||
%h3=menu_item.name
|
||||
.clear
|
@ -1,106 +0,0 @@
|
||||
.header
|
||||
%h1 Faisons connaissance.
|
||||
|
||||
%p{:style => "text-align:center;"}
|
||||
Que vous souhaitiez investir dans une laverie, ou simplement
|
||||
%br
|
||||
louer votre bien pour l'implantation de l'une d'elles nous nous ferons
|
||||
%br
|
||||
un plaisir de vous guider dans votre projet.
|
||||
|
||||
|
||||
.article.left
|
||||
.row-fluid
|
||||
|
||||
.span4
|
||||
%h3 Par téléphone
|
||||
%p 04 76 35 19 77
|
||||
%h3 Par fax
|
||||
%p 04 76 35 20 41
|
||||
|
||||
.span4
|
||||
%h3 Par courrier
|
||||
%p
|
||||
Lux Laverie
|
||||
%br
|
||||
60 rue de la Tour de Criel
|
||||
%br
|
||||
38500 Voiron
|
||||
%br
|
||||
France
|
||||
|
||||
.span4
|
||||
%h3 Par email
|
||||
%p
|
||||
En nous écrivant à
|
||||
=link_to "contact@ballalama.com", "mailto:contact@ballalama.com"
|
||||
|
||||
%br
|
||||
%br
|
||||
.row-fluid
|
||||
|
||||
.span12
|
||||
%h3 Formulaire de contact
|
||||
|
||||
|
||||
=form_tag "contact/create", :method => :post do
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Nom*
|
||||
=text_field_tag :name, "", :placeholder => "Nom", :class => "validate[required]"
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Adresse
|
||||
=text_field_tag :address, "", :placeholder => "Adresse"
|
||||
=text_field_tag :address2, "", :placeholder => "Adresse suite"
|
||||
.row-fluid
|
||||
.span4
|
||||
=text_field_tag :cp, "", :placeholder => "Code postal"
|
||||
.span8
|
||||
=text_field_tag :city, "", :placeholder => "Ville"
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Téléphone*
|
||||
=text_field_tag :tel, "", :placeholder => "Téléphone", :class => "validate[required]"
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Mail
|
||||
=text_field_tag :mail, "", :placeholder => "Mail"
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Lieu du projet
|
||||
=text_field_tag :place, "", :placeholder => "Lieu du projet"
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Type du projet
|
||||
.row-fluid
|
||||
.span3
|
||||
=radio_button_tag :type, "bungalow"
|
||||
%label{:style => "display:inline-block;"} Bungalow
|
||||
|
||||
=radio_button_tag :type, "local"
|
||||
%label{:style => "display:inline-block;"} Local
|
||||
|
||||
.span9
|
||||
|
||||
Vous possédez le terrain ou le local pour l'installation ?
|
||||
|
||||
=radio_button_tag :owner, "oui"
|
||||
%label{:style => "display:inline-block;"} oui
|
||||
|
||||
=radio_button_tag :owner, "non"
|
||||
%label{:style => "display:inline-block;"} non
|
||||
|
||||
%p{:style => "margin-top:0.5em;margin-bottom:0px;"}
|
||||
%label Message
|
||||
=text_area_tag :message, "", :placeholder => "Message", :style => "height:10em;"
|
||||
%p Les champs marqués d'un * sont requis.
|
||||
|
||||
=submit_tag "Envoyer", :style => "display:block;text-align:center;margin:auto;color:white;background:#9ab354;border-radius:1em; padding:0.5em 1em; font-size:1em; border:0px;"
|
||||
|
||||
:javascript
|
||||
$("form").validationEngine();
|
||||
|
||||
|
||||
%p Un commercial pourra au besoin vous rencontrer sur toute la France.
|
||||
|
@ -63,28 +63,6 @@
|
||||
|
||||
=yield :corps
|
||||
|
||||
-if params[:url] == "contact"
|
||||
.center
|
||||
.row
|
||||
.columns.span_4
|
||||
%p
|
||||
%strong Siège social
|
||||
%p
|
||||
|
||||
Zone Actipôle, 4/6 boulevard Beaubourg
|
||||
%br
|
||||
77183 CROISSY BEAUBOURG
|
||||
%p
|
||||
Tél. 0(33) 1 60 17 91 76
|
||||
%br
|
||||
Fax. 0(33) 1 64 11 22 03
|
||||
%p
|
||||
email :
|
||||
=link_to "signa@bouvier-signa.com", "mailto:signa@bouvier-signa.com"
|
||||
|
||||
.columns.span_8
|
||||
.contact_form
|
||||
#form=render :partial => "public/contacts/form"
|
||||
|
||||
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
-@registrant = @registrant || Registrant.new
|
||||
=form_for [:public, @registrant], :remote => true do |f|
|
||||
.email=f.text_field :email, :placeholder => "email"
|
||||
=f.submit "M'inscrire", :class => "btn"
|
@ -1,14 +0,0 @@
|
||||
|
||||
|
||||
|
||||
#registrant_large_form
|
||||
-@registrant = @registrant || Registrant.new
|
||||
.center
|
||||
=semantic_form_for [:public, @registrant], :remote => true do |f|
|
||||
=f.inputs do
|
||||
=f.input :email, :label => "Mon adresse email :", :placeholder => "email"
|
||||
=f.submit "M'inscrire", :class => "btn"
|
||||
|
||||
=link_to "Annuler", "#", :onclick => "$('#newsletter_large_place').html('');return false;", :class => "cancel"
|
||||
|
||||
=hidden_field_tag :large, params[:large]
|
@ -1,7 +0,0 @@
|
||||
#newsletter_large
|
||||
.header
|
||||
.center
|
||||
%h2 Je m'abonne à la newsletter de One Voice
|
||||
%p Je souhaite être tenu au courant des campagnes de One Voice et participer à son combat. Je m’inscris à la newsletter.
|
||||
|
||||
=render :partial => "public/registrants/large_form"
|
@ -1,6 +0,0 @@
|
||||
.center
|
||||
%p
|
||||
Merci pour votre inscription. Vous allez recevoir un mail avec un lien pour la confirmer.
|
||||
|
||||
%p
|
||||
=link_to "Fermer", "#", :onclick => "$('#newsletter_large_place').html('');return false;", :class => "cancel"
|
0
app/views/public/registrants/create.html.haml
Normal file
0
app/views/public/registrants/create.html.haml
Normal file
@ -1,8 +1 @@
|
||||
|
||||
|
||||
<% if params[:large] %>
|
||||
|
||||
$("#registrant_large_form").html('<%= escape_javascript(render(:partial => "thanks"))%>');
|
||||
<% else %>
|
||||
$("#newsletter_form").html('Merci pour votre inscription. Vous allez recevoir un mail avec un lien pour la confirmer.');
|
||||
<% end %>
|
||||
$(".newsletter_form").replaceWith("Merci pour votre inscription ! Vous allez recevoir un mail avec un lien pour confirmer celle-ci.");
|
@ -1 +0,0 @@
|
||||
=render :partial => "new_large"
|
@ -1,9 +1 @@
|
||||
<% if params[:open] %>
|
||||
$("#newsletter_large_place").html('<%= escape_javascript(render(:partial => "new_large"))%>');
|
||||
<% elsif params[:large] %>
|
||||
$("#registrant_large_form").html('<%= escape_javascript(render(:partial => "large_form"))%>');
|
||||
<% else %>
|
||||
$("#newsletter_form").html('<%= escape_javascript(render(:partial => "form"))%>');
|
||||
<% end %>
|
||||
|
||||
|
||||
$(".newsletter_form").replaceWith("<%= escape_javascript(render(:partial => "portlets/dynamic_contents/newsletter_form")) %>");
|
@ -2,4 +2,4 @@
|
||||
=link_to "Actualités", public_articles_path(), :class => "link"
|
||||
-MenuItem.where(:parent_id => nil, :menu_id => Menu.first.id).order(:position).each do |menu_item|
|
||||
=menu_item_link(menu_item)
|
||||
=link_to "Contact", "/contact.html", :class => "link"
|
||||
|
||||
|
@ -32,6 +32,7 @@ fr:
|
||||
short: "%e %b"
|
||||
long: "%e %B %Y"
|
||||
only_month: "%B %Y"
|
||||
month: "%B %Y"
|
||||
day_names:
|
||||
- dimanche
|
||||
- lundi
|
||||
|
@ -1,26 +1,6 @@
|
||||
Rails.application.routes.draw do
|
||||
get "/realisations/:id.html" => "public/realisations#show", :as => :public_realisation
|
||||
get "fr/newsletters/:id.html" => "public/newsletters#show", :as => :public_newsletter
|
||||
get "/fr/assurance-vie.html"=> "public/home#assurance"
|
||||
|
||||
get "/fr/jmc/le-label-one-voice/decouvrez-les-produits-labellises.html" => "public/label_produits#index"
|
||||
get "label" => "public/label_produits#index", :as => :label
|
||||
|
||||
get "fr/videos/:slug" => "public/video_files#show", :as => :public_video_file
|
||||
|
||||
get "petition-chine" => "public/petitions#chine"
|
||||
get "fr/petitions/animaux-en-chine-a-laide.html" => "public/petitions#chine"
|
||||
|
||||
get "petition-produits-entretien" => "public/petitions#entretien"
|
||||
get "fr/petitions/interdiction-des-tests-sur-animaux-pour-les-produits-dentretien.html" => "public/petitions#entretien"
|
||||
|
||||
|
||||
|
||||
|
||||
get "fr/faire-un-don.html", :to => redirect("/faire-un-don")
|
||||
get "fr/faire-un-don", :to => redirect("/faire-un-don")
|
||||
get "fr/presse" => "public/press_releases#index", :as => :public_press_releases
|
||||
get "fr/presse/:id" => "public/press_releases#show", :as => :public_press_release
|
||||
namespace :admin do
|
||||
resources :realisation_images do
|
||||
collection do
|
||||
@ -71,8 +51,15 @@ Rails.application.routes.draw do
|
||||
get "sitemap.:f" => "public/sitemap#sitemap"
|
||||
namespace :public do
|
||||
|
||||
|
||||
resources :registrants do
|
||||
member do
|
||||
get :email_validation
|
||||
end
|
||||
|
||||
end
|
||||
resources :newsletter
|
||||
|
||||
resources :reservations
|
||||
|
||||
|
||||
resources :contacts
|
||||
@ -192,6 +179,22 @@ Rails.application.routes.draw do
|
||||
|
||||
namespace :admin do
|
||||
|
||||
resources :registrants do
|
||||
collection do
|
||||
get :import
|
||||
end
|
||||
end
|
||||
|
||||
resources :newsletters do
|
||||
member do
|
||||
post :send_test
|
||||
get :select_recipients
|
||||
post :select_recipients
|
||||
post:send_newsletter
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
resources :reservations
|
||||
resources :big_menus do
|
||||
member do
|
||||
|
BIN
public/logo2.png
BIN
public/logo2.png
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 49 KiB |
Loading…
x
Reference in New Issue
Block a user