Added newsletter admin views

This commit is contained in:
María Checa
2018-02-09 17:52:34 +01:00
parent 20173f9870
commit 881059811f
6 changed files with 128 additions and 6 deletions

View File

@@ -199,11 +199,16 @@
</li>
<% end %>
<li <%= "class=active" if controller_name == "newsletter" %>>
<%= link_to admin_newsletters_path do %>
<li class="section-title">
<a href="#">
<span class="icon-zip"></span>
<%= t("admin.menu.newsletter") %>
<% end %>
<strong><%= t("admin.menu.emails") %></strong>
</a>
<ul id="emails_menu" <%= "class=is-active" if controller_name == "newsletters" %>>
<li <%= "class=active" if controller_name == "newsletters" %>>
<%= link_to t("admin.menu.newsletters"), admin_newsletters_path %>
</li>
</ul>
</li>
</ul>
</div>

View File

@@ -0,0 +1,14 @@
<%= form_for [:admin, @newsletter] do |f| %>
<%= render 'shared/errors', resource: @newsletter %>
<%= f.select :segment_recipient, options_for_select(Newsletter.segment_recipients
.collect { |k,v| [t("admin.segment_recipient.#{k}"), v] },
@newsletter[:segment_recipient]) %>
<%= f.text_field :subject %>
<%= f.text_field :from %>
<%= f.cktext_area :body, ckeditor: { language: I18n.locale } %>
<div class="margin-top">
<%= f.submit class: "button success" %>
</div>
<% end %>

View File

@@ -0,0 +1,4 @@
<%= back_link_to %>
<h2><%= t("admin.newsletters.edit.title") %></h2>
<%= render "form" %>

View File

@@ -1,3 +1,47 @@
<h2><%= t("admin.newsletters.index.title") %></h2>
<h2 class="inline-block"><%= t("admin.newsletters.index.title") %></h2>
<%= link_to t("admin.newsletters.index.new_newsletter"), new_admin_newsletter_path,
class: "button float-right" %>
<%= link_to t("admin.newsletters.index.button"), users_admin_newsletters_path, class: "button" %>
<% if @newsletters.any? %>
<table id="newsletters">
<thead>
<tr>
<th><%= t("admin.newsletters.index.subject") %></th>
<th><%= t("admin.newsletters.index.segment_recipient") %></th>
<th><%= t("admin.newsletters.index.sent") %></th>
<th class="small-5 text-right"><%= t("admin.newsletters.index.actions") %></th>
</tr>
</thead>
<tbody>
<% @newsletters.order(created_at: :desc).each do |newsletter| %>
<tr id="<%= dom_id(newsletter) %>" class="newsletter">
<td>
<%= newsletter.subject %>
</td>
<td>
<%= t("admin.segment_recipient.#{newsletter.segment_recipient}") %>
</td>
<td>
<% if newsletter.draft? %>
<%= t("admin.newsletters.index.draft") %>
<% else %>
<%= l newsletter.sent_at.to_date %>
<% end %>
</td>
<td class="text-right">
<%= link_to t("admin.newsletters.index.edit"), edit_admin_newsletter_path(newsletter),
method: :get, class: "button hollow" %>
<%= link_to t("admin.newsletters.index.delete"), admin_newsletter_path(newsletter),
method: :delete, class: "button hollow alert" %>
<%= link_to t("admin.newsletters.index.preview"), admin_newsletter_path(newsletter),
class: "button" %>
</td>
</tr>
<% end %>
</tbody>
</table>
<% else %>
<div data-alert class="callout primary margin-top clear">
<%= t("admin.newsletters.index.empty_newsletters") %>
</div>
<% end %>

View File

@@ -0,0 +1,4 @@
<%= back_link_to %>
<h2><%= t("admin.newsletters.new.title") %></h2>
<%= render "form" %>

View File

@@ -0,0 +1,51 @@
<%= back_link_to %>
<h2><%= t("admin.newsletters.show.title") %></h2>
<%- recipients_count = @newsletter.list_of_recipients.count %>
<div class="small-12 column">
<div class="callout highlight">
<div class="row">
<div class="small-12 medium-4 column">
<strong><%= t("admin.newsletters.show.sent_at") %></strong><br>
<% if @newsletter.draft? %>
<%= t("admin.newsletters.index.draft") %>
<% else %>
<%= l @newsletter.sent_at.to_date %>
<% end %>
</div>
<div class="small-12 medium-4 column">
<strong><%= t("admin.newsletters.show.from") %></strong><br>
<%= @newsletter.from %>
</div>
<div class="small-12 medium-4 column">
<strong><%= t("admin.newsletters.show.subject") %></strong><br>
<%= @newsletter.subject %>
</div>
</div>
<div class="row">
<div class="small-12 column">
<strong><%= t("admin.newsletters.show.segment_recipient") %></strong><br>
<%= t("admin.segment_recipient.#{@newsletter.segment_recipient}") %>
<%= t("admin.newsletters.show.affected_users", n: recipients_count) %>
</div>
</div>
</div>
<strong><%= t("admin.newsletters.show.body") %></strong>
<p class="help-text" id="phase-description-help-text">
<%= t("admin.newsletters.show.body_help_text") %>
</p>
<div class="newsletter-body-content">
<%= render file: "app/views/mailer/newsletter.html.erb", layout: '/app/views/layouts/mailer.html.erb' %>
</div>
</div>
<% if @newsletter.draft? %>
<%= link_to t("admin.newsletters.show.send"), deliver_admin_newsletter_path(@newsletter),
"data-alert": t("admin.newsletters.show.send_alert", n: recipients_count),
method: :post,
id: "js-send-newsletter-alert",
class: "button success" %>
<% end %>