permission.rb 707 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
  2. class Permission < ApplicationModel
  3. include ChecksClientNotification
  4. include ChecksLatestChangeObserved
  5. include HasCollectionUpdate
  6. has_and_belongs_to_many :roles
  7. validates :name, presence: true
  8. store :preferences
  9. =begin
  10. permissions = Permission.with_parents('some_key.sub_key')
  11. returns
  12. ['some_key.sub_key', 'some_key']
  13. =end
  14. def self.with_parents(key)
  15. names = []
  16. part = ''
  17. key.split('.').each do |local_part|
  18. if part != ''
  19. part += '.'
  20. end
  21. part += local_part
  22. names.push part
  23. end
  24. names
  25. end
  26. def to_s
  27. name
  28. end
  29. end