affichage détail envoi de mails
This commit is contained in:
parent
8490632452
commit
81fc99d138
@ -12,6 +12,17 @@ class Admin::NewslettersController < ApplicationController
|
|||||||
# require_permission 'newsletter.delete', :only => [:newsletter_del]
|
# require_permission 'newsletter.delete', :only => [:newsletter_del]
|
||||||
# require_permission 'newsletter.send', :only => [:send_test, :send_newsletter, :select_recipients]
|
# 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
|
def index
|
||||||
@h2 = "Lister les newsletters éxistantes"
|
@h2 = "Lister les newsletters éxistantes"
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
class ArchiveNewsletter < ActiveRecord::Base
|
class ArchiveNewsletter < ActiveRecord::Base
|
||||||
belongs_to :newsletter
|
belongs_to :newsletter
|
||||||
|
has_many :mail_archives
|
||||||
end
|
end
|
||||||
|
26
app/views/admin/newsletters/history.html.haml
Normal file
26
app/views/admin/newsletters/history.html.haml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
%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)
|
||||||
|
=")"
|
||||||
|
|
||||||
|
|
||||||
|
|
45
app/views/admin/newsletters/history_detail.html.haml
Normal file
45
app/views/admin/newsletters/history_detail.html.haml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
%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?
|
||||||
|
|
@ -36,6 +36,7 @@
|
|||||||
= link_to i(:"envelope-o"), select_recipients_admin_newsletter_path(u)
|
= link_to i(:"envelope-o"), select_recipients_admin_newsletter_path(u)
|
||||||
= link_to i(:pencil), edit_admin_newsletter_path(u)
|
= link_to i(:pencil), edit_admin_newsletter_path(u)
|
||||||
= link_to i(:"eye"), admin_newsletter_path(u), :target => "_blank"
|
= link_to i(:"eye"), admin_newsletter_path(u), :target => "_blank"
|
||||||
|
= link_to i(:"history"), history_admin_newsletter_path(u)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,6 +48,9 @@ Survey::Application.routes.draw do
|
|||||||
|
|
||||||
resources :newsletters do
|
resources :newsletters do
|
||||||
member do
|
member do
|
||||||
|
get :history
|
||||||
|
get :history_detail
|
||||||
|
|
||||||
get "select_recipients"
|
get "select_recipients"
|
||||||
put "select_recipients"
|
put "select_recipients"
|
||||||
post "send_test"
|
post "send_test"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user