refactor(attestation_template): make code more readable

Co-Authored-By: simon lehericey <mail@simon.lehericey.net>
This commit is contained in:
Christophe Robillard 2023-09-29 15:27:42 +02:00
parent da06295191
commit f5d77a528c

View file

@ -60,16 +60,27 @@ class AttestationTemplate < ApplicationRecord
end
def render_attributes_for(params = {})
dossier = params.fetch(:dossier, false)
{
attributes = {
created_at: Time.zone.now,
title: dossier ? replace_tags(title, dossier) : params.fetch(:title, title),
body: dossier ? replace_tags(body, dossier) : params.fetch(:body, body),
footer: params.fetch(:footer, footer),
logo: params.fetch(:logo, logo.attached? ? logo : nil),
signature: signature_to_render(params)
logo: params.fetch(:logo, logo.attached? ? logo : nil)
}
dossier = params[:dossier]
if dossier.present?
attributes.merge({
title: replace_tags(title, dossier),
body: replace_tags(body, dossier),
signature: signature_to_render(dossier.groupe_instructeur)
})
else
attributes.merge({
title: params.fetch(:title, title),
body: params.fetch(:body, body),
signature: signature_to_render(params[:groupe_instructeur])
})
end
end
def logo_checksum
@ -90,10 +101,8 @@ class AttestationTemplate < ApplicationRecord
private
def signature_to_render(params)
dossier = params.fetch(:dossier, false)
groupe_instructeur = dossier ? dossier.groupe_instructeur : params[:groupe_instructeur]
if groupe_instructeur && groupe_instructeur.signature.attached?
def signature_to_render(groupe_instructeur)
if groupe_instructeur&.signature&.attached?
groupe_instructeur.signature
else
signature