Sha256: c3a787153ac69f3422437b8e432d11082fb56ae350606d5448eefce4566f8031

Contents?: true

Size: 1.46 KB

Versions: 6

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

module SolidusBraintree
  class ConfigurationsController < ::Spree::Admin::BaseController
    helper ::Spree::Core::Engine.routes.url_helpers

    def list
      authorize! :list, SolidusBraintree::Configuration

      @configurations = ::Spree::Store.all.map { |s| s.braintree_configuration || s.create_braintree_configuration }
    end

    def update
      authorize! :update, SolidusBraintree::Configuration

      params = configurations_params[:configuration_fields]
      results = SolidusBraintree::Configuration.update(params.keys, params.values)
      if results.all?(&:valid?)
        flash[:success] = t('update_success', scope: 'solidus_braintree.configurations')
      else
        flash[:error] = t('update_error', scope: 'solidus_braintree.configurations')
      end
      redirect_to action: :list
    end

    private

    def configurations_params
      params.require(:configurations).
        permit(configuration_fields: [
          :paypal,
          :apple_pay,
          :venmo,
          :credit_card,
          :three_d_secure,
          :preferred_paypal_button_locale,
          :preferred_paypal_button_color,
          :preferred_paypal_button_shape,
          :preferred_paypal_button_label,
          :preferred_paypal_button_tagline,
          :preferred_paypal_button_layout,
          :preferred_paypal_button_messaging,
          :preferred_venmo_button_color,
          :preferred_venmo_button_width
        ])
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_braintree-3.3.0 lib/controllers/backend/solidus_braintree/configurations_controller.rb
solidus_braintree-3.2.0 lib/controllers/backend/solidus_braintree/configurations_controller.rb
solidus_braintree-3.1.0 lib/controllers/backend/solidus_braintree/configurations_controller.rb
solidus_braintree-3.0.1 lib/controllers/backend/solidus_braintree/configurations_controller.rb
solidus_braintree-3.0.0 lib/controllers/backend/solidus_braintree/configurations_controller.rb
solidus_braintree-2.0.0 lib/controllers/backend/solidus_braintree/configurations_controller.rb