demarches-normaliennes/app/models/deleted_dossier.rb

27 lines
713 B
Ruby

class DeletedDossier < ApplicationRecord
belongs_to :procedure, -> { with_discarded }, inverse_of: :deleted_dossiers
validates :dossier_id, uniqueness: true
enum reason: {
user_request: 'user_request',
manager_request: 'manager_request',
user_removed: 'user_removed',
procedure_removed: 'procedure_removed',
expired: 'expired'
}
def self.create_from_dossier(dossier, reason)
create!(
reason: reasons.fetch(reason),
dossier_id: dossier.id,
procedure: dossier.procedure,
state: dossier.state,
deleted_at: Time.zone.now
)
end
def procedure_removed?
reason == self.class.reasons.fetch(:procedure_removed)
end
end