spree_frontend 4.6.0 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
- - ">="
|