Merge pull request #9903 from colinux/attestation-ux

ETQ admin, je peux tester l'attestation v2
This commit is contained in:
Colin Darie 2024-02-06 08:09:53 +00:00 committed by GitHub
commit 70e92f7c6b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
50 changed files with 1776 additions and 609 deletions

View file

@ -47,7 +47,11 @@ class Procedure < ApplicationRecord
foreign_key: "replaced_by_procedure_id", dependent: :nullify
has_one :module_api_carto, dependent: :destroy
has_one :attestation_template, dependent: :destroy
has_many :attestation_templates, dependent: :destroy
has_one :attestation_template_v1, -> { AttestationTemplate.v1 }, dependent: :destroy, class_name: "AttestationTemplate", inverse_of: :procedure
has_one :attestation_template_v2, -> { AttestationTemplate.v2 }, dependent: :destroy, class_name: "AttestationTemplate", inverse_of: :procedure
has_one :attestation_template, -> { AttestationTemplate.v1.or(AttestationTemplate.v2) }, dependent: :destroy, inverse_of: :procedure
belongs_to :parent_procedure, class_name: 'Procedure', optional: true
belongs_to :canonical_procedure, class_name: 'Procedure', optional: true
@ -988,6 +992,14 @@ class Procedure < ApplicationRecord
draft_revision.revision_types_de_champ_public.filter { _1.type_de_champ.header_section? }
end
def dossier_for_preview(user)
# Try to use a preview or a dossier filled by current user
dossiers.where(for_procedure_preview: true).or(dossiers.not_brouillon)
.order(Arel.sql("CASE WHEN for_procedure_preview = True THEN 1 ELSE 0 END DESC,
CASE WHEN user_id = #{user.id} THEN 1 ELSE 0 END DESC")) \
.first
end
private
def pieces_jointes_list