workarea-core 3.4.36 → 3.4.41
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 +5 -5
- data/app/controllers/workarea/impersonation.rb +2 -1
- data/app/mailers/workarea/application_mailer.rb +4 -1
- data/app/models/workarea/checkout.rb +6 -2
- data/app/models/workarea/inquiry.rb +2 -1
- data/app/models/workarea/payment.rb +1 -6
- data/app/queries/workarea/search/admin_search.rb +4 -0
- data/app/queries/workarea/search/admin_sorting.rb +1 -1
- data/config/locales/en.yml +2 -0
- data/lib/generators/workarea/install/install_generator.rb +13 -0
- data/lib/generators/workarea/install/templates/initializer.rb.erb +1 -1
- data/lib/workarea/configuration.rb +11 -0
- data/lib/workarea/version.rb +1 -1
- data/test/generators/workarea/install_generator_test.rb +6 -0
- data/test/mailers/workarea/application_mailer_test.rb +10 -0
- data/test/models/workarea/checkout_test.rb +57 -0
- data/test/queries/workarea/search/admin_search_test.rb +10 -0
- data/workarea-core.gemspec +1 -1
- metadata +11 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cd6a06d43a5afb8d5f0b1cf56c81a9f98c7d354d491d5f34bc343c2eff550f94
|
4
|
+
data.tar.gz: 24b2c3a28a8566a643157312dcca780a094802e8e26acd4a464ad89d8489200c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a595de98f25b125a2518db893178ca1b950396f97f9de175e1592520ed18bbe9dda49a9cc8bc38dc7f25b8207489adea3cb2861a10d91adb6d3b5c7f6ed653b8
|
7
|
+
data.tar.gz: 414a2d37a8b2f29f0a5d463d8fb497ac01b6efe9231f3e254b4f3d3b6f1a05f3c9e9adc8552d9d6f22485f159eb3dc15ff818d7045381f5745171516c4712ac7
|
@@ -50,7 +50,8 @@ module Workarea
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def current_impersonation
|
53
|
-
@current_impersonation
|
53
|
+
return @current_impersonation if defined?(@current_impersonation)
|
54
|
+
@current_impersonation = User.find(cookies.signed[:user_id]) rescue nil
|
54
55
|
end
|
55
56
|
|
56
57
|
def touch_impersonation
|
@@ -7,7 +7,10 @@ module Workarea
|
|
7
7
|
default from: -> (*) { Workarea.config.email_from }
|
8
8
|
|
9
9
|
def default_url_options(options = {})
|
10
|
-
super
|
10
|
+
# super isn't returning the configured options, so manually merge them in
|
11
|
+
super
|
12
|
+
.merge(Rails.application.config.action_mailer.default_url_options.to_h)
|
13
|
+
.merge(host: Workarea.config.host)
|
11
14
|
end
|
12
15
|
end
|
13
16
|
end
|
@@ -158,10 +158,14 @@ module Workarea
|
|
158
158
|
# Used in auto completing an order for a logged in user.
|
159
159
|
#
|
160
160
|
# @param [Hash] parameters for updating
|
161
|
-
# @return [
|
161
|
+
# @return [Boolean] whether the update was successful.
|
162
162
|
#
|
163
163
|
def update(params = {})
|
164
|
-
|
164
|
+
return true if params.blank?
|
165
|
+
|
166
|
+
steps.reduce(true) do |result, step|
|
167
|
+
result &= step.new(self).update(params)
|
168
|
+
end
|
165
169
|
end
|
166
170
|
|
167
171
|
# Whether this checkout needs any further information
|
@@ -80,12 +80,7 @@ module Workarea
|
|
80
80
|
build_credit_card unless credit_card
|
81
81
|
credit_card.saved_card_id = nil
|
82
82
|
credit_card.attributes = attrs.slice(
|
83
|
-
|
84
|
-
:year,
|
85
|
-
:saved_card_id,
|
86
|
-
:number,
|
87
|
-
:cvv,
|
88
|
-
:amount
|
83
|
+
*Workarea.config.credit_card_attributes
|
89
84
|
)
|
90
85
|
save
|
91
86
|
end
|
data/config/locales/en.yml
CHANGED
@@ -63,6 +63,19 @@ module Workarea
|
|
63
63
|
remove_file 'public/favicon.ico'
|
64
64
|
end
|
65
65
|
|
66
|
+
def add_development_mailer_port
|
67
|
+
development_port = <<-CODE
|
68
|
+
|
69
|
+
config.action_mailer.default_url_options = { port: 3000 }
|
70
|
+
CODE
|
71
|
+
|
72
|
+
inject_into_file(
|
73
|
+
'config/environments/development.rb',
|
74
|
+
development_port,
|
75
|
+
before: /^end/
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
66
79
|
private
|
67
80
|
|
68
81
|
def app_name
|
@@ -1289,6 +1289,17 @@ module Workarea
|
|
1289
1289
|
|
1290
1290
|
# The number of results that will show per-type in the admin jump to
|
1291
1291
|
config.jump_to_results_per_type = 5
|
1292
|
+
|
1293
|
+
# Attributes that will be sliced out of params and persisted on
|
1294
|
+
# the credit card tender during checkout.
|
1295
|
+
config.credit_card_attributes = %i[
|
1296
|
+
month
|
1297
|
+
year
|
1298
|
+
saved_card_id
|
1299
|
+
number
|
1300
|
+
cvv
|
1301
|
+
amount
|
1302
|
+
]
|
1292
1303
|
end
|
1293
1304
|
end
|
1294
1305
|
end
|
data/lib/workarea/version.rb
CHANGED
@@ -88,5 +88,11 @@ module Workarea
|
|
88
88
|
def test_favicon
|
89
89
|
assert_no_file 'public/favicon.ico'
|
90
90
|
end
|
91
|
+
|
92
|
+
def test_development_mailer_port
|
93
|
+
assert_file 'config/environments/development.rb' do |file|
|
94
|
+
assert_match(%(config.action_mailer.default_url_options = { port: 3000 }), file)
|
95
|
+
end
|
96
|
+
end
|
91
97
|
end
|
92
98
|
end
|
@@ -21,5 +21,15 @@ module Workarea
|
|
21
21
|
assert_equal([changed_email], changed_mail.from)
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
def test_default_url_options
|
26
|
+
@current_options = Rails.application.config.action_mailer.default_url_options.deep_dup
|
27
|
+
Rails.application.config.action_mailer.default_url_options = { port: 12345 }
|
28
|
+
|
29
|
+
assert_equal(12345, ApplicationMailer.new.default_url_options[:port])
|
30
|
+
|
31
|
+
ensure
|
32
|
+
Rails.application.config.action_mailer.default_url_options = @current_options
|
33
|
+
end
|
24
34
|
end
|
25
35
|
end
|
@@ -51,6 +51,63 @@ module Workarea
|
|
51
51
|
refute_equal(payment_id, checkout.payment.object_id)
|
52
52
|
end
|
53
53
|
|
54
|
+
def test_update
|
55
|
+
create_shipping_service
|
56
|
+
checkout = Checkout.new(@order)
|
57
|
+
|
58
|
+
checkout.start_as(:guest)
|
59
|
+
|
60
|
+
refute(
|
61
|
+
checkout.update(
|
62
|
+
email: 'test@workarea.com',
|
63
|
+
shipping_address: {
|
64
|
+
last_name: 'Crouse',
|
65
|
+
street: '22 S. 3rd St.',
|
66
|
+
street_2: 'Second Floor',
|
67
|
+
city: 'Philadelphia',
|
68
|
+
region: 'PA',
|
69
|
+
postal_code: '19106',
|
70
|
+
country: 'US'
|
71
|
+
},
|
72
|
+
billing_address: {
|
73
|
+
first_name: 'Ben',
|
74
|
+
street: '22 S. 3rd St.',
|
75
|
+
street_2: 'Second Floor',
|
76
|
+
city: 'Philadelphia',
|
77
|
+
region: 'PA',
|
78
|
+
postal_code: '19106',
|
79
|
+
country: 'US'
|
80
|
+
}
|
81
|
+
)
|
82
|
+
)
|
83
|
+
|
84
|
+
assert(
|
85
|
+
checkout.update(
|
86
|
+
email: 'test@workarea.com',
|
87
|
+
shipping_address: {
|
88
|
+
first_name: 'Ben',
|
89
|
+
last_name: 'Crouse',
|
90
|
+
street: '22 S. 3rd St.',
|
91
|
+
street_2: 'Second Floor',
|
92
|
+
city: 'Philadelphia',
|
93
|
+
region: 'PA',
|
94
|
+
postal_code: '19106',
|
95
|
+
country: 'US'
|
96
|
+
},
|
97
|
+
billing_address: {
|
98
|
+
first_name: 'Ben',
|
99
|
+
last_name: 'Crouse',
|
100
|
+
street: '22 S. 3rd St.',
|
101
|
+
street_2: 'Second Floor',
|
102
|
+
city: 'Philadelphia',
|
103
|
+
region: 'PA',
|
104
|
+
postal_code: '19106',
|
105
|
+
country: 'US'
|
106
|
+
}
|
107
|
+
)
|
108
|
+
)
|
109
|
+
end
|
110
|
+
|
54
111
|
def test_continue_as
|
55
112
|
checkout = Checkout.new(@order)
|
56
113
|
checkout.continue_as(@user)
|
@@ -81,6 +81,16 @@ module Workarea
|
|
81
81
|
assert_equal(results.reverse, search.results)
|
82
82
|
end
|
83
83
|
|
84
|
+
def test_default_sort_by_score
|
85
|
+
# Unlike other admin searches (primarily indexes), we want searching to
|
86
|
+
# default sort by score. Testing scores directly is unreliable so just
|
87
|
+
# do a simple check here.
|
88
|
+
assert_equal(
|
89
|
+
[{ _score: :desc }, { updated_at: :desc }],
|
90
|
+
AdminSearch.new.default_admin_sort
|
91
|
+
)
|
92
|
+
end
|
93
|
+
|
84
94
|
def test_selected_sorting
|
85
95
|
results = [
|
86
96
|
create_product(name: 'A', variants: []),
|
data/workarea-core.gemspec
CHANGED
@@ -90,7 +90,7 @@ Gem::Specification.new do |s|
|
|
90
90
|
s.add_dependency 'referer-parser', '~> 0.3.0'
|
91
91
|
s.add_dependency 'serviceworker-rails', '~> 0.5.5'
|
92
92
|
s.add_dependency 'logstasher', '~> 1.2.2'
|
93
|
-
s.add_dependency 'chartkick', '~> 3.
|
93
|
+
s.add_dependency 'chartkick', '~> 3.4.0'
|
94
94
|
s.add_dependency 'puma', '>= 4.3.1'
|
95
95
|
s.add_dependency 'rack' , '>= 2.1.4'
|
96
96
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workarea-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -882,22 +882,22 @@ dependencies:
|
|
882
882
|
name: minitest
|
883
883
|
requirement: !ruby/object:Gem::Requirement
|
884
884
|
requirements:
|
885
|
-
- - "~>"
|
886
|
-
- !ruby/object:Gem::Version
|
887
|
-
version: 5.10.3
|
888
885
|
- - ">="
|
889
886
|
- !ruby/object:Gem::Version
|
890
887
|
version: 5.10.1
|
888
|
+
- - "~>"
|
889
|
+
- !ruby/object:Gem::Version
|
890
|
+
version: 5.10.3
|
891
891
|
type: :runtime
|
892
892
|
prerelease: false
|
893
893
|
version_requirements: !ruby/object:Gem::Requirement
|
894
894
|
requirements:
|
895
|
-
- - "~>"
|
896
|
-
- !ruby/object:Gem::Version
|
897
|
-
version: 5.10.3
|
898
895
|
- - ">="
|
899
896
|
- !ruby/object:Gem::Version
|
900
897
|
version: 5.10.1
|
898
|
+
- - "~>"
|
899
|
+
- !ruby/object:Gem::Version
|
900
|
+
version: 5.10.3
|
901
901
|
- !ruby/object:Gem::Dependency
|
902
902
|
name: countries
|
903
903
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1086,14 +1086,14 @@ dependencies:
|
|
1086
1086
|
requirements:
|
1087
1087
|
- - "~>"
|
1088
1088
|
- !ruby/object:Gem::Version
|
1089
|
-
version: 3.
|
1089
|
+
version: 3.4.0
|
1090
1090
|
type: :runtime
|
1091
1091
|
prerelease: false
|
1092
1092
|
version_requirements: !ruby/object:Gem::Requirement
|
1093
1093
|
requirements:
|
1094
1094
|
- - "~>"
|
1095
1095
|
- !ruby/object:Gem::Version
|
1096
|
-
version: 3.
|
1096
|
+
version: 3.4.0
|
1097
1097
|
- !ruby/object:Gem::Dependency
|
1098
1098
|
name: puma
|
1099
1099
|
requirement: !ruby/object:Gem::Requirement
|
@@ -2614,8 +2614,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2614
2614
|
- !ruby/object:Gem::Version
|
2615
2615
|
version: '0'
|
2616
2616
|
requirements: []
|
2617
|
-
|
2618
|
-
rubygems_version: 2.6.14.1
|
2617
|
+
rubygems_version: 3.0.3
|
2619
2618
|
signing_key:
|
2620
2619
|
specification_version: 4
|
2621
2620
|
summary: Core of the Workarea Commerce Platform
|