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
Generated
+9 -1
View File
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.1].define(version: 2026_08_17_173000) do
ActiveRecord::Schema[8.1].define(version: 2026_08_17_234500) do
# These are extensions that must be enabled in order to support this database
enable_extension "pg_catalog.plpgsql"
@@ -143,6 +143,7 @@ ActiveRecord::Schema[8.1].define(version: 2026_08_17_173000) do
t.string "ab_assignment", default: "from_record", null: false
t.boolean "ab_test", default: false, null: false
t.string "audience", default: "to_send", null: false
t.datetime "authorized_at"
t.text "body_html", null: false
t.text "body_html_b"
t.datetime "completed_at"
@@ -153,16 +154,23 @@ ActiveRecord::Schema[8.1].define(version: 2026_08_17_173000) do
t.bigint "mail_template_b_id"
t.bigint "mail_template_id"
t.string "name", null: false
t.datetime "next_send_at"
t.bigint "project_id", null: false
t.datetime "queued_at"
t.boolean "send_window_enabled", default: false, null: false
t.integer "send_window_end_minutes"
t.integer "send_window_start_minutes"
t.string "status", default: "draft", null: false
t.string "subject", null: false
t.string "subject_b"
t.datetime "test_sent_at"
t.string "test_sent_to"
t.datetime "updated_at", null: false
t.bigint "updated_by_id"
t.index ["ab_test"], name: "index_mailings_on_ab_test"
t.index ["mail_identity_id"], name: "index_mailings_on_mail_identity_id"
t.index ["project_id"], name: "index_mailings_on_project_id"
t.index ["status", "next_send_at"], name: "index_mailings_on_status_and_next_send_at"
t.index ["status"], name: "index_mailings_on_status"
end