workarea-core 3.4.36 → 3.4.41
Sign up to get free protection for your applications and to get access to all the features.
- 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
|