Sha256: d7d956f164d3c0885374e6cbfa2962a445024f41767beac546671fda126b66f2

Contents?: true

Size: 1.28 KB

Versions: 11

Compression:

Stored size: 1.28 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

    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

11 entries across 11 versions & 1 rubygems

Version Path
infopark_fiona_connector-7.0.1.6.1.6.rc4 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.6.1.6.rc3 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.6.1.6.rc2 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.6.1.6.rc1 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.7.rc1 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.4.rc2 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.4.rc1 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.3.rc8 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.3.rc7 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.3.rc6 lib/rails_connector/permission.rb
infopark_fiona_connector-7.0.1.5.2.3.rc5 lib/rails_connector/permission.rb