db(migration): add closing_reason and closing_details to procedure
This commit is contained in:
parent
3b13595a41
commit
6651b36fe4
3 changed files with 28 additions and 0 deletions
|
@ -223,6 +223,11 @@ class Procedure < ApplicationRecord
|
||||||
accepte: 'accepte'
|
accepte: 'accepte'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum closing_reason: {
|
||||||
|
internal_procedure: 'internal_procedure',
|
||||||
|
other: 'other'
|
||||||
|
}
|
||||||
|
|
||||||
scope :for_api_v2, -> {
|
scope :for_api_v2, -> {
|
||||||
includes(:draft_revision, :published_revision, administrateurs: :user)
|
includes(:draft_revision, :published_revision, administrateurs: :user)
|
||||||
}
|
}
|
||||||
|
@ -260,6 +265,9 @@ class Procedure < ApplicationRecord
|
||||||
|
|
||||||
validate :check_juridique, on: [:create, :publication]
|
validate :check_juridique, on: [:create, :publication]
|
||||||
|
|
||||||
|
# TO DO add validation after data backfill
|
||||||
|
# validates :replaced_by_id, presence: true, if: -> { closing_reason == self.closing_reasons.fetch(:internal_procedure) }
|
||||||
|
|
||||||
validates :path, presence: true, format: { with: /\A[a-z0-9_\-]{3,200}\z/ }, uniqueness: { scope: [:path, :closed_at, :hidden_at, :unpublished_at], case_sensitive: false }
|
validates :path, presence: true, format: { with: /\A[a-z0-9_\-]{3,200}\z/ }, uniqueness: { scope: [:path, :closed_at, :hidden_at, :unpublished_at], case_sensitive: false }
|
||||||
validates :duree_conservation_dossiers_dans_ds, allow_nil: false,
|
validates :duree_conservation_dossiers_dans_ds, allow_nil: false,
|
||||||
numericality: {
|
numericality: {
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
class AddClosingReasonAndClosingDetails < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
add_column :procedures, :closing_reason, :string
|
||||||
|
add_column :procedures, :closing_details, :string
|
||||||
|
end
|
||||||
|
end
|
|
@ -178,6 +178,20 @@ describe Procedure do
|
||||||
it { is_expected.to allow_value('Demande de subvention').for(:libelle) }
|
it { is_expected.to allow_value('Demande de subvention').for(:libelle) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'closing procedure' do
|
||||||
|
context 'without replacing procedure in DS' do
|
||||||
|
let(:procedure) { create(:procedure) }
|
||||||
|
|
||||||
|
context 'valid' do
|
||||||
|
before do
|
||||||
|
procedure.update!(closing_details: "Bonjour,\nLa démarche est désormais hébergée sur une autre plateforme\nCordialement", closing_reason: Procedure.closing_reasons.fetch(:other))
|
||||||
|
end
|
||||||
|
|
||||||
|
it { expect(procedure).to be_valid }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'description' do
|
context 'description' do
|
||||||
it { is_expected.not_to allow_value(nil).for(:description) }
|
it { is_expected.not_to allow_value(nil).for(:description) }
|
||||||
it { is_expected.not_to allow_value('').for(:description) }
|
it { is_expected.not_to allow_value('').for(:description) }
|
||||||
|
|
Loading…
Add table
Reference in a new issue