solidus_bling 2.0.5 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a1eeddb2480fc6c8c413632d68a9474a8861221a2696d686b855e815cabca27
4
- data.tar.gz: 6a9654d237829e34477e9a975c80f66a60dad7756f894f4d9c316b0a416e50ca
3
+ metadata.gz: e6174ab1749491921d0e680b8b72635346b35cc38155d40b1ef0dc6a50a75ade
4
+ data.tar.gz: 87b31e5d61269b0fe8999bee491d565853494aabbeebda3902d5c2336bafcd8f
5
5
  SHA512:
6
- metadata.gz: 4dc19ff8328d031b59baa44c5cb42fbf9ff9e004f8e751ffe4eb7044a7fac234d0315df516fd519492d6a24f100714ec8e97c76d9f88503a0e356f29c8189ed7
7
- data.tar.gz: f82406fc7f2de27d9476ead0d9a4a48873509cfa8aa95312b30c1242503de200421fd2f82385f0f2d2366fcc845193e5a19e328910a4ece17d7d5a2d3d10fca0
6
+ metadata.gz: e128a60e203a6bcc189a70152bc46d3a254616162cf06e1b1ba3e8722b7b61705a7af171081bd32d8fe7df4e044ba49325d6970350b3605b4b38d0ef2a388633
7
+ data.tar.gz: 7b46c4aead25b783e38df50bc1c64f19e8797bd13f5ed470eaa8d5b006354e339c84f9d02d2639eda4371a3b1cbafe4f4c0c2a30ba38024d9343e48eab125376
@@ -55,7 +55,12 @@ module Spree
55
55
  end
56
56
 
57
57
  def account_params
58
- params.require(:account).permit(:app_name, :client_id, :client_secret, :refresh_token, :api_base_url, :external_store_id, :incoming_category_id, payment_methods_attributes: [:id, :spree_payment_method_id, :external_id], shipping_methods_attributes: [:id, :spree_shipping_method_id, :alias], sellers_attributes: [:id, :name, :external_id])
58
+ params.require(:account).permit(
59
+ :app_name, :client_id, :client_secret, :refresh_token, :api_base_url, :external_store_id, :incoming_category_id,
60
+ payment_methods_attributes: [:id, :spree_payment_method_id, :external_id],
61
+ shipping_methods_attributes: [:id, :spree_shipping_method_id, :alias, :company],
62
+ sellers_attributes: [:id, :name, :external_id]
63
+ )
59
64
  end
60
65
  end
61
66
  end
@@ -5,7 +5,7 @@ module SolidusBling
5
5
  super(SolidusBling::Account.first)
6
6
  @order = order
7
7
  end
8
-
8
+
9
9
  def send
10
10
  if @order.present?
11
11
  contato = SolidusBling::Contact.new(@order, @account)
@@ -34,31 +34,35 @@ module SolidusBling
34
34
  "numeroLoja": order.number,
35
35
  "data": order.completed_at.strftime("%Y-%m-%d"),
36
36
  "loja": {
37
- "id": @account.external_store_id
37
+ "id": @account.external_store_id
38
38
  },
39
39
  "contato": {
40
- "id": contato["id"]
40
+ "id": contato["id"]
41
41
  },
42
42
  "itens": build_array_items(order.line_items),
43
43
  "vendedor": {
44
- "id": @account.sellers.first.external_id
44
+ "id": @account.sellers.first.external_id
45
45
  },
46
46
  "transporte": build_hash_transporte(order),
47
47
  "parcelas": build_array_parcelas(order),
48
48
  "desconto": {
49
- "valor": order.promo_total&.to_f.abs || 0,
50
- "unidade": "REAL"
49
+ "valor": order.promo_total&.to_f.abs || 0,
50
+ "unidade": "REAL"
51
51
  },
52
52
  "totalProdutos": order.item_total.to_f,
53
53
  "total": order.total.to_f,
54
54
  "observacoes": " Nº Pedido Loja: #{order.number}",
