solidus_bling 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/app/controllers/spree/admin/accounts_controller.rb +6 -4
- data/app/controllers/spree/admin/bling_products_controller.rb +20 -0
- data/app/helpers/solidus_bling/bling_products_helper.rb +4 -0
- data/app/jobs/solidus_bling/update_product_job.rb +9 -0
- data/app/models/solidus_bling/contact.rb +1 -1
- data/app/models/solidus_bling/product.rb +4 -4
- data/app/views/spree/admin/accounts/edit.html.erb +7 -0
- data/config/locales/pt-BR.yml +5 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20230918141505_add_bling_order_id_to_spree_orders.rb +1 -1
- data/lib/solidus_bling/engine.rb +1 -1
- data/lib/solidus_bling/version.rb +1 -1
- data/spec/helpers/solidus_bling/bling_products_helper_spec.rb +17 -0
- data/spec/jobs/solidus_bling/update_product_job_spec.rb +7 -0
- data/spec/requests/solidus_bling/bling_products_spec.rb +7 -0
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3888ee5c2c2115caad5550a8b4b0c4a8c357271dedac7ceac19d8f9bf518b4b0
|
4
|
+
data.tar.gz: e635f3c6e6dafb8a38b437611cc157e0535a0dfacebe61f60bf7bf31be0bc76b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52f2e484e6f4ed2110b5ea29858eea98bb24de7fd6d65d0381632bcf47650c18d978afd7265026b3b02f7f528f648ee0895fec925043d5119550a0f95025c9f6
|
7
|
+
data.tar.gz: 3ffda6fc4dedc0ceda4dc2bb9d0e9de143fbda038562a6efb4297e195ba679125e47e3c77428c88483fe22f7240c276b6dbb7598a3d4d39915a02e15d0189baf
|
data/.gitignore
CHANGED
@@ -10,8 +10,8 @@ module Spree
|
|
10
10
|
|
11
11
|
def new
|
12
12
|
@bling_account = SolidusBling::Account.new
|
13
|
-
@payment_methods = Spree::PaymentMethod.all.pluck(:name, :id)
|
14
|
-
@shipping_methods = Spree::ShippingMethod.all.pluck(:name, :id)
|
13
|
+
@payment_methods = ::Spree::PaymentMethod.all.pluck(:name, :id)
|
14
|
+
@shipping_methods = ::Spree::ShippingMethod.all.pluck(:name, :id)
|
15
15
|
@bling_account.payment_methods.build
|
16
16
|
@bling_account.shipping_methods.build
|
17
17
|
@bling_account.sellers.build
|
@@ -24,8 +24,10 @@ module Spree
|
|
24
24
|
|
25
25
|
def edit
|
26
26
|
@bling_account = SolidusBling::Account.find(params[:id])
|
27
|
-
@payment_methods = Spree::PaymentMethod.all.pluck(:name, :id)
|
28
|
-
@shipping_methods = Spree::ShippingMethod.all.pluck(:name, :id)
|
27
|
+
@payment_methods = ::Spree::PaymentMethod.all.pluck(:name, :id)
|
28
|
+
@shipping_methods = ::Spree::ShippingMethod.all.pluck(:name, :id)
|
29
|
+
@products_count = @bling_account.products.count
|
30
|
+
@last_update = SolidusBling::Event.where(method: "products_updated").max.created_at.strftime("%d/%m/%Y %H:%M")
|
29
31
|
end
|
30
32
|
|
31
33
|
def update
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
class BlingProductsController < ResourceController
|
4
|
+
|
5
|
+
def update
|
6
|
+
account = SolidusBling::Account.find(params[:id])
|
7
|
+
SolidusBling::UpdateProductJob.perform_later(account)
|
8
|
+
flash[:success] = "Baixando produtos"
|
9
|
+
redirect_to edit_admin_account_path(account)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def model_class
|
15
|
+
SolidusBling::Account
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -39,7 +39,7 @@ module SolidusBling
|
|
39
39
|
ensure
|
40
40
|
json = JSON.parse(req.body)
|
41
41
|
response_has_error?(json)
|
42
|
-
Spree::Bus.publish :bling_contact_created, args: {order: order, contato: json}
|
42
|
+
::Spree::Bus.publish :bling_contact_created, args: {order: order, contato: json}
|
43
43
|
return json.dig("data", "id")
|
44
44
|
end
|
45
45
|
end
|
@@ -4,14 +4,14 @@ module SolidusBling
|
|
4
4
|
|
5
5
|
def self.update bling_account
|
6
6
|
bling_api = SolidusBling::Api.new(bling_account)
|
7
|
-
skus = Spree::Variant.pluck(:sku)
|
7
|
+
skus = ::Spree::Variant.pluck(:sku)
|
8
8
|
hash_products = {}
|
9
9
|
products = skus.map do |sku|
|
10
10
|
begin
|
11
11
|
attempts ||= 1
|
12
12
|
req = Typhoeus.get("#{bling_api.account.api_base_url}/produtos?codigo=#{sku}", headers: bling_api.headers)
|
13
13
|
res_json = JSON.parse(req.body)
|
14
|
-
p "#{sku} => #{res_json}"
|
14
|
+
# p "#{sku} => #{res_json}"
|
15
15
|
next if res_json["data"] == []
|
16
16
|
product = res_json["data"].first
|
17
17
|
hash_products[sku] = product["id"]
|
@@ -23,13 +23,13 @@ module SolidusBling
|
|
23
23
|
}
|
24
24
|
rescue => e
|
25
25
|
hash_products[sku] = res_json
|
26
|
-
p "#{sku} => #{res_json} => #{e}"
|
26
|
+
# p "#{sku} => #{res_json} => #{e}"
|
27
27
|
sleep 1
|
28
28
|
retry if (attempts += 1) < 5
|
29
29
|
end
|
30
30
|
end.compact.uniq
|
31
31
|
SolidusBling::Product.upsert_all(products, unique_by: :sku)
|
32
|
-
Spree::Bus.publish :bling_products_updated, products: hash_products
|
32
|
+
::Spree::Bus.publish :bling_products_updated, products: hash_products
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
@@ -1,2 +1,9 @@
|
|
1
|
+
<div style="margin: 10px 0px">
|
2
|
+
<%= button_to "Baixar produtos", admin_bling_product_path(@bling_account.id), method: :put, data:
|
3
|
+
{confirm: "Deseja baixar os produtos?" } %>
|
4
|
+
<span>Produtos baixados: <%= @products_count %></span>
|
5
|
+
<br>
|
6
|
+
<span>Ultima atualização: <%= @last_update %> </span>
|
7
|
+
</div>
|
1
8
|
|
2
9
|
<%= render "form", bling_account: @bling_account, form_url: admin_account_path(@bling_account.id) %>
|
data/config/routes.rb
CHANGED
data/lib/solidus_bling/engine.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
# Specs in this file have access to a helper object that includes
|
4
|
+
# the BlingProductsHelper. For example:
|
5
|
+
#
|
6
|
+
# describe BlingProductsHelper do
|
7
|
+
# describe "string concat" do
|
8
|
+
# it "concats two strings with spaces" do
|
9
|
+
# expect(helper.concat_strings("this","that")).to eq("this that")
|
10
|
+
# end
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
module SolidusBling
|
14
|
+
RSpec.describe BlingProductsHelper, type: :helper do
|
15
|
+
pending "add some examples to (or delete) #{__FILE__}"
|
16
|
+
end
|
17
|
+
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.
|
4
|
+
version: 2.0.3
|
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-
|
11
|
+
date: 2023-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -109,13 +109,16 @@ files:
|
|
109
109
|
- app/assets/stylesheets/spree/backend/solidus_bling.css
|
110
110
|
- app/assets/stylesheets/spree/frontend/solidus_bling.css
|
111
111
|
- app/controllers/spree/admin/accounts_controller.rb
|
112
|
+
- app/controllers/spree/admin/bling_products_controller.rb
|
112
113
|
- app/decorators/models/solidus_bling/spree/payment_method_decorator.rb
|
113
114
|
- app/decorators/models/solidus_bling/spree/shipping_method_decorator.rb
|
114
115
|
- app/helpers/solidus_bling/accounts_helper.rb
|
116
|
+
- app/helpers/solidus_bling/bling_products_helper.rb
|
115
117
|
- app/jobs/solidus_bling/application_job.rb
|
116
118
|
- app/jobs/solidus_bling/contact_job.rb
|
117
119
|
- app/jobs/solidus_bling/order_job.rb
|
118
120
|
- app/jobs/solidus_bling/product_job.rb
|
121
|
+
- app/jobs/solidus_bling/update_product_job.rb
|
119
122
|
- app/models/solidus_bling/account.rb
|
120
123
|
- app/models/solidus_bling/api.rb
|
121
124
|
- app/models/solidus_bling/contact.rb
|
@@ -139,6 +142,7 @@ files:
|
|
139
142
|
- bin/sandbox
|
140
143
|
- bin/setup
|
141
144
|
- config/locales/en.yml
|
145
|
+
- config/locales/pt-BR.yml
|
142
146
|
- config/routes.rb
|
143
147
|
- db/migrate/20230918141419_create_solidus_bling_accounts.rb
|
144
148
|
- db/migrate/20230918141505_add_bling_order_id_to_spree_orders.rb
|
@@ -156,9 +160,11 @@ files:
|
|
156
160
|
- lib/solidus_bling/version.rb
|
157
161
|
- solidus_bling.gemspec
|
158
162
|
- spec/helpers/solidus_bling/accounts_helper_spec.rb
|
163
|
+
- spec/helpers/solidus_bling/bling_products_helper_spec.rb
|
159
164
|
- spec/jobs/solidus_bling/contact_job_spec.rb
|
160
165
|
- spec/jobs/solidus_bling/order_job_spec.rb
|
161
166
|
- spec/jobs/solidus_bling/product_job_spec.rb
|
167
|
+
- spec/jobs/solidus_bling/update_product_job_spec.rb
|
162
168
|
- spec/models/solidus_bling/account_spec.rb
|
163
169
|
- spec/models/solidus_bling/event_spec.rb
|
164
170
|
- spec/models/solidus_bling/payment_method_spec.rb
|
@@ -166,6 +172,7 @@ files:
|
|
166
172
|
- spec/models/solidus_bling/seller_spec.rb
|
167
173
|
- spec/models/solidus_bling/shipping_method_spec.rb
|
168
174
|
- spec/requests/solidus_bling/accounts_spec.rb
|
175
|
+
- spec/requests/solidus_bling/bling_products_spec.rb
|
169
176
|
- spec/spec_helper.rb
|
170
177
|
homepage: https://github.com/ulysses-bull/solidus_bling#readme
|
171
178
|
licenses:
|
@@ -198,9 +205,11 @@ specification_version: 4
|
|
198
205
|
summary: Solidus extension to integrate with the Bling
|
199
206
|
test_files:
|
200
207
|
- spec/helpers/solidus_bling/accounts_helper_spec.rb
|
208
|
+
- spec/helpers/solidus_bling/bling_products_helper_spec.rb
|
201
209
|
- spec/jobs/solidus_bling/contact_job_spec.rb
|
202
210
|
- spec/jobs/solidus_bling/order_job_spec.rb
|
203
211
|
- spec/jobs/solidus_bling/product_job_spec.rb
|
212
|
+
- spec/jobs/solidus_bling/update_product_job_spec.rb
|
204
213
|
- spec/models/solidus_bling/account_spec.rb
|
205
214
|
- spec/models/solidus_bling/event_spec.rb
|
206
215
|
- spec/models/solidus_bling/payment_method_spec.rb
|
@@ -208,4 +217,5 @@ test_files:
|
|
208
217
|
- spec/models/solidus_bling/seller_spec.rb
|
209
218
|
- spec/models/solidus_bling/shipping_method_spec.rb
|
210
219
|
- spec/requests/solidus_bling/accounts_spec.rb
|
220
|
+
- spec/requests/solidus_bling/bling_products_spec.rb
|
211
221
|
- spec/spec_helper.rb
|