affichage détail envoi de mails

This commit is contained in:
Nicolas Bally 2014-11-12 23:04:50 +01:00
parent 8490632452
commit 81fc99d138
6 changed files with 87 additions and 0 deletions

View File

@ -12,6 +12,17 @@ class Admin::NewslettersController < ApplicationController
# 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 = "Lister les newsletters éxistantes"

View File

@ -1,3 +1,4 @@
class ArchiveNewsletter < ActiveRecord::Base
belongs_to :newsletter
has_many :mail_archives
end

View 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)
=")"

View 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?

View File

@ -36,6 +36,7 @@
= link_to i(:"envelope-o"), select_recipients_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(:"history"), history_admin_newsletter_path(u)

View File

@ -48,6 +48,9 @@ Survey::Application.routes.draw do
resources :newsletters do
member do
get :history
get :history_detail
get "select_recipients"
put "select_recipients"
post "send_test"