From d8c4e292c8bce01543a936b9bc2c9d9ca3fc7249 Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Fri, 20 Mar 2015 00:32:05 +1100 Subject: [PATCH] Adding method for determining variant override hubs --- app/controllers/admin/variant_overrides_controller.rb | 4 ++-- app/models/spree/ability_decorator.rb | 2 +- lib/open_food_network/permissions.rb | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/variant_overrides_controller.rb b/app/controllers/admin/variant_overrides_controller.rb index c89a8e8dd2..9425565f6e 100644 --- a/app/controllers/admin/variant_overrides_controller.rb +++ b/app/controllers/admin/variant_overrides_controller.rb @@ -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). diff --git a/app/models/spree/ability_decorator.rb b/app/models/spree/ability_decorator.rb index 5953d56ffd..09d46c523e 100644 --- a/app/models/spree/ability_decorator.rb +++ b/app/models/spree/ability_decorator.rb @@ -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). diff --git a/lib/open_food_network/permissions.rb b/lib/open_food_network/permissions.rb index 9e8cdcafa1..3fa25884e0 100644 --- a/lib/open_food_network/permissions.rb +++ b/lib/open_food_network/permissions.rb @@ -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)