So to check 'provider_view' privilege for the "current object" then call as before: has_provider_view?
To check against a specific object then pass it in as a parameter:
has_quota_modify?(pool) has_pool_view?(BasePortalObject.general_permission_scope
Signed-off-by: Scott Seago sseago@redhat.com --- src/app/controllers/application_controller.rb | 4 ++-- src/app/services/application_service.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/app/controllers/application_controller.rb b/src/app/controllers/application_controller.rb index 63d908f..e1456c6 100644 --- a/src/app/controllers/application_controller.rb +++ b/src/app/controllers/application_controller.rb @@ -53,8 +53,8 @@ class ApplicationController < ActionController::Base
perm_helper_string = "" Privilege::FULL_PRIVILEGE_LIST.each do |privilege| - perm_helper_string += "def has_#{privilege}?; " + - "check_privilege("#{privilege}") end; " + perm_helper_string += "def has_#{privilege}(obj=@perm_obj)?; " + + "check_privilege("#{privilege}", obj) end; " end master_helper_module.module_eval perm_helper_string
diff --git a/src/app/services/application_service.rb b/src/app/services/application_service.rb index e2c45cb..f72f83d 100644 --- a/src/app/services/application_service.rb +++ b/src/app/services/application_service.rb @@ -40,14 +40,14 @@ module ApplicationService
# @current_user must be defined
- def check_privilege(privilege) - ((@perm_obj and @perm_obj.has_privilege(@current_user, privilege)) or + def check_privilege(privilege, perm_obj) + ((perm_obj and perm_obj.has_privilege(@current_user, privilege)) or BasePortalObject.general_permission_scope.has_privilege(@current_user, privilege)) end def authorized?(privilege, perm_obj=nil) @perm_obj = perm_obj - check_privilege(privilege) + check_privilege(privilege,@perm_obj) end def require_privilege(privilege, perm_obj=nil) unless authorized?(privilege, perm_obj)
deltacloud-devel@lists.fedorahosted.org