55
- "observacoesInternas": "Pagamento: #{@parcelas}x R$ #{(order.total.to_f / @parcelas).round(2)}\nForma de envio: #{order.shipments.last.selected_shipping_rate.name}\n#{build_cupons(order.promotions)}",
55
+ "observacoesInternas": "Pagamento: #{@parcelas}x R$ #{(order.total.to_f / @parcelas).round(2)}\nForma de envio: #{order.shipments.last.selected_shipping_rate.name}\n#{build_cupons(order.promotions)}#{build_order_url(order)}",
56
56
  "categoria": {
57
- "id": @account.incoming_category_id
57
+ "id": @account.incoming_category_id
58
58
  }
59
59
  }
60
60
  end
61
61
 
62
+ def build_order_url order
63
+ "Link para o pedido: #{order.store.url}/orders/#{order.number}/token/#{order.guest_token}"
64
+ end
65
+
62
66
  def build_array_items items
63
67
  items.map do |item|
64
68
  bling_product = SolidusBling::Product.find_by(sku: item.sku)
@@ -67,8 +71,8 @@ module SolidusBling
67
71
  "quantidade": item.quantity,
68
72
  "valor": item.price.to_f,
69
73
  "produto": {
70
- "id": bling_product.external_id
71
- }
74
+ "id": bling_product.external_id
75
+ }
72
76
  }
73
77
  end
74
78
  end
@@ -81,34 +85,40 @@ module SolidusBling
81
85
  valor_parcela = order.total.to_f / @parcelas
82
86
  1.upto(@parcelas).map do |parcela|
83
87
  {
84
- "dataVencimento": (order.completed_at + parcela.months).strftime("%Y-%m-%d"),
85
- "valor": valor_parcela,
86
- "formaPagamento": {
87
- "id": @account.payment_methods.find_by(spree_payment_method_id: order.payments.last.payment_method_id).external_id
88
- }
88
+ "dataVencimento": (order.completed_at + parcela.months).strftime("%Y-%m-%d"),
89
+ "valor": valor_parcela,
90
+ "formaPagamento": {
91
+ "id": @account.payment_methods.find_by(spree_payment_method_id: order.payments.last.payment_method_id).external_id
92
+ }
89
93
  }
90
94
  end
91
95
  end
92
96
 
93
97
  def build_hash_transporte order
