Sha256: 9696817aeb3550f376c0245c5bf971e61eb7938d1d0a96c411541e33466acee8

Contents?: true

Size: 1.3 KB

Versions: 38

Compression:

Stored size: 1.3 KB

Contents

module RailsConnector

  # The permissions assigned to an Obj.
  class Permission < CmsBaseModel
    belongs_to :object, :class_name => 'Obj', :foreign_key => 'object_id'

    # Returns the Array of the names of the user groups to which read permission has been granted.
    def self.read
      user_groups_for_permission_type(1)
    end

    # Returns the Array of the names of the user groups to which write permission has been granted
    def self.write
      user_groups_for_permission_type(2)
    end

    # Returns the Array of the names of the user groups to which root permission has been granted
    def self.root
      user_groups_for_permission_type(3)
    end

    # Returns the Array of the names of the user groups to which the children creation permission has been granted.
    def self.create_children
      user_groups_for_permission_type(4)
    end

    # Returns the Array of the names of the user groups to which live read permission has been granted.
    def self.live
      user_groups_for_permission_type(5)
    end

    private

    def self.user_groups_for_permission_type(permission_type)
      # Field name "user_login" is a legacy from CM tables.
      # Actually the field contains the user group.
      select(:user_login).where(:permission_type => permission_type).map(&:user_login)
    end
  end

end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
infopark_fiona_connector-7.0.1.5.2.3.rc4 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.beta2 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.0 lib/rails_connector/permission.rb
infopark_fiona_connector-6.10.0.beta1 lib/rails_connector/permission.rb
infopark_fiona_connector-6.9.4 lib/rails_connector/permission.rb
infopark_fiona_connector-6.9.3.1.36404185 lib/rails_connector/permission.rb
infopark_fiona_connector-6.9.2.1.125136549 lib/rails_connector/permission.rb
infopark_fiona_connector-6.9.1.3.22208381 lib/rails_connector/permission.rb
infopark_fiona_connector-6.9.0.3.197272233 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.174.51542603 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.115.227021242 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.73.75172665 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.2.153416031 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.67.110847540 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.3.1.23895778 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.2.36.82613853 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.2.7.128454143 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.1.26.236500544 lib/rails_connector/permission.rb
infopark_fiona_connector-6.8.1 lib/rails_connector/permission.rb