Revision 28b7dd9f
Added by Timo Goebel about 7 years ago
app/helpers/application_helper.rb | ||
---|---|---|
controller = options[:controller] || params[:controller]
|
||
controller_name = controller.to_s.gsub(/::/, "_").underscore
|
||
id = options[:id]
|
||
user_id = options[:user_id].to_param
|
||
permission = options.delete(:permission) || [action, controller_name].join('_')
|
||
|
||
if object.nil?
|
||
user.allowed_to?({ :controller => controller_name, :action => action, :id => id }) rescue false
|
||
user.allowed_to?({ :controller => controller_name, :action => action, :id => id, :user_id => user_id }) rescue false
|
||
else
|
||
authorizer = options.delete(:authorizer) || Authorizer.new(user)
|
||
authorizer.can?(permission, object) rescue false
|
Also available in: Unified diff
fixes #18476 - users have ssh keys