From 56a2347ea0c18e4759640f1e4454dc0c9169f598 Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Tue, 28 May 2019 20:27:03 +0800 Subject: [PATCH] Extract removal of unauthorized OC exchange attributes to method --- .../order_cycle_form_applicator.rb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/open_food_network/order_cycle_form_applicator.rb b/lib/open_food_network/order_cycle_form_applicator.rb index ba177bcc28..96d80bb77e 100644 --- a/lib/open_food_network/order_cycle_form_applicator.rb +++ b/lib/open_food_network/order_cycle_form_applicator.rb @@ -79,13 +79,7 @@ module OpenFoodNetwork def update_exchange(sender_id, receiver_id, incoming, attrs = {}) exchange = @order_cycle.exchanges.where(sender_id: sender_id, receiver_id: receiver_id, incoming: incoming).first - - unless manages_coordinator? || manager_for(exchange) - attrs.delete :enterprise_fee_ids - attrs.delete :pickup_time - attrs.delete :pickup_instructions - attrs.delete :tag_list - end + remove_unauthorized_exchange_attributes(exchange, attrs) if permission_for exchange variant_ids = attrs.delete :variant_ids @@ -98,6 +92,15 @@ module OpenFoodNetwork end end + def remove_unauthorized_exchange_attributes(exchange, exchange_attrs) + unless manages_coordinator? || manager_for(exchange) + exchange_attrs.delete :enterprise_fee_ids + exchange_attrs.delete :pickup_time + exchange_attrs.delete :pickup_instructions + exchange_attrs.delete :tag_list + end + end + def destroy_untouched_exchanges if manages_coordinator? untouched_exchanges.each(&:destroy)