On 03/29/2010 01:52 PM, Scott Seago wrote:
> 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)
>    
ACK. Looks good.

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

Reply via email to