Aggiunge filtri avanzati per i destinatari delle campagne email.
CI / scan_ruby (push) Failing after 18m40s
CI / scan_js (push) Successful in 11m46s
CI / lint (push) Failing after 13m8s

La scelta della lista passa da un wizard a tre passi, con anteprima del conteggio e lista congelata solo dopo la conferma.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-24 21:00:11 +02:00
co-authored by Cursor
parent 2db7504629
commit 1f946f63ba
19 changed files with 912 additions and 46 deletions
+10 -15
View File
@@ -16,20 +16,15 @@
<%= f.text_field :name, required: true, class: input_class %>
</div>
<div class="grid gap-4 md:grid-cols-2">
<div>
<label class="mb-1 block text-sm font-medium">Account mittente</label>
<%= f.collection_select :mail_identity_id, @mail_identities, :id, :name, { prompt: "Scegli SMTP" }, { class: input_class, required: true } %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Lista destinatari</label>
<%= f.select :audience, Catalog::MAILING_AUDIENCES.map { |k, v| [v, k] }, {}, class: input_class %>
</div>
<div class="md:col-span-2">
<label class="mb-1 block text-sm font-medium">Pausa tra un invio e laltro (secondi)</label>
<%= f.number_field :interval_seconds, min: 0, max: 86_400, class: input_class %>
<p class="mt-1 text-xs text-zinc-500">0 = in coda una dopo laltra, senza attesa. Es. 120 = una email ogni 2 minuti.</p>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Account mittente</label>
<%= f.collection_select :mail_identity_id, @mail_identities, :id, :name, { prompt: "Scegli SMTP" }, { class: input_class, required: true } %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Pausa tra un invio e laltro (secondi)</label>
<%= f.number_field :interval_seconds, min: 0, max: 86_400, class: input_class %>
<p class="mt-1 text-xs text-zinc-500">0 = in coda una dopo laltra, senza attesa. Es. 120 = una email ogni 2 minuti.</p>
</div>
<div class="rounded-lg border border-zinc-200 p-4 dark:border-zinc-700" data-controller="send-window">
@@ -120,7 +115,7 @@
</div>
<div class="flex flex-col gap-2 border-t border-zinc-100 pt-4 sm:flex-row dark:border-zinc-800">
<%= f.submit mailing.new_record? ? "Crea bozza" : "Salva", class: "#{btn_primary} w-full sm:w-auto" %>
<%= f.submit mailing.new_record? ? "Continua: destinatari" : "Salva messaggio", class: "#{btn_primary} w-full sm:w-auto" %>
<%= link_to "Annulla", mailing.new_record? ? dashboard_mailings_path : mailing_path(mailing), class: "#{btn_secondary} w-full sm:w-auto" %>
</div>
</div>