98
+ shipping_method = @account.shipping_methods.find_by(spree_shipping_method_id: order.shipments.last.shipping_method.id)
99
+ servico = shipping_method.nil? ? "" : shipping_method.alias
100
+ transportadora = shipping_method.nil? ? "" : shipping_method.company
94
101
  {
95
102
  "fretePorConta": 1,
96
103
  "frete": order.shipment_total.to_f,
97
104
  "quantidadeVolumes": 1,
105
+ "contato": {
106
+ "nome": transportadora,
107
+ },
98
108
  "etiqueta": {
99
- "nome": order.ship_address.name,
100
- "endereco": order.ship_address.address1,
101
- "numero": order.ship_address.number,
102
- "complemento": order.ship_address.address2,
103
- "municipio": order.ship_address.city,
104
- "uf": order.ship_address.state.abbr,
105
- "bairro": order.ship_address.district,
106
- "cep": order.ship_address.zipcode,
107
- "nomePais": "Brasil"
109
+ "nome": order.ship_address.name,
110
+ "endereco": order.ship_address.address1,
111
+ "numero": order.ship_address.number,
112
+ "complemento": order.ship_address.address2,
113
+ "municipio": order.ship_address.city,
114
+ "uf": order.ship_address.state.abbr,
115
+ "bairro": order.ship_address.district,
116
+ "cep": order.ship_address.zipcode,
117
+ "nomePais": "Brasil"
108
118
  },
109
119
  "volumes": [
110
120
  {
111
- "servico": @account.shipping_methods.find_by(spree_shipping_method_id: order.shipments.last.shipping_method.id).alias,
121
+ "servico": servico,
112
122
  "codigoRastreamento": ""
113
123
  }
114
124
  ]
@@ -40,6 +40,7 @@
40
40
  <%= form.fields_for :payment_methods do |payment_form| %>
41
41
  <div>
42
42
  <%= payment_form.select :spree_payment_method_id, @payment_methods %>
43
+ <%= payment_form.label :external_id, "ID Forma de Pagamento: " %>
43
44
  <%= payment_form.text_field :external_id %>
44
45
  </div>
45
46
  <% end %>
@@ -50,7 +51,10 @@
50
51
  <%= form.fields_for :shipping_methods do |shipping_form| %>
51
52
  <div>
52
53
  <%= shipping_form.select :spree_shipping_method_id, @shipping_methods %>
54
+ <%= shipping_form.label :alias, "Alias: " %>
53
55
  <%= shipping_form.text_field :alias %>
56
+ <%= shipping_form.label :company, "Nome Transportadora: " %>
57
+ <%= shipping_form.text_field :company %>
54
58
  </div>
55
59
  <% end %>
56
60
  </div>
@@ -0,0 +1,5 @@
1
+ class AddCompanyToSolidusBlingShippingMethods < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :solidus_bling_shipping_methods, :company, :string, default: ""
4
+ end
5
+ end
@@ -14,16 +14,6 @@ module SolidusBling
14
14
  template 'initializer.rb', 'config/initializers/solidus_bling.rb'
15
15
  end
16
16
 
17
- def add_javascripts
18
- append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/solidus_bling\n"
19
- append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/solidus_bling\n"
20
- end
21
-
22
- def add_stylesheets
23
- inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/solidus_bling\n", before: %r{\*/}, verbose: true # rubocop:disable Layout/LineLength
24
- inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/solidus_bling\n", before: %r{\*/}, verbose: true # rubocop:disable Layout/LineLength
25
- end
26
-
27
17
  def add_migrations
28
18
  run 'bin/rails railties:install:migrations FROM=solidus_bling'
29
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusBling
4
- VERSION = '2.0.5'
4
+ VERSION = '2.0.7'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_bling
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - ulysses-bull
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-19 00:00:00.000000000 Z
11
+ date: 2023-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -104,10 +104,6 @@ files:
104
104
  - LICENSE
105
105
  - README.md
106
106
  - Rakefile
107
- - app/assets/javascripts/spree/backend/solidus_bling.js
108
- - app/assets/javascripts/spree/frontend/solidus_bling.js
109
- - app/assets/stylesheets/spree/backend/solidus_bling.css
110
- - app/assets/stylesheets/spree/frontend/solidus_bling.css
111
107
  - app/controllers/spree/admin/accounts_controller.rb
112
108
  - app/controllers/spree/admin/bling_products_controller.rb
113
109
  - app/decorators/models/solidus_bling/spree/payment_method_decorator.rb
@@ -151,6 +147,7 @@ files:
151
147
  - db/migrate/20230918142742_create_solidus_bling_payment_methods.rb
152
148
  - db/migrate/20230918142953_create_solidus_bling_sellers.rb
153
149
  - db/migrate/20230918143057_create_solidus_bling_shipping_methods.rb
150
+ - db/migrate/20231018141940_add_company_to_solidus_bling_shipping_methods.rb
154
151
  - lib/generators/solidus_bling/install/install_generator.rb
155
152
  - lib/generators/solidus_bling/install/templates/initializer.rb
156
153
  - lib/solidus_bling.rb
@@ -1,2 +0,0 @@
1
- // Placeholder manifest file.
2
- // the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/backend/all.js'
@@ -1,2 +0,0 @@
1
- // Placeholder manifest file.
2
- // the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/frontend/all.js'
@@ -1,4 +0,0 @@
1
- /*
2
- Placeholder manifest file.
3
- the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/backend/all.css'
4
- */
@@ -1,4 +0,0 @@
1
- /*
2
- Placeholder manifest file.
3
- the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/frontend/all.css'
4
- */