From f5d77a528cc976403200f7558a4094bb22ee8913 Mon Sep 17 00:00:00 2001 From: Christophe Robillard Date: Fri, 29 Sep 2023 15:27:42 +0200 Subject: [PATCH] refactor(attestation_template): make code more readable Co-Authored-By: simon lehericey --- app/models/attestation_template.rb | 31 +++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/app/models/attestation_template.rb b/app/models/attestation_template.rb index db966a89f..153169d11 100644 --- a/app/models/attestation_template.rb +++ b/app/models/attestation_template.rb @@ -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