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 <[email protected]>
---
 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}?(o...@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

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to