Class: Spree::Admin::CieloSettingsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/admin/cielo_settings_controller.rb

Instance Method Summary collapse

Instance Method Details

#editObject



3
4
5
6
7
# File 'app/controllers/spree/admin/cielo_settings_controller.rb', line 3

def edit
  @config = Spree::CieloConfiguration.new
  @credit_cards = [:visa, :master, :diners, :discover, :elo, :amex, :jcb, :aura]
  @debt_cards = [:visa, :master]
end

#updateObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/spree/admin/cielo_settings_controller.rb', line 9

def update
  config = Spree::CieloConfiguration.new

  params.each do |name, value|
    next if !config.has_preference?(name) or name == 'credit_cards'
    config[name] = value
  end

  config.test_mode = false unless params.include?(:test_mode)

  # set the values to Cielo object
  Cielo.environment = config.test_mode ? :test : :production
  Cielo.numero_afiliacao = config.afiliation_key
  Cielo.chave_acesso = config.token
  
  # set the portion of the credit cards
  if params[:credit_cards].present?
    cards = {}
    params[:credit_cards].each do |card|
      if card.has_key?('state')
        cards[card['name']] = card['portion'].to_i
      end
    end
    config.credit_cards = cards
  end

  flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:cielo_settings))
  redirect_to edit_admin_cielo_settings_path
end