feat(ProcedureRevision.ineligibilite_rules): add ineligibilite_rules management to procedure revision based on conditional logic
This commit is contained in:
parent
12d23f1498
commit
aca3e38859
22 changed files with 591 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
class ProcedureRevision < ApplicationRecord
|
||||
include Logic
|
||||
self.implicit_order_column = :created_at
|
||||
belongs_to :procedure, -> { with_discarded }, inverse_of: :revisions, optional: false
|
||||
belongs_to :dossier_submitted_message, inverse_of: :revisions, optional: true, dependent: :destroy
|
||||
|
@ -17,8 +18,19 @@ class ProcedureRevision < ApplicationRecord
|
|||
|
||||
scope :ordered, -> { order(:created_at) }
|
||||
|
||||
validates :ineligibilite_message, presence: true, if: -> { ineligibilite_enabled? }
|
||||
|
||||
delegate :path, to: :procedure, prefix: true
|
||||
|
||||
validate :ineligibilite_rules_are_valid?,
|
||||
on: [:ineligibilite_rules_editor, :publication]
|
||||
validates :ineligibilite_message,
|
||||
presence: true,
|
||||
if: -> { ineligibilite_enabled? },
|
||||
on: [:ineligibilite_rules_editor, :publication]
|
||||
|
||||
serialize :ineligibilite_rules, LogicSerializer
|
||||
|
||||
def build_champs_public
|
||||
# reload: it can be out of sync in test if some tdcs are added wihtout using add_tdc
|
||||
types_de_champ_public.reload.map(&:build_champ)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue