Guest User

Untitled

a guest
Apr 26th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. def protect_master_user
  2. unless User.find_all_by_account_id_and_is_master(self.account_id, true).count > 1
  3. false
  4. end
  5. end
  6.  
  7. class Account < ActiveRecord::Base
  8. has_many :users
  9.  
  10. before_destroy :destroy_users
  11. protected
  12. def destroy_users
  13. users.each do |user|
  14. u.account_id = nil
  15. u.destroy
  16. end
  17. end
  18.  
  19. end
  20.  
  21. class User < ActiveRecord::Base
  22. belongs_to :account
  23.  
  24. before_destroy :protect_master_user
  25.  
  26. protected
  27. def protect_master_user
  28. unless account_id.nil? ||! master ||
  29. User.find_all_by_account_id_and_master(self.account_id, true).count > 1
  30. errors.add_to_base "Cannot remove master user."
  31. return false
  32. end
  33. end
  34. end
Add Comment
Please, Sign In to add comment