From 6f81a9ba1863aeadf6bfd1eac94e0d0e652b1a6d Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Sat, 11 Apr 2015 22:53:57 +1000 Subject: [PATCH] Save common permission method results as instance variables --- lib/open_food_network/order_cycle_permissions.rb | 9 ++++++--- lib/open_food_network/permissions.rb | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/open_food_network/order_cycle_permissions.rb b/lib/open_food_network/order_cycle_permissions.rb index 445b04a734..add1c466cf 100644 --- a/lib/open_food_network/order_cycle_permissions.rb +++ b/lib/open_food_network/order_cycle_permissions.rb @@ -185,15 +185,18 @@ module OpenFoodNetwork private def managed_participating_enterprises - managed_enterprises.where(id: @order_cycle.suppliers | @order_cycle.distributors) + return @managed_participating_enterprises unless @managed_participating_enterprises.nil? + @managed_participating_enterprises = managed_enterprises.where(id: @order_cycle.suppliers | @order_cycle.distributors) end def managed_participating_hubs - managed_participating_enterprises.is_hub + return @managed_participating_hubs unless @managed_participating_hubs.nil? + @managed_participating_hubs = managed_participating_enterprises.is_hub end def managed_participating_producers - managed_participating_enterprises.is_primary_producer + return @managed_participating_producers unless @managed_participating_producers.nil? + @managed_participating_producers = managed_participating_enterprises.is_primary_producer end def order_cycle_exchange_ids_involving_my_enterprises diff --git a/lib/open_food_network/permissions.rb b/lib/open_food_network/permissions.rb index 16319ced97..375873bc44 100644 --- a/lib/open_food_network/permissions.rb +++ b/lib/open_food_network/permissions.rb @@ -81,7 +81,8 @@ module OpenFoodNetwork end def managed_enterprises - Enterprise.managed_by(@user) + return @managed_enterprises unless managed_enterprises.nil? + @managed_enterprises = Enterprise.managed_by(@user) end def related_enterprises_with(permission)