diff --git a/app/controllers/spree/admin/payment_methods_controller.rb b/app/controllers/spree/admin/payment_methods_controller.rb index 97f77420fd..6584dd87ce 100644 --- a/app/controllers/spree/admin/payment_methods_controller.rb +++ b/app/controllers/spree/admin/payment_methods_controller.rb @@ -11,10 +11,10 @@ module Spree respond_to :html PAYMENT_METHODS = %w{ - Spree::PaymentMethod::Check Spree::Gateway::PayPalExpress Spree::Gateway::StripeSCA - }.index_with(&:constantize).freeze + Spree::PaymentMethod::Check + }.freeze def create force_environment @@ -95,7 +95,7 @@ module Spree @payment_method = PaymentMethod.find(params[:pm_id]) end else - @payment_method = PAYMENT_METHODS.fetch(params[:provider_type], PaymentMethod).new + @payment_method = PaymentMethod.new(type: params[:provider_type]) end render partial: 'provider_settings' @@ -117,7 +117,7 @@ module Spree end def validate_payment_method_provider - valid_payment_methods = Rails.application.config.spree.payment_methods.map(&:to_s) + valid_payment_methods = PAYMENT_METHODS return if valid_payment_methods.include?(params[:payment_method][:type]) flash[:error] = Spree.t(:invalid_payment_provider) @@ -133,13 +133,11 @@ module Spree end def load_providers - providers = Gateway.providers.sort_by(&:name) + providers = PAYMENT_METHODS.dup - unless show_stripe? - providers.reject! { |provider| stripe_provider?(provider) } - end + providers.delete("Spree::Gateway::StripeSCA") unless show_stripe? - providers + providers.map(&:constantize) end # Show Stripe as an option if enabled, or if the @@ -164,10 +162,6 @@ module Spree @payment_method.try(:type) == "Spree::Gateway::StripeSCA" end - def stripe_provider?(provider) - provider.name.ends_with?("StripeSCA") - end - def base_params @base_params ||= PermittedAttributes::PaymentMethod.new(params[:payment_method]). call.to_h.with_indifferent_access diff --git a/app/models/spree/payment_method.rb b/app/models/spree/payment_method.rb index 50fbb69158..77474fb277 100644 --- a/app/models/spree/payment_method.rb +++ b/app/models/spree/payment_method.rb @@ -52,10 +52,6 @@ module Spree .where(environment: [Rails.env, "", nil]) } - def self.providers - Rails.application.config.spree.payment_methods - end - def configured? !stripe? || stripe_configured? end @@ -118,8 +114,8 @@ module Spree end def self.clean_name - i18n_key = "spree.admin.payment_methods.providers.#{name.demodulize.downcase}" - I18n.t(i18n_key) + scope = "spree.admin.payment_methods.providers" + I18n.t(name.demodulize.downcase, scope:) end private diff --git a/config/application.rb b/config/application.rb index 5071eab71b..37961e5757 100644 --- a/config/application.rb +++ b/config/application.rb @@ -76,14 +76,6 @@ module Openfoodnetwork end end - initializer "spree.register.payment_methods" do |app| - Rails.application.reloader.to_prepare do - app.config.spree.payment_methods = [ - Spree::PaymentMethod::Check - ] - end - end - initializer "spree.mail.settings" do |_app| Rails.application.reloader.to_prepare do Spree::Core::MailSettings.init @@ -131,14 +123,6 @@ module Openfoodnetwork end end - # Register Spree payment methods - initializer "spree.gateway.payment_methods", :after => "spree.register.payment_methods" do |app| - Rails.application.reloader.to_prepare do - app.config.spree.payment_methods << Spree::Gateway::StripeSCA - app.config.spree.payment_methods << Spree::Gateway::PayPalExpress - end - end - initializer "ofn.reports" do |app| module ::Reporting; end Rails.application.reloader.to_prepare do diff --git a/spec/controllers/spree/admin/payment_methods_controller_spec.rb b/spec/controllers/spree/admin/payment_methods_controller_spec.rb index 82be28cca3..311b83b7fa 100644 --- a/spec/controllers/spree/admin/payment_methods_controller_spec.rb +++ b/spec/controllers/spree/admin/payment_methods_controller_spec.rb @@ -294,17 +294,6 @@ RSpec.describe Spree::Admin::PaymentMethodsController do expect(assigns(:payment_method)).to be_a_new Spree::Gateway::PayPalExpress expect(response).to render_template partial: '_provider_settings' end - - context "with a non valid payment method" do - it "renders provider settings with a new generic payment method" do - spree_get :show_provider_preferences, - pm_id: "", - provider_type: "Spree::Gateway::Hacked" - - expect(assigns(:payment_method)).to be_a_new Spree::PaymentMethod - expect(response).to render_template partial: '_provider_settings' - end - end end end end