spree_pluggto 1.0.0 → 1.1.1
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/app/jobs/spree_pluggto/update_stock_job.rb +8 -0
- data/app/models/spree_pluggto/spree/stock_item_decorator.rb +19 -0
- data/app/services/spree_pluggto/api/product.rb +1 -2
- data/app/services/spree_pluggto/api/stock.rb +17 -0
- data/app/services/spree_pluggto/create_spree_order.rb +2 -0
- data/app/services/spree_pluggto/update_spree_order.rb +2 -2
- data/lib/spree_pluggto/version.rb +2 -2
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68650ab9d11fa8f732796ee5b185bf1ee04793da13b28ac9ee6295a7f4d42fc5
|
4
|
+
data.tar.gz: 87c0c7112f861125cd9c93f37f2006f9994f964ccb14982526019aebea06b385
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31571cdb3788e4c2b739cc2b08eb13e5869881d615f5ed71b8e3b6cbee894c3695c829d045d5c5cab87e9c99ff03762802d69f8ccf8427b43c8840c16c1b1d46
|
7
|
+
data.tar.gz: 13da93f36ee7ded2a3bb08ba60b88d1bb3846e76b77fd1c615bccd50d8c38d56d190028b4865e845fa6d9c8bcf291ff72cf28b200e4c0dfab2088baf91ad6179
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module SpreePluggto
|
2
|
+
module Spree
|
3
|
+
module StockItemDecorator
|
4
|
+
|
5
|
+
def self.prepended(base)
|
6
|
+
base.after_save :update_pluggto_stock
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def update_pluggto_stock
|
12
|
+
return unless product.sync_with_pluggto?
|
13
|
+
::SpreePluggto::UpdateStockJob.perform_later(variant_id)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Spree::StockItem.prepend(SpreePluggto::Spree::StockItemDecorator)
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module SpreePluggto::Api
|
2
2
|
class Product
|
3
3
|
class << self
|
4
|
-
|
5
4
|
def find(pluggto_id)
|
6
5
|
response = ::SpreePluggto::Api::Request.new.get("/products/#{pluggto_id}")
|
7
6
|
response["Product"]
|
@@ -16,7 +15,7 @@ module SpreePluggto::Api
|
|
16
15
|
private
|
17
16
|
|
18
17
|
def params(product)
|
19
|
-
description = ::
|
18
|
+
description = ::ActionController::Base.helpers.simple_format(product.description) + "<br/><u>MAIS INFORMAÇÕES:</u><br/>".html_safe + product.info.html_safe
|
20
19
|
{
|
21
20
|
"sku": product.sku,
|
22
21
|
"name": product.pluggto_name.present? ? product.pluggto_name : product.name,
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module SpreePluggto::Api
|
2
|
+
class Stock
|
3
|
+
class << self
|
4
|
+
def update(variant)
|
5
|
+
::SpreePluggto::Api::Request.new.put("/skus/#{variant.sku}/stock", params(variant).to_json)
|
6
|
+
end
|
7
|
+
|
8
|
+
def params(variant)
|
9
|
+
{
|
10
|
+
"action": "update",
|
11
|
+
"quantity": variant.total_on_hand.finite? ? variant.total_on_hand : 99,
|
12
|
+
"sku": variant.sku
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -17,6 +17,7 @@ module SpreePluggto
|
|
17
17
|
# Create the order on Spree
|
18
18
|
spree_order = ::Spree::Order.create(
|
19
19
|
channel: "pluggto",
|
20
|
+
external_channel: pluggto_order["channel"],
|
20
21
|
pluggto_id: pluggto_order["id"],
|
21
22
|
user: ::Spree::User.find_by(email: pluggto_order["receiver_email"]),
|
22
23
|
email: pluggto_order["receiver_email"],
|
@@ -114,6 +115,7 @@ module SpreePluggto
|
|
114
115
|
spree_order.update_columns(
|
115
116
|
state: 'complete',
|
116
117
|
completed_at: DateTime.now,
|
118
|
+
payment_confirmed_at: DateTime.now,
|
117
119
|
payment_state: pluggto_order["status"] == 'approved' ? 'paid' : 'balance_due'
|
118
120
|
)
|
119
121
|
spree_order.fulfill! if spree_order.paid?
|
@@ -21,7 +21,7 @@ module SpreePluggto
|
|
21
21
|
spree_order.fulfill!
|
22
22
|
end
|
23
23
|
when 'canceled'
|
24
|
-
spree_order.update_columns(state: 'canceled')
|
24
|
+
spree_order.update_columns(state: 'canceled', shipment_state: 'canceled', payment_state: 'void')
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -43,7 +43,7 @@ module SpreePluggto
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def set_as_paid
|
46
|
-
spree_order.update_columns(payment_state: 'paid')
|
46
|
+
spree_order.update_columns(payment_state: 'paid', payment_confirmed_at: DateTime.now)
|
47
47
|
end
|
48
48
|
|
49
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_pluggto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lucas Kuhn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -288,11 +288,13 @@ files:
|
|
288
288
|
- app/jobs/spree_pluggto/product_updated_job.rb
|
289
289
|
- app/jobs/spree_pluggto/sku_deleted_job.rb
|
290
290
|
- app/jobs/spree_pluggto/update_pluggto_order_job.rb
|
291
|
+
- app/jobs/spree_pluggto/update_stock_job.rb
|
291
292
|
- app/jobs/spree_pluggto/upsert_all_products_job.rb
|
292
293
|
- app/jobs/spree_pluggto/upsert_product_job.rb
|
293
294
|
- app/models/pluggto_settings.rb
|
294
295
|
- app/models/spree_pluggto/spree/product_decorator.rb
|
295
296
|
- app/models/spree_pluggto/spree/shipment_decorator.rb
|
297
|
+
- app/models/spree_pluggto/spree/stock_item_decorator.rb
|
296
298
|
- app/overrides/add_pluggto_id_to_order_summary.rb
|
297
299
|
- app/overrides/add_pluggto_tab_to_order_sidebar.rb
|
298
300
|
- app/overrides/add_settings_to_admin_configurations.rb
|
@@ -300,6 +302,7 @@ files:
|
|
300
302
|
- app/services/spree_pluggto/api/order.rb
|
301
303
|
- app/services/spree_pluggto/api/product.rb
|
302
304
|
- app/services/spree_pluggto/api/request.rb
|
305
|
+
- app/services/spree_pluggto/api/stock.rb
|
303
306
|
- app/services/spree_pluggto/create_spree_order.rb
|
304
307
|
- app/services/spree_pluggto/delete_spree_product_reference.rb
|
305
308
|
- app/services/spree_pluggto/send_integration_errors.rb
|
@@ -342,8 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
342
345
|
version: '0'
|
343
346
|
requirements:
|
344
347
|
- none
|
345
|
-
|
346
|
-
rubygems_version: 2.7.6.2
|
348
|
+
rubygems_version: 3.2.16
|
347
349
|
signing_key:
|
348
350
|
specification_version: 4
|
349
351
|
summary: Connect Spree to Plugg.to
|