diff --git a/app/models/spree/order_decorator.rb b/app/models/spree/order_decorator.rb index 415b15ecfa..b4d94eb45e 100644 --- a/app/models/spree/order_decorator.rb +++ b/app/models/spree/order_decorator.rb @@ -75,6 +75,12 @@ Spree::Order.class_eval do line_items.map { |li| li.variant } end + # Show payment methods with no distributor or for this distributor + def available_payment_methods + @available_payment_methods ||= Spree::PaymentMethod.available(:front_end).select do |pm| + (self.distributor && (pm.distributor == self.distributor)) || pm.distributor == nil + end + end private diff --git a/app/overrides/spree/admin/payment_methods/_form/add_distributor_to_admin_payment_method_edit.html.haml.deface b/app/overrides/spree/admin/payment_methods/_form/add_distributor_to_admin_payment_method_edit.html.haml.deface index f3a6a57e27..8ac8e7aad9 100644 --- a/app/overrides/spree/admin/payment_methods/_form/add_distributor_to_admin_payment_method_edit.html.haml.deface +++ b/app/overrides/spree/admin/payment_methods/_form/add_distributor_to_admin_payment_method_edit.html.haml.deface @@ -5,5 +5,5 @@ = f.label :distributor %br - = collection_select(:payment_method, :distributor, Enterprise.is_distributor.managed_by(spree_current_user), :id, :name, {:include_blank => true}, {:class => "select2 fullwidth"}) + = collection_select(:payment_method, :distributor_id, Enterprise.is_distributor.managed_by(spree_current_user), :id, :name, {:include_blank => true}, {:class => "select2 fullwidth"}) = f.error_message_on :distributor