%= turbo_frame_tag "mailing_live", target: "_top", refresh: "morph" do %> <%= tag.div class: "space-y-6", data: (@mailing.sending? ? { controller: "auto-reload", auto_reload_interval_value: 10_000 } : {}) do %>
<%= mailing_status_badge(@mailing.status) %> · <%= @mailing.audience_label %> · da <%= @mailing.mail_identity.from_email %> <% if @mailing.ab_test? %> · Test A/B · <%= @mailing.ab_assignment_label %> <% end %> <% if @mailing.interval_seconds.positive? %> · pausa <%= @mailing.interval_seconds %>s <% end %> <% if @mailing.send_window_enabled? %> · fascia <%= @mailing.send_window_label %> <% end %>
<% if @mailing.sending? && @mailing.next_send_at.present? && @mailing.next_send_at > Time.current %>In pausa fino a <%= l(@mailing.next_send_at, format: :long) %> <% if @mailing.send_window_enabled? %> (fuori fascia o giorno non lavorativo). <% end %>
<% end %>su <%= @mailing.sent_count %> inviate
Si rileva quando il client carica le immagini.
<%= @mailing.variant_opened_count("A") %> aperte · <%= @mailing.variant_pending_count("A") %> in coda · <%= @mailing.subject %>
<%= @mailing.variant_opened_count("B") %> aperte · <%= @mailing.variant_pending_count("B") %> in coda · <%= @mailing.subject_b %>
Spunta chi deve ricevere la mail, poi salva la selezione.
<% end %>| Organizzazione | Test | <% end %>Stato | Apertura | ||
|---|---|---|---|---|---|
|
<% if @mailing.editable? && recipient.email_ok? %>
<%= check_box_tag "pending_ids[]", recipient.id, recipient.pending?,
id: "recipient_desktop_#{recipient.id}",
class: "mr-2",
data: { check_all_target: "checkbox" } %>
<% end %>
<%= link_to recipient.organization.name, recipient.organization, class: "font-medium hover:underline" %>
<%= recipient.contact&.full_name.presence || "Nessun contatto" %>
|
<% if recipient.email_ok? %>
<%= recipient.email %>
<% else %>
<%= recipient.email.presence || "manca email" %>
<% end %>
<% if recipient.skip_reason.present? && !recipient.pending? %>
<%= recipient.skip_reason %>
<% end %>
<% if recipient.error_message.present? %>
<%= recipient.error_message %>
<% end %>
<% if recipient.sent_at.present? %>
Inviata <%= format_dt(recipient.sent_at) %>
<% end %>
|
<% if @mailing.ab_test? %>
<%= ab_variant_badge(recipient.ab_variant) || "—" %> | <% end %><%= mailing_recipient_status_badge(recipient.status) %> |
<%= mailing_open_badge(recipient) || "—" %>
<% if recipient.opened? %>
<%= format_dt(recipient.opened_at) %>
<% if recipient.open_count > 1 %>
· <%= recipient.open_count %>×
<% end %>
<% end %>
|
<% if recipient.email_ok? %> <%= link_to "Anteprima", mailing_path(@mailing, recipient_id: recipient.id, variant: recipient.ab_variant), class: "text-zinc-700 hover:underline dark:text-zinc-300" %> <% end %> |
Compila i campi, controlla l’anteprima e manda una sola email subito a un indirizzo tuo. Non parte l’invio di massa.
<% if @mailing.tested? %>Ultima prova inviata a <%= @mailing.test_sent_to %> il <%= l(@mailing.test_sent_at, format: :short) %>.
<% end %> <%= render "mailings/test_send_form", mailing: @mailing %><%= @preview_subject %>
Se l’output della prova è corretto, autorizza il job. Partirà rispettando pausa e fascia oraria.
<%= button_to "Autorizza invio a #{@mailing.pending_count} destinatari", queue_mailing_path(@mailing), method: :post, class: btn_primary, form: { data: { turbo_confirm: @mailing.send_window_enabled? ? "Autorizzare l'invio di #{@mailing.pending_count} email da #{@mailing.mail_identity.from_email} nella fascia #{@mailing.send_window_label}?" : "Autorizzare l'invio di #{@mailing.pending_count} email da #{@mailing.mail_identity.from_email}?" } } %> <% elsif @mailing.pending_count.zero? %>Nessun destinatario da inviare. Spunta almeno un contatto con email valida.
<% else %>L’invio di massa resta bloccato finché non mandi una prova.
<% end %>