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(a)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 214eb2b..d7b135b 100644
--- a/src/app/controllers/application_controller.rb
+++ b/src/app/controllers/application_controller.rb
@@ -56,8 +56,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)
--
1.6.2.5