spree_pluggto 1.0.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|