Merge pull request #6992 from betagouv/admin-deletion
Suppression des AdministrateursProcedure quand un Administrateur est supprimé
This commit is contained in:
commit
98d087ab4d
3 changed files with 17 additions and 3 deletions
|
@ -12,8 +12,7 @@ class Administrateur < ApplicationRecord
|
|||
include ActiveRecord::SecureToken
|
||||
|
||||
has_and_belongs_to_many :instructeurs
|
||||
has_many :administrateurs_procedures
|
||||
has_many :procedures, through: :administrateurs_procedures
|
||||
has_and_belongs_to_many :procedures
|
||||
has_many :services
|
||||
|
||||
has_one :user, dependent: :nullify
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
class AddAdministrateurForeignKeyToAdministrateursProcedure < ActiveRecord::Migration[6.1]
|
||||
def up
|
||||
# Sanity check
|
||||
say_with_time 'Removing AdministrateursProcedures where the associated Administrateur no longer exists ' do
|
||||
deleted_administrateur_ids = AdministrateursProcedure.where.missing(:administrateur).pluck(:administrateur_id)
|
||||
AdministrateursProcedure.where(administrateur_id: deleted_administrateur_ids).delete_all
|
||||
end
|
||||
|
||||
add_foreign_key :administrateurs_procedures, :administrateurs
|
||||
end
|
||||
|
||||
def down
|
||||
remove_foreign_key :administrateurs_procedures, :administrateurs
|
||||
end
|
||||
end
|
|
@ -3,7 +3,7 @@ describe Administrateur, type: :model do
|
|||
|
||||
describe 'associations' do
|
||||
it { is_expected.to have_and_belong_to_many(:instructeurs) }
|
||||
it { is_expected.to have_many(:procedures) }
|
||||
it { is_expected.to have_and_belong_to_many(:procedures) }
|
||||
end
|
||||
|
||||
describe "#renew_api_token" do
|
||||
|
|
Loading…
Add table
Reference in a new issue