Sha256: dba2e49e7d03a389da06e17dfd5dbcd4f41ac6825908984e4215c46daad4cb92

Contents?: true

Size: 1.23 KB

Versions: 42

Compression:

Stored size: 1.23 KB

Contents

module RailsConnector

  # The permissions assigned to an Obj.
  class Permission < CmsBaseModel
    # 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

42 entries across 42 versions & 1 rubygems

Version Path
infopark_cloud_connector-6.8.0.322.c003f11 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.210.ed204b0 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.110.6570b45 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.72.d18d096 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.23.da7f96b lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.16.def5e85 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.15.a24f5ff lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.891.647580e lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.889.d503e42 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.883.f5f063b lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.884.4bd86e6 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.869.9609b39 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.856.8c0fec5 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.809.bdfa8c3 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.785.05d4af9 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.744.99f67fc lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.720.44fbabd lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.713.e5c3150 lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.681.7c84f4a lib/rails_connector/permission.rb
infopark_cloud_connector-6.8.0.beta.200.663.ceecdee lib/rails_connector/permission.rb