Project

General

Profile

« Previous | Next » 

Revision acfbc458

Added by Marek Hulán about 10 years ago

fixes #812 - new permissions model, user group role and nest support, role filters for better granularity

Contributions from:

View differences:

app/services/foreman/plugin.rb
end
# Defines a permission called name for the given controller=>actions
# :options can contain :resource_type key which is the string of resource
# class to which this permissions is related, rest of options is passed
# to AccessControl
def permission(name, hash, options={})
resource_type = options.delete(:resource_type)
Permission.first rescue return false
Permission.find_or_create_by_name_and_resource_type(name, resource_type)
options.merge!(:security_block => @security_block)
Foreman::AccessControl.map do |map|
map.permission name, hash, options
......
def role(name, permissions)
Role.transaction do
role = Role.find_or_create_by_name(name)
role.update_attribute :permissions, permissions if role.permissions.empty?
Permission.first rescue return false
role.add_permissions!(permissions) if role.permissions.empty?
end
end

Also available in: Unified diff