effective_orders 5.2.16 → 5.3.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc662c2add95d46295f9dcbf498836481de48d6df528594fbee1e5b1ca333a7e
|
4
|
+
data.tar.gz: e6a8beebda502e2bc9ef9d787bfffe349528af236d8dce3716d4f194c98fa733
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a70337f484b993930a530493e1fdf162e1e9374e8af7821293e4d3763acd9cfb262330a8515b340709ae2d8cb65d539e370225578c98c52dcffbf642330be13
|
7
|
+
data.tar.gz: d0f956661942c784d9f8c976f964dfa56ab7b80dd9021ab4e2845e1d79c727b9b3b63a4fdad9b515a1ae44378d7145bf165bf24041cefc0fb589d52e481a1f8a
|
@@ -82,7 +82,10 @@ class Admin::EffectiveOrdersDatatable < Effective::Datatable
|
|
82
82
|
|
83
83
|
actions_col partial: 'admin/orders/datatable_actions', partial_as: :order
|
84
84
|
|
85
|
-
|
85
|
+
unless attributes[:total] == false
|
86
|
+
aggregate :total
|
87
|
+
end
|
88
|
+
|
86
89
|
end
|
87
90
|
|
88
91
|
collection do
|
@@ -476,8 +476,14 @@ module Effective
|
|
476
476
|
false
|
477
477
|
end
|
478
478
|
|
479
|
+
# Call this as a way to skip over non consequential orders
|
480
|
+
# And mark some purchasables purchased
|
481
|
+
def mark_as_purchased!
|
482
|
+
purchase!(skip_buyer_validations: true, email: false, skip_quickbooks: true)
|
483
|
+
end
|
484
|
+
|
479
485
|
# Effective::Order.new(items: Product.first, user: User.first).purchase!(email: false)
|
480
|
-
def purchase!(payment: 'none', provider: 'none', card: 'none', email: true, skip_buyer_validations: false)
|
486
|
+
def purchase!(payment: 'none', provider: 'none', card: 'none', email: true, skip_buyer_validations: false, skip_quickbooks: false)
|
481
487
|
# Assign attributes
|
482
488
|
self.state = EffectiveOrders::PURCHASED
|
483
489
|
self.skip_buyer_validations = skip_buyer_validations
|
@@ -506,6 +512,20 @@ module Effective
|
|
506
512
|
end
|
507
513
|
|
508
514
|
send_order_receipts! if email
|
515
|
+
after_commit { sync_quickbooks!(skip: skip_quickbooks) }
|
516
|
+
|
517
|
+
true
|
518
|
+
end
|
519
|
+
|
520
|
+
# We support two different Quickbooks synchronization gems: effective_qb_sync and effective_qb_online
|
521
|
+
def sync_quickbooks!(skip:)
|
522
|
+
if EffectiveOrders.qb_online?
|
523
|
+
skip ? EffectiveQbOnline.skip_order!(self) : EffectiveQbOnline.sync_order!(self)
|
524
|
+
end
|
525
|
+
|
526
|
+
if EffectiveOrders.qb_sync?
|
527
|
+
skip ? EffectiveQbSync.skip_order!(self) : true # Nothing to do
|
528
|
+
end
|
509
529
|
|
510
530
|
true
|
511
531
|
end
|
data/config/effective_orders.rb
CHANGED
@@ -25,6 +25,7 @@ EffectiveOrders.setup do |config|
|
|
25
25
|
|
26
26
|
# Synchronize with Quickbooks
|
27
27
|
config.use_effective_qb_sync = false
|
28
|
+
config.use_effective_qb_online = false
|
28
29
|
|
29
30
|
# If set, the orders#new screen will render effective/orders/_order_note_fields to capture any Note info
|
30
31
|
config.collect_note = false
|
data/lib/effective_orders.rb
CHANGED
@@ -35,7 +35,7 @@ module EffectiveOrders
|
|
35
35
|
:customers_table_name, :subscriptions_table_name, :products_table_name,
|
36
36
|
:layout, :mailer_class_name, :mailer,
|
37
37
|
:orders_collection_scope, :order_tax_rate_method,
|
38
|
-
:obfuscate_order_ids, :use_effective_qb_sync,
|
38
|
+
:obfuscate_order_ids, :use_effective_qb_sync, :use_effective_qb_online,
|
39
39
|
:billing_address, :shipping_address,
|
40
40
|
:collect_note, :collect_note_required, :collect_note_message,
|
41
41
|
:terms_and_conditions, :terms_and_conditions_label, :minimum_charge,
|
@@ -136,6 +136,14 @@ module EffectiveOrders
|
|
136
136
|
[('cheque' if cheque?), ('phone' if phone?)].compact
|
137
137
|
end
|
138
138
|
|
139
|
+
def self.qb_sync?
|
140
|
+
use_effective_qb_sync && defined?(EffectiveQbSync)
|
141
|
+
end
|
142
|
+
|
143
|
+
def self.qb_online?
|
144
|
+
use_effective_qb_online && defined?(EffectiveQbOnline)
|
145
|
+
end
|
146
|
+
|
139
147
|
def self.mailer_klass
|
140
148
|
name = mailer_class_name.presence || 'Effective::OrdersMailer'
|
141
149
|
name.safe_constantize || raise("unable to constantize mailer class. check config.mailer_class_name")
|
@@ -229,4 +237,9 @@ module EffectiveOrders
|
|
229
237
|
|
230
238
|
class SoldOutException < Exception; end
|
231
239
|
class AlreadyPurchasedException < Exception; end
|
240
|
+
|
241
|
+
def self.gem_path
|
242
|
+
__dir__.chomp('/lib')
|
243
|
+
end
|
244
|
+
|
232
245
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_orders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|