mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Adding method for determining variant override hubs
This commit is contained in:
@@ -2,7 +2,6 @@ require 'open_food_network/spree_api_key_loader'
|
||||
|
||||
module Admin
|
||||
class VariantOverridesController < ResourceController
|
||||
include OrderCyclesHelper
|
||||
include OpenFoodNetwork::SpreeApiKeyLoader
|
||||
|
||||
before_filter :load_spree_api_key, only: :index
|
||||
@@ -35,7 +34,8 @@ module Admin
|
||||
private
|
||||
|
||||
def load_data
|
||||
@hubs = order_cycle_hub_enterprises
|
||||
@hubs = OpenFoodNetwork::Permissions.new(spree_current_user).
|
||||
variant_override_hubs.by_name
|
||||
|
||||
# Used in JS to look up the name of the producer of each product
|
||||
@producers = OpenFoodNetwork::Permissions.new(spree_current_user).
|
||||
|
||||
@@ -103,7 +103,7 @@ class AbilityDecorator
|
||||
|
||||
can [:admin, :index, :read, :update, :bulk_update], VariantOverride do |vo|
|
||||
hub_auth = OpenFoodNetwork::Permissions.new(user).
|
||||
order_cycle_enterprises.is_distributor.
|
||||
variant_override_hubs.
|
||||
include? vo.hub
|
||||
|
||||
producer_auth = OpenFoodNetwork::Permissions.new(user).
|
||||
|
||||
@@ -49,6 +49,10 @@ module OpenFoodNetwork
|
||||
managed_and_related_enterprises_with :edit_profile
|
||||
end
|
||||
|
||||
def variant_override_hubs
|
||||
managed_and_related_enterprises_with(:add_to_order_cycle).is_hub
|
||||
end
|
||||
|
||||
def variant_override_producers
|
||||
producer_ids = variant_override_enterprises_per_hub.values.flatten.uniq
|
||||
Enterprise.where(id: producer_ids)
|
||||
|
||||
Reference in New Issue
Block a user