Make managed_and_related_enterprises public so they can be used by other permissions classes

This commit is contained in:
luisramos0
2019-11-29 09:28:35 +00:00
parent bb2e6324bd
commit 484cdd1e07

View File

@@ -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