From 484cdd1e072f1a831c66c62427e975d7d9c8cf24 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Fri, 29 Nov 2019 09:28:35 +0000 Subject: [PATCH] Make managed_and_related_enterprises public so they can be used by other permissions classes --- lib/open_food_network/permissions.rb | 60 ++++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/open_food_network/permissions.rb b/lib/open_food_network/permissions.rb index 4af7bbd907..a914d116c8 100644 --- a/lib/open_food_network/permissions.rb +++ b/lib/open_food_network/permissions.rb @@ -109,36 +109,6 @@ module OpenFoodNetwork editable_subscriptions end - private - - def admin? - @user.admin? - end - - def managed_and_related_enterprises_granting(permission) - if admin? - Enterprise.scoped - else - Enterprise.where( - id: managed_enterprises.select(:id) | related_enterprises_granting(permission) - ) - end - end - - def managed_and_related_enterprises_with(permission) - if admin? - Enterprise.scoped - else - managed_enterprise_ids = managed_enterprises.select(:id) - granting_enterprise_ids = related_enterprises_granting(permission) - granted_enterprise_ids = related_enterprises_granted(permission) - - Enterprise.where( - id: managed_enterprise_ids | granting_enterprise_ids | granted_enterprise_ids - ) - end - end - def managed_enterprises @managed_enterprises ||= Enterprise.managed_by(@user) end @@ -167,6 +137,36 @@ module OpenFoodNetwork (options[:scope] || Enterprise).where(id: child_ids).select("enterprises.id") end + private + + def admin? + @user.admin? + end + + def managed_and_related_enterprises_granting(permission) + if admin? + Enterprise.scoped + else + Enterprise.where( + id: managed_enterprises.select("enterprises.id") | related_enterprises_granting(permission) + ) + end + end + + def managed_and_related_enterprises_with(permission) + if admin? + Enterprise.scoped + else + managed_enterprise_ids = managed_enterprises.select("enterprises.id") + granting_enterprise_ids = related_enterprises_granting(permission) + granted_enterprise_ids = related_enterprises_granted(permission) + + Enterprise.where( + id: managed_enterprise_ids | granting_enterprise_ids | granted_enterprise_ids + ) + end + end + def managed_enterprise_products Spree::Product.managed_by(@user) end