mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Make managed_and_related_enterprises public so they can be used by other permissions classes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user