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
|
include ActiveRecord::SecureToken
|
||||||
|
|
||||||
has_and_belongs_to_many :instructeurs
|
has_and_belongs_to_many :instructeurs
|
||||||
has_many :administrateurs_procedures
|
has_and_belongs_to_many :procedures
|
||||||
has_many :procedures, through: :administrateurs_procedures
|
|
||||||
has_many :services
|
has_many :services
|
||||||
|
|
||||||
has_one :user, dependent: :nullify
|
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
|
describe 'associations' do
|
||||||
it { is_expected.to have_and_belong_to_many(:instructeurs) }
|
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
|
end
|
||||||
|
|
||||||
describe "#renew_api_token" do
|
describe "#renew_api_token" do
|
||||||
|
|
Loading…
Add table
Reference in a new issue