Aggiunge fascia oraria, prova manuale obbligatoria e cruscotto invii email.
CI / lint (push) Failing after 16m2s
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled

Le campagne rispettano orario e giorni lavorativi, richiedono una mail di test con dati inseriti a mano prima dell'invio massivo e offrono una dashboard per monitorare l'avanzamento.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-18 00:04:33 +02:00
co-authored by Cursor
parent 4ddf534a0c
commit 98dcdbbf82
33 changed files with 882 additions and 56 deletions
+21 -1
View File
@@ -32,6 +32,26 @@
</div>
</div>
<div class="rounded-lg border border-zinc-200 p-4 dark:border-zinc-700" data-controller="send-window">
<label class="flex items-start gap-2 text-sm">
<%= f.check_box :send_window_enabled, { data: { send_window_target: "checkbox", action: "send-window#toggle" } } %>
<span>
<span class="font-medium">Invia solo in fascia oraria</span>
<span class="mt-1 block text-xs text-zinc-500">Le email partono solo nei giorni lavorativi (lunven, esclusi i festivi italiani). Se la fascia finisce, linvio riprende dal giorno lavorativo successivo.</span>
</span>
</label>
<div class="mt-4 grid gap-4 md:grid-cols-2 <%= "hidden" unless mailing.send_window_enabled? %>" data-send-window-target="panel">
<div>
<label class="mb-1 block text-sm font-medium">Dalle</label>
<%= f.time_field :send_window_start_tod, include_seconds: false, step: 60, class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Alle</label>
<%= f.time_field :send_window_end_tod, include_seconds: false, step: 60, class: input_class %>
</div>
</div>
</div>
<div class="rounded-lg border border-zinc-200 p-4 dark:border-zinc-700">
<label class="flex items-start gap-2 text-sm">
<%= f.check_box :ab_test, { data: { ab_test_target: "checkbox", action: "ab-test#toggle" } } %>
@@ -101,7 +121,7 @@
<div class="flex flex-wrap items-center gap-2 border-t border-zinc-100 pt-4 dark:border-zinc-800">
<%= f.submit mailing.new_record? ? "Crea bozza" : "Salva", class: btn_primary %>
<%= link_to "Annulla", mailing.new_record? ? mailings_path : mailing_path(mailing), class: btn_secondary %>
<%= link_to "Annulla", mailing.new_record? ? dashboard_mailings_path : mailing_path(mailing), class: btn_secondary %>
</div>
</div>