perf(mail_template/attestation): preload procedure revisions
This commit is contained in:
parent
641a33e1e0
commit
85fa75e8f0
3 changed files with 22 additions and 14 deletions
|
@ -26,6 +26,15 @@ module Administrateurs
|
||||||
@procedure.reset!
|
@procedure.reset!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def preload_revisions
|
||||||
|
ProcedureRevisionPreloader.new(@procedure.revisions).all
|
||||||
|
|
||||||
|
@procedure.association(:draft_revision).target = @procedure.revisions.find { _1.id == @procedure.draft_revision.id }
|
||||||
|
if @procedure.published_revision
|
||||||
|
@procedure.association(:published_revision).target = @procedure.revisions.find { _1.id == @procedure.published_revision.id }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def ensure_not_super_admin!
|
def ensure_not_super_admin!
|
||||||
if administrateur_as_manager?
|
if administrateur_as_manager?
|
||||||
redirect_back fallback_location: root_url, alert: "Interdit aux super admins", status: 403
|
redirect_back fallback_location: root_url, alert: "Interdit aux super admins", status: 403
|
||||||
|
|
|
@ -3,6 +3,7 @@ module Administrateurs
|
||||||
include UninterlacePngConcern
|
include UninterlacePngConcern
|
||||||
|
|
||||||
before_action :retrieve_procedure
|
before_action :retrieve_procedure
|
||||||
|
before_action :preload_revisions
|
||||||
|
|
||||||
def show
|
def show
|
||||||
redirect_to edit_admin_procedure_attestation_template_path(@procedure)
|
redirect_to edit_admin_procedure_attestation_template_path(@procedure)
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
module Administrateurs
|
module Administrateurs
|
||||||
class MailTemplatesController < AdministrateurController
|
class MailTemplatesController < AdministrateurController
|
||||||
include ActionView::Helpers::SanitizeHelper
|
include ActionView::Helpers::SanitizeHelper
|
||||||
|
before_action :retrieve_procedure
|
||||||
|
before_action :preload_revisions
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@mail_templates = mail_templates
|
@mail_templates = mail_templates
|
||||||
|
@ -15,7 +17,7 @@ module Administrateurs
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
redirect_to edit_admin_procedure_mail_template_path(procedure.id, params[:id])
|
redirect_to edit_admin_procedure_mail_template_path(@procedure.id, params[:id])
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
|
@ -35,11 +37,11 @@ module Administrateurs
|
||||||
|
|
||||||
def preview
|
def preview
|
||||||
mail_template = find_mail_template_by_slug(params[:id])
|
mail_template = find_mail_template_by_slug(params[:id])
|
||||||
dossier = procedure.active_revision.dossier_for_preview(current_user)
|
dossier = @procedure.active_revision.dossier_for_preview(current_user)
|
||||||
|
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
@logo_url = procedure.logo_url
|
@logo_url = @procedure.logo_url
|
||||||
@service = procedure.service
|
@service = @procedure.service
|
||||||
@rendered_template = sanitize(mail_template.body_for_dossier(dossier), scrubber: Sanitizers::MailScrubber.new)
|
@rendered_template = sanitize(mail_template.body_for_dossier(dossier), scrubber: Sanitizers::MailScrubber.new)
|
||||||
@actions = mail_template.actions_for_dossier(dossier)
|
@actions = mail_template.actions_for_dossier(dossier)
|
||||||
|
|
||||||
|
@ -48,18 +50,14 @@ module Administrateurs
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def procedure
|
|
||||||
@procedure ||= current_administrateur.procedures.find(params[:procedure_id])
|
|
||||||
end
|
|
||||||
|
|
||||||
def mail_templates
|
def mail_templates
|
||||||
[
|
[
|
||||||
procedure.passer_en_construction_email_template,
|
@procedure.passer_en_construction_email_template,
|
||||||
procedure.passer_en_instruction_email_template,
|
@procedure.passer_en_instruction_email_template,
|
||||||
procedure.accepter_email_template,
|
@procedure.accepter_email_template,
|
||||||
procedure.refuser_email_template,
|
@procedure.refuser_email_template,
|
||||||
procedure.classer_sans_suite_email_template,
|
@procedure.classer_sans_suite_email_template,
|
||||||
procedure.repasser_en_instruction_email_template
|
@procedure.repasser_en_instruction_email_template
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue