Commit iniziale di eminuxCRM: CRM Rails con pipeline, campagne email e Docker.
Include autenticazione, progetti isolati, mail marketing HTML con SMTP, test A/B e editor WYSIWYG. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
class MailTemplatesController < ApplicationController
|
||||
before_action :require_current_project!
|
||||
before_action :set_template, only: %i[edit update destroy]
|
||||
|
||||
def index
|
||||
@page_title = "Template email"
|
||||
@mail_templates = MailTemplate.for_project(current_project)
|
||||
end
|
||||
|
||||
def new
|
||||
@page_title = "Nuovo template"
|
||||
@mail_template = MailTemplate.new(project: current_project, body_html: default_html, subject: "MatchLiveTV per {{societa}}")
|
||||
end
|
||||
|
||||
def create
|
||||
@mail_template = MailTemplate.new(template_params)
|
||||
@mail_template.project ||= current_project
|
||||
if @mail_template.save
|
||||
redirect_to mail_templates_path, notice: "Template salvato."
|
||||
else
|
||||
@page_title = "Nuovo template"
|
||||
render :new, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@page_title = "Modifica template"
|
||||
end
|
||||
|
||||
def update
|
||||
if @mail_template.update(template_params)
|
||||
redirect_to mail_templates_path, notice: "Template aggiornato."
|
||||
else
|
||||
@page_title = "Modifica template"
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
if @mail_template.mailings.exists? || @mail_template.mailings_as_b.exists?
|
||||
redirect_to mail_templates_path, alert: "Template già usato in un invio: non si elimina, puoi solo modificarlo."
|
||||
return
|
||||
end
|
||||
|
||||
@mail_template.destroy!
|
||||
redirect_to mail_templates_path, notice: "Template eliminato."
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_template
|
||||
@mail_template = MailTemplate.for_project(current_project).find(params[:id])
|
||||
end
|
||||
|
||||
def template_params
|
||||
params.require(:mail_template).permit(:name, :subject, :body_html)
|
||||
end
|
||||
|
||||
def default_html
|
||||
<<~HTML
|
||||
<p>Ciao {{contatto_nome}},</p>
|
||||
<p>scriviamo a <strong>{{societa}}</strong> ({{regione}}) per presentarti MatchLiveTV.</p>
|
||||
<p>Possiamo aiutarvi a trasmettere le giovanili in modo semplice.</p>
|
||||
<p>A presto,<br>Il team MatchLiveTV</p>
|
||||
HTML
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user