refactor(attestation): groupe instructeur signature shared

Co-Authored-By: Christophe Robillard <christophe.robillard@beta.gouv.fr>
This commit is contained in:
Colin Darie 2023-09-21 16:11:11 +02:00 committed by krichtof
parent c02e6f2a77
commit 934e86a465
7 changed files with 22 additions and 25 deletions

View file

@ -3,6 +3,7 @@ module Administrateurs
include ActiveSupport::NumberHelper
include Logic
include UninterlacePngConcern
include PreviewAttestationConcern
before_action :ensure_not_super_admin!, only: [:add_instructeur]
@ -381,13 +382,6 @@ module Administrateurs
end
end
def preview_attestation
attestation_template = procedure.attestation_template || procedure.build_attestation_template
@attestation = attestation_template.render_attributes_for({groupe_instructeur: groupe_instructeur})
render 'administrateurs/attestation_templates/show', formats: [:pdf]
end
private
def closed_params?

View file

@ -0,0 +1,12 @@
module PreviewAttestationConcern
extend ActiveSupport::Concern
included do
def preview_attestation
attestation_template = procedure.attestation_template || procedure.build_attestation_template
@attestation = attestation_template.render_attributes_for({ groupe_instructeur: groupe_instructeur })
render 'administrateurs/attestation_templates/show', formats: [:pdf]
end
end
end

View file

@ -1,6 +1,7 @@
module Instructeurs
class GroupeInstructeursController < InstructeurController
include UninterlacePngConcern
include PreviewAttestationConcern
ITEMS_PER_PAGE = 25

View file

@ -16,5 +16,6 @@
= render partial: 'administrateurs/groupe_instructeurs/contact_information',
locals: { procedure: @procedure,
groupe_instructeur: @groupe_instructeur }
= render partial: 'administrateurs/groupe_instructeurs/signature',
locals: { groupe_instructeur: @groupe_instructeur }
= render partial: "shared/groupe_instructeurs/signature_form", locals: { groupe_instructeur: @groupe_instructeur,
preview_path: preview_attestation_admin_procedure_groupe_instructeur_path(@groupe_instructeur.procedure, @groupe_instructeur) }

View file

@ -65,18 +65,6 @@
%p= service.telephone
- if service.horaires.present?
%p= service.horaires
.card.mt-2
= render NestedForms::FormOwnerComponent.new
= form_with url: { action: :add_signature }, method: :post, html: { multipart: true } do |f|
.card-title Tampon de l'attestation
.fr-upload-group.fr-mb-4w
%p.fr-text--sm.fr-text-mention--grey.fr-mb-1w
Dimensions conseillées : au minimum 500 px de largeur ou de hauteur.
= render Attachment::EditComponent.new(attached_file: @groupe_instructeur.signature, direct_upload: false)
.fr-btns-group.fr-btns-group--inline
= f.submit 'Ajouter le tampon', class: 'fr-btn'
- if @groupe_instructeur.signature.persisted?
= link_to("Prévisualiser", preview_attestation_admin_procedure_groupe_instructeur_path(@groupe_instructeur.procedure, @groupe_instructeur), class: "fr-btn fr-btn--secondary", **external_link_attributes)
= render partial: "shared/groupe_instructeurs/signature_form", locals: { groupe_instructeur: @groupe_instructeur,
preview_path: preview_attestation_instructeur_groupe_path(@groupe_instructeur.procedure, @groupe_instructeur) }

View file

@ -11,5 +11,5 @@
.fr-btns-group.fr-btns-group--inline
= f.submit 'Ajouter le tampon', class: 'fr-btn'
- if groupe_instructeur.signature.persisted?
= link_to("Prévisualiser", preview_attestation_admin_procedure_groupe_instructeur_path(groupe_instructeur.procedure, groupe_instructeur), class: "fr-btn fr-btn--secondary", **external_link_attributes)
- if @groupe_instructeur.signature.persisted?
= link_to("Prévisualiser", preview_path, class: "fr-btn fr-btn--secondary", **external_link_attributes)

View file

@ -396,6 +396,7 @@ Rails.application.routes.draw do
post 'add_instructeur'
delete 'remove_instructeur'
post 'add_signature'
get 'preview_attestation'
end
end