spree_frontend 4.6.0 → 4.7.0
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/.circleci/config.yml +13 -97
- data/.codeclimate.yml +2 -2
- data/.rubocop.yml +1 -1
- data/Gemfile +8 -9
- data/app/helpers/spree/frontend_helper.rb +2 -2
- data/app/helpers/spree/navigation_helper.rb +2 -2
- data/app/helpers/spree/taxons_helper.rb +1 -1
- data/app/services/spree/build_localized_redirect_url.rb +2 -2
- data/config/initializers/admin_actions.rb +18 -0
- data/lib/spree/frontend/version.rb +1 -1
- data/spree_frontend.gemspec +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 66ee07c39f3973037fba8e3d5c16f5de80d7cf7152051058b7138ea98b1e0160
|
|
4
|
+
data.tar.gz: 8413f7984b0dca8fbc785c36d958bf409d7d635dadf997861ed3db8c2f9949c2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4276034e9e0892d040c79e0ddbb31753c926d0e1d2d7a7f43a378d23224e2418ec41480b95be79ac84bce9da899b2f6951a7dabbdfdf367b430464084230363c
|
|
7
|
+
data.tar.gz: 67a583cbbf0c984f0b297b4a258a3391bcef391a54683fa5b7c4bbaaeab5897b37a837e655cba233cfa4835315b908402e5e18fcb6b3371e19bdcd39204f20a3
|
data/.circleci/config.yml
CHANGED
|
@@ -7,59 +7,14 @@ defaults: &defaults
|
|
|
7
7
|
BUNDLE_JOBS: 4
|
|
8
8
|
BUNDLE_RETRY: 3
|
|
9
9
|
BUNDLE_PATH: ~/spree/vendor/bundle
|
|
10
|
-
RAILS_VERSION: '~> 7.0'
|
|
10
|
+
RAILS_VERSION: '~> 7.1.0'
|
|
11
11
|
working_directory: ~/spree
|
|
12
|
-
docker:
|
|
13
|
-
- image: &ruby_2_7_image circleci/ruby:2.7-node-browsers
|
|
14
|
-
- image: &redis_image circleci/redis:6.2-alpine
|
|
15
|
-
|
|
16
|
-
defaults_3_2: &defaults_3_2
|
|
17
|
-
<<: *defaults
|
|
18
12
|
docker:
|
|
19
13
|
- image: &ruby_3_2_image circleci/ruby:3.0-node-browsers
|
|
20
|
-
- image:
|
|
21
|
-
|
|
22
|
-
run_tests_2_7: &run_tests_2_7
|
|
23
|
-
<<: *defaults
|
|
24
|
-
parallelism: 8
|
|
25
|
-
steps:
|
|
26
|
-
- checkout
|
|
27
|
-
- restore_cache:
|
|
28
|
-
keys:
|
|
29
|
-
- spree-storefront-old-bundle-v10-ruby-2-7-{{ .Branch }}
|
|
30
|
-
- spree-storefront-old-bundle-v10-ruby-2-7
|
|
31
|
-
- run:
|
|
32
|
-
name: Add keyserver
|
|
33
|
-
command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
|
|
34
|
-
- run:
|
|
35
|
-
name: Install libvips
|
|
36
|
-
command: sudo apt-get update && sudo apt-get install libvips
|
|
37
|
-
- run:
|
|
38
|
-
name: Set bundle path
|
|
39
|
-
command: bundle config --local path vendor/bundle
|
|
40
|
-
- run:
|
|
41
|
-
name: Ensure bundle Install
|
|
42
|
-
command: |
|
|
43
|
-
bundle check || bundle install
|
|
44
|
-
- run:
|
|
45
|
-
name: Create test app
|
|
46
|
-
command: |
|
|
47
|
-
bundle exec rake test_app
|
|
48
|
-
- run:
|
|
49
|
-
name: Run Rspec
|
|
50
|
-
command: |
|
|
51
|
-
TESTFILES=$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
|
|
52
|
-
bundle exec rspec --format documentation \
|
|
53
|
-
--format RspecJunitFormatter \
|
|
54
|
-
-o ~/rspec/rspec.xml \
|
|
55
|
-
-- ${TESTFILES}
|
|
56
|
-
- store_test_results:
|
|
57
|
-
path: ~/rspec
|
|
58
|
-
- store_artifacts:
|
|
59
|
-
path: tmp/capybara
|
|
14
|
+
- image: &redis_image circleci/redis:6.2-alpine
|
|
60
15
|
|
|
61
16
|
run_tests_3_2: &run_tests_3_2
|
|
62
|
-
<<: *
|
|
17
|
+
<<: *defaults
|
|
63
18
|
parallelism: 8
|
|
64
19
|
steps:
|
|
65
20
|
- checkout
|
|
@@ -98,34 +53,8 @@ run_tests_3_2: &run_tests_3_2
|
|
|
98
53
|
path: tmp/capybara
|
|
99
54
|
|
|
100
55
|
jobs:
|
|
101
|
-
bundle_ruby_2_7:
|
|
102
|
-
<<: *defaults
|
|
103
|
-
steps:
|
|
104
|
-
- checkout
|
|
105
|
-
- restore_cache:
|
|
106
|
-
keys:
|
|
107
|
-
- spree-storefront-old-bundle-v10-ruby-2-7-{{ .Branch }}
|
|
108
|
-
- spree-storefront-old-bundle-v10-ruby-2-7
|
|
109
|
-
- run:
|
|
110
|
-
name: Add keyserver
|
|
111
|
-
command: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
|
|
112
|
-
- run:
|
|
113
|
-
name: Install libvips
|
|
114
|
-
command: sudo apt-get update && sudo apt-get install libvips
|
|
115
|
-
- run:
|
|
116
|
-
name: Set bundle path
|
|
117
|
-
command: bundle config --local path vendor/bundle
|
|
118
|
-
- run:
|
|
119
|
-
name: Bundle Install
|
|
120
|
-
command: |
|
|
121
|
-
bundle check || bundle install
|
|
122
|
-
- save_cache:
|
|
123
|
-
paths:
|
|
124
|
-
- vendor/bundle
|
|
125
|
-
key: spree-storefront-old-bundle-v10-ruby-2-7-{{ checksum "Gemfile.lock" }}
|
|
126
|
-
|
|
127
56
|
bundle_ruby_3_2:
|
|
128
|
-
<<: *
|
|
57
|
+
<<: *defaults
|
|
129
58
|
steps:
|
|
130
59
|
- checkout
|
|
131
60
|
- restore_cache:
|
|
@@ -150,31 +79,22 @@ jobs:
|
|
|
150
79
|
- vendor/bundle
|
|
151
80
|
key: spree-storefront-old-bundle-v10-ruby-3-2-{{ checksum "Gemfile.lock" }}
|
|
152
81
|
|
|
153
|
-
|
|
154
|
-
<<: *
|
|
82
|
+
tests_ruby_3_2_rails_7_1_postgres:
|
|
83
|
+
<<: *run_tests_3_2
|
|
155
84
|
environment: &postgres_environment
|
|
156
85
|
<<: *environment
|
|
157
86
|
DB: postgres
|
|
158
87
|
DB_HOST: localhost
|
|
159
88
|
DB_USERNAME: postgres
|
|
160
89
|
docker:
|
|
161
|
-
- image: *
|
|
162
|
-
- image: *redis_image
|
|
90
|
+
- image: *ruby_3_2_image
|
|
163
91
|
- image: &postgres_image circleci/postgres:12-alpine
|
|
164
92
|
environment:
|
|
165
93
|
POSTGRES_USER: postgres
|
|
166
|
-
|
|
167
|
-
tests_ruby_3_2_rails_7_0_postgres:
|
|
168
|
-
<<: *run_tests_3_2
|
|
169
|
-
environment:
|
|
170
|
-
<<: *postgres_environment
|
|
171
|
-
docker:
|
|
172
|
-
- image: *ruby_3_2_image
|
|
173
|
-
- image: *postgres_image
|
|
174
94
|
- image: *redis_image
|
|
175
95
|
|
|
176
|
-
|
|
177
|
-
<<: *
|
|
96
|
+
tests_ruby_3_2_rails_7_1_mysql:
|
|
97
|
+
<<: *run_tests_3_2
|
|
178
98
|
environment: &mysql_environment
|
|
179
99
|
<<: *environment
|
|
180
100
|
DB: mysql
|
|
@@ -183,7 +103,7 @@ jobs:
|
|
|
183
103
|
COVERAGE: true
|
|
184
104
|
COVERAGE_DIR: /tmp/workspace/simplecov
|
|
185
105
|
docker:
|
|
186
|
-
- image: *
|
|
106
|
+
- image: *ruby_3_2_image
|
|
187
107
|
- image: *redis_image
|
|
188
108
|
- image: &mysql_image circleci/mysql:8-ram
|
|
189
109
|
|
|
@@ -191,14 +111,10 @@ workflows:
|
|
|
191
111
|
version: 2
|
|
192
112
|
main:
|
|
193
113
|
jobs:
|
|
194
|
-
- bundle_ruby_2_7
|
|
195
114
|
- bundle_ruby_3_2
|
|
196
|
-
-
|
|
115
|
+
- tests_ruby_3_2_rails_7_1_postgres:
|
|
197
116
|
requires:
|
|
198
117
|
- bundle_ruby_3_2
|
|
199
|
-
-
|
|
118
|
+
- tests_ruby_3_2_rails_7_1_mysql:
|
|
200
119
|
requires:
|
|
201
|
-
-
|
|
202
|
-
- tests_ruby_2_7_rails_7_0_mysql:
|
|
203
|
-
requires:
|
|
204
|
-
- bundle_ruby_2_7
|
|
120
|
+
- bundle_ruby_3_2
|
data/.codeclimate.yml
CHANGED
|
@@ -15,8 +15,8 @@ plugins:
|
|
|
15
15
|
enabled: false
|
|
16
16
|
config:
|
|
17
17
|
file: .rubocop.yml
|
|
18
|
-
channel: "rubocop-
|
|
19
|
-
|
|
18
|
+
channel: "rubocop-1-50-3" # need to keep this value the same as rubocop version
|
|
19
|
+
# https://docs.codeclimate.com/v1.0/docs/rubocop#section-using-rubocop-s-newer-versions
|
|
20
20
|
eslint:
|
|
21
21
|
enabled: true
|
|
22
22
|
config:
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -6,7 +6,7 @@ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
|
|
|
6
6
|
actionmailer actionpack actionview activejob activemodel activerecord
|
|
7
7
|
activestorage activesupport railties
|
|
8
8
|
].each do |rails_gem|
|
|
9
|
-
gem rails_gem, ENV.fetch('RAILS_VERSION', '~> 7.
|
|
9
|
+
gem rails_gem, ENV.fetch('RAILS_VERSION', '~> 7.1.0'), require: false
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
platforms :jruby do
|
|
@@ -22,21 +22,21 @@ platforms :ruby do
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
group :test do
|
|
25
|
-
gem 'capybara'
|
|
26
|
-
gem 'capybara-screenshot'
|
|
25
|
+
gem 'capybara'
|
|
26
|
+
gem 'capybara-screenshot'
|
|
27
27
|
gem 'capybara-select-2'
|
|
28
28
|
gem 'database_cleaner', '~> 2.0'
|
|
29
29
|
gem 'email_spec'
|
|
30
30
|
gem 'factory_bot_rails', '~> 6.0'
|
|
31
31
|
gem 'multi_json'
|
|
32
|
-
gem 'rspec-activemodel-mocks'
|
|
33
|
-
gem 'rspec-rails'
|
|
32
|
+
gem 'rspec-activemodel-mocks'
|
|
33
|
+
gem 'rspec-rails'
|
|
34
34
|
gem 'rspec-retry'
|
|
35
35
|
gem 'rspec_junit_formatter'
|
|
36
36
|
gem 'rswag-specs'
|
|
37
37
|
gem 'jsonapi-rspec'
|
|
38
38
|
gem 'simplecov', '0.17.1'
|
|
39
|
-
gem 'webmock'
|
|
39
|
+
gem 'webmock'
|
|
40
40
|
gem 'timecop'
|
|
41
41
|
gem 'rails-controller-testing'
|
|
42
42
|
end
|
|
@@ -48,9 +48,8 @@ group :test, :development do
|
|
|
48
48
|
gem 'rubocop', '~> 1.22.3', require: false # bumped
|
|
49
49
|
gem 'rubocop-rspec', require: false
|
|
50
50
|
gem 'pry-byebug'
|
|
51
|
-
gem 'webdrivers'
|
|
52
|
-
|
|
53
|
-
gem 'puma', '< 6.0'
|
|
51
|
+
gem 'webdrivers'
|
|
52
|
+
gem 'puma'
|
|
54
53
|
gem 'ffaker'
|
|
55
54
|
end
|
|
56
55
|
|
|
@@ -18,7 +18,7 @@ module Spree
|
|
|
18
18
|
image_path ||= if logo_attachment&.attached? && logo_attachment&.variable?
|
|
19
19
|
main_app.cdn_image_url(logo_attachment.variant(resize: '244x104>'))
|
|
20
20
|
elsif logo_attachment&.attached? && logo_attachment&.image?
|
|
21
|
-
main_app.cdn_image_url(
|
|
21
|
+
main_app.cdn_image_url(logo_attachment)
|
|
22
22
|
else
|
|
23
23
|
asset_path('logo/spree_50.png')
|
|
24
24
|
end
|
|
@@ -251,7 +251,7 @@ module Spree
|
|
|
251
251
|
end
|
|
252
252
|
|
|
253
253
|
def price_filter_values
|
|
254
|
-
|
|
254
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
|
255
255
|
`FrontendHelper#price_filter_values` is deprecated and will be removed in Spree 5.0.
|
|
256
256
|
Please use `ProductsFiltersHelper#price_filters` method
|
|
257
257
|
DEPRECATION
|
|
@@ -3,7 +3,7 @@ require 'digest'
|
|
|
3
3
|
module Spree
|
|
4
4
|
module NavigationHelper
|
|
5
5
|
def spree_navigation_data
|
|
6
|
-
|
|
6
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
|
7
7
|
NavigationHelper#spree_navigation_data is deprecated and will be removed in Spree 5.0.
|
|
8
8
|
Please migrate to the new navigation cms system.
|
|
9
9
|
DEPRECATION
|
|
@@ -20,7 +20,7 @@ module Spree
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def spree_nav_cache_key(section = 'header')
|
|
23
|
-
|
|
23
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
|
24
24
|
NavigationHelper#spree_nav_cache_key is deprecated and will be removed in Spree 5.0.
|
|
25
25
|
Please migrate to the new navigation cms system.
|
|
26
26
|
DEPRECATION
|
|
@@ -4,7 +4,7 @@ module Spree
|
|
|
4
4
|
# that we can use configurations as well as make it easier for end users to override this determination. One idea is
|
|
5
5
|
# to show the most popular products for a particular taxon (that is an exercise left to the developer.)
|
|
6
6
|
def taxon_preview(taxon, max = 4)
|
|
7
|
-
|
|
7
|
+
Spree::Deprecation.warn(<<-DEPRECATION, caller)
|
|
8
8
|
TaxonsHelper is deprecated and will be removed in Spree 5.0.
|
|
9
9
|
Please remove any `helper 'spree/taxons'` from your controllers.
|
|
10
10
|
DEPRECATION
|
|
@@ -118,14 +118,14 @@ module Spree
|
|
|
118
118
|
Mobility.with_locale(default_locale) { Spree::Product.friendly.find(product_path_match[1]) }
|
|
119
119
|
end
|
|
120
120
|
|
|
121
|
-
new_slug =
|
|
121
|
+
new_slug = product.slug(locale: locale) || product.slug(locale: default_locale)
|
|
122
122
|
new_path_slug = "/products/#{new_slug}"
|
|
123
123
|
default_locale_supplied ? new_path_slug : "/#{locale}/#{new_path_slug}"
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
def generate_taxon_path(taxon_path_match, previous_locale, locale, default_locale, default_locale_supplied)
|
|
127
127
|
taxon = Mobility.with_locale(previous_locale) { Spree::Taxon.friendly.find(taxon_path_match[1]) }
|
|
128
|
-
new_slug =
|
|
128
|
+
new_slug = taxon.permalink(locale: locale) || taxon.permalink(locale: default_locale)
|
|
129
129
|
new_path_slug = "/t/#{new_slug}"
|
|
130
130
|
default_locale_supplied ? new_path_slug : "/#{locale}/#{new_path_slug}"
|
|
131
131
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Rails.application.config.after_initialize do
|
|
2
|
+
if Spree::Core::Engine.backend_available?
|
|
3
|
+
action = ::Spree::Admin::Actions::ActionBuilder.new('preview', ->(resource) { "/products/#{resource.slug}" }).
|
|
4
|
+
with_icon_key('view.svg').
|
|
5
|
+
with_label_translation_key('admin.utilities.preview').
|
|
6
|
+
with_id('adminPreviewProduct').
|
|
7
|
+
with_target(:blank).
|
|
8
|
+
with_data_attributes({ turbo: false }).
|
|
9
|
+
build
|
|
10
|
+
|
|
11
|
+
Rails.application.config.spree_backend.actions[:product].add(action)
|
|
12
|
+
Rails.application.config.spree_backend.actions[:images].add(action)
|
|
13
|
+
Rails.application.config.spree_backend.actions[:variants].add(action)
|
|
14
|
+
Rails.application.config.spree_backend.actions[:prices].add(action)
|
|
15
|
+
Rails.application.config.spree_backend.actions[:stock].add(action)
|
|
16
|
+
Rails.application.config.spree_backend.actions[:product_properties].add(action)
|
|
17
|
+
end
|
|
18
|
+
end
|
data/spree_frontend.gemspec
CHANGED
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
|
19
19
|
"source_code_uri" => "https://github.com/spree/spree/tree/v#{s.version}",
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
s.required_ruby_version = '>=
|
|
22
|
+
s.required_ruby_version = '>= 3.0'
|
|
23
23
|
|
|
24
24
|
s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
|
|
25
25
|
s.require_path = 'lib'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_frontend
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2023-
|
|
12
|
+
date: 2023-11-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: spree_api
|
|
@@ -17,28 +17,28 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: 4.
|
|
20
|
+
version: 4.7.0
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
25
|
- - ">="
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version: 4.
|
|
27
|
+
version: 4.7.0
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: spree_core
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - ">="
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: 4.
|
|
34
|
+
version: 4.7.0
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: 4.
|
|
41
|
+
version: 4.7.0
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: babel-transpiler
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -601,6 +601,7 @@ files:
|
|
|
601
601
|
- app/views/spree/users/_address_controls.html.erb
|
|
602
602
|
- app/views/spree/users/edit.html.erb
|
|
603
603
|
- app/views/spree/users/show.html.erb
|
|
604
|
+
- config/initializers/admin_actions.rb
|
|
604
605
|
- config/initializers/assets.rb
|
|
605
606
|
- config/initializers/canonical_rails.rb
|
|
606
607
|
- config/routes.rb
|
|
@@ -632,9 +633,9 @@ licenses:
|
|
|
632
633
|
- BSD-3-Clause
|
|
633
634
|
metadata:
|
|
634
635
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
635
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v4.
|
|
636
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v4.7.0
|
|
636
637
|
documentation_uri: https://dev-docs.spreecommerce.org/
|
|
637
|
-
source_code_uri: https://github.com/spree/spree/tree/v4.
|
|
638
|
+
source_code_uri: https://github.com/spree/spree/tree/v4.7.0
|
|
638
639
|
post_install_message:
|
|
639
640
|
rdoc_options: []
|
|
640
641
|
require_paths:
|
|
@@ -643,7 +644,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
643
644
|
requirements:
|
|
644
645
|
- - ">="
|
|
645
646
|
- !ruby/object:Gem::Version
|
|
646
|
-
version: '
|
|
647
|
+
version: '3.0'
|
|
647
648
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
648
649
|
requirements:
|
|
649
650
|
- - ">="
|