organization.rb 863 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
  2. class Organization < ApplicationModel
  3. include HasActivityStreamLog
  4. include ChecksClientNotification
  5. include ChecksLatestChangeObserved
  6. include HasHistory
  7. include HasSearchIndexBackend
  8. include CanCsvImport
  9. include Organization::ChecksAccess
  10. include Organization::Assets
  11. include Organization::Search
  12. include Organization::SearchIndex
  13. # rubocop:disable Rails/InverseOf
  14. has_many :members, class_name: 'User'
  15. # rubocop:enable Rails/InverseOf
  16. before_create :domain_cleanup
  17. before_update :domain_cleanup
  18. validates :name, presence: true
  19. activity_stream_permission 'admin.role'
  20. private
  21. def domain_cleanup
  22. return true if domain.blank?
  23. domain.gsub!(/@/, '')
  24. domain.gsub!(/\s*/, '')
  25. domain.strip!
  26. domain.downcase!
  27. true
  28. end
  29. end