spree_core 4.6.1 → 4.6.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e5c1992fb7f20f237e3d088cc7c0c79692efb72eaec1e654069ee5b8aeeb846
4
- data.tar.gz: 7dd674422290e6570f1b8bb116bd541cac61cbb403402a5996d829b304dac604
3
+ metadata.gz: cfc76e7ab1af8b397215184841f2d4303ee2407111799e9c5c5b042fac17898b
4
+ data.tar.gz: b1da196aebc88f74e6c17dea7e4df41fc56c68797e8691dfa8ab2a968fd5143b
5
5
  SHA512:
6
- metadata.gz: 586c58de60df801c9f4e54983a929f8c507cb8b05c8161ff3f82bc0780a3a64ee33cc42d1ffa01dbea9ed7dce9dda4ced801ba0298b326e255d38314d1286539
7
- data.tar.gz: 1aeebb1b70bd971a5589f265903a00cd9d6d3c38843968668000d7bf5277832280a2f3b6d7774d73845f2d45f72166873bfc01c493171f0bce973c4cc374c458
6
+ metadata.gz: 70240708a3c284ea4c4ef0894be9f3ec90b3665882e6d492c1d682373250c3e186bb0b32c81bfde362cdfe75e146afb27bfbd49d1b6722c28037e9e5507dc31a
7
+ data.tar.gz: a612ea4fce2402684bdda0d6da721406b63161659f41827e8e9e05d42b1f899ac248d4b5e12ee5bbf8ca204a17c13c310787677cc7d0c41e87acd225d83e5ac6
@@ -42,9 +42,25 @@ module Spree
42
42
  translates(*TRANSLATABLE_FIELDS)
43
43
 
44
44
  self::Translation.class_eval do
45
+ before_save :set_slug
45
46
  acts_as_paranoid
46
47
  # deleted translation values also need to be accessible for index views listing deleted resources
47
48
  default_scope { unscope(where: :deleted_at) }
49
+ def set_slug
50
+ self.slug = generate_slug
51
+ end
52
+
53
+ private
54
+
55
+ def generate_slug
56
+ if name.blank? && slug.blank?
57
+ translated_model.name.to_url
58
+ elsif slug.blank?
59
+ name.to_url
60
+ else
61
+ slug.to_url
62
+ end
63
+ end
48
64
  end
49
65
 
50
66
  friendly_id :slug_candidates, use: [:history, :mobility]
@@ -62,19 +62,40 @@ module Spree
62
62
 
63
63
  self::Translation.class_eval do
64
64
  alias_attribute :slug, :permalink
65
-
66
- before_create :set_permalink
65
+ before_save :set_permalink
67
66
 
68
67
  def set_permalink
69
- parent = translated_model.parent
70
- name_with_fallback = name || translated_model.name
68
+ self.permalink = generate_slug
69
+ end
70
+
71
+ private
71
72
 
73
+ def generate_slug
72
74
  if parent.present?
73
- self.permalink = [parent.permalink, (permalink.blank? ? name_with_fallback.to_url : permalink.split('/').last)].join('/')
75
+ generate_permalink_including_parent
76
+ elsif permalink.blank?
77
+ name_with_fallback.to_url
74
78
  else
75
- self.permalink = name_with_fallback.to_url if permalink.blank?
79
+ permalink.to_url
76
80
  end
77
81
  end
82
+
83
+ def generate_permalink_including_parent
84
+ [parent_permalink_with_fallback, (permalink.blank? ? name_with_fallback.to_url : permalink.split('/').last.to_url)].join('/')
85
+ end
86
+
87
+ def name_with_fallback
88
+ name.blank? ? translated_model.name : name
89
+ end
90
+
91
+ def parent
92
+ translated_model.parent
93
+ end
94
+
95
+ def parent_permalink_with_fallback
96
+ localized_parent = parent.translations.find_by(locale: locale)
97
+ localized_parent.present? ? localized_parent.permalink : parent.permalink
98
+ end
78
99
  end
79
100
 
80
101
  # indicate which filters should be used for a taxon
@@ -26,7 +26,10 @@ module Spree
26
26
 
27
27
  def duplicate_product
28
28
  product.dup.tap do |new_product|
29
- product.translations.each { |t| new_product.send(:name=, "COPY OF #{t.name}", locale: t.locale) }
29
+ new_product.translations.each do |t|
30
+ t.name = "COPY OF #{t.name}"
31
+ t.slug = nil
32
+ end
30
33
  new_product.taxons = product.taxons
31
34
  new_product.stores = product.stores
32
35
  new_product.created_at = nil
@@ -1,5 +1,5 @@
1
1
  module Spree
2
- VERSION = '4.6.1'.freeze
2
+ VERSION = '4.6.3'.freeze
3
3
 
4
4
  def self.version
5
5
  VERSION
@@ -13,6 +13,8 @@ FactoryBot.define do
13
13
  twitter { 'spreecommerce' }
14
14
  instagram { 'spreecommerce' }
15
15
  meta_description { 'Sample store description.' }
16
+ digital_asset_authorized_clicks { 5 }
17
+ digital_asset_authorized_days { 7 }
16
18
 
17
19
  trait :with_favicon do
18
20
  transient do
data/spree_core.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  actionpack actionview activejob activemodel activerecord
31
31
  activestorage activesupport railties
32
32
  ].each do |rails_gem|
33
- s.add_dependency rails_gem, '>= 6.1'
33
+ s.add_dependency rails_gem, '>= 6.1', '< 7.1'
34
34
  end
35
35
 
36
36
  s.add_dependency 'activemerchant', '~> 1.67'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.1
4
+ version: 4.6.3
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-07-24 00:00:00.000000000 Z
12
+ date: 2023-11-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -18,6 +18,9 @@ dependencies:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '6.1'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '7.1'
21
24
  type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -25,6 +28,9 @@ dependencies:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
27
30
  version: '6.1'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '7.1'
28
34
  - !ruby/object:Gem::Dependency
29
35
  name: actionview
30
36
  requirement: !ruby/object:Gem::Requirement
@@ -32,6 +38,9 @@ dependencies:
32
38
  - - ">="
33
39
  - !ruby/object:Gem::Version
34
40
  version: '6.1'
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '7.1'
35
44
  type: :runtime
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -39,6 +48,9 @@ dependencies:
39
48
  - - ">="
40
49
  - !ruby/object:Gem::Version
41
50
  version: '6.1'
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '7.1'
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: activejob
44
56
  requirement: !ruby/object:Gem::Requirement
@@ -46,6 +58,9 @@ dependencies:
46
58
  - - ">="
47
59
  - !ruby/object:Gem::Version
48
60
  version: '6.1'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '7.1'
49
64
  type: :runtime
50
65
  prerelease: false
51
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -53,6 +68,9 @@ dependencies:
53
68
  - - ">="
54
69
  - !ruby/object:Gem::Version
55
70
  version: '6.1'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '7.1'
56
74
  - !ruby/object:Gem::Dependency
57
75
  name: activemodel
58
76
  requirement: !ruby/object:Gem::Requirement
@@ -60,6 +78,9 @@ dependencies:
60
78
  - - ">="
61
79
  - !ruby/object:Gem::Version
62
80
  version: '6.1'
81
+ - - "<"
82
+ - !ruby/object:Gem::Version
83
+ version: '7.1'
63
84
  type: :runtime
64
85
  prerelease: false
65
86
  version_requirements: !ruby/object:Gem::Requirement
@@ -67,6 +88,9 @@ dependencies:
67
88
  - - ">="
68
89
  - !ruby/object:Gem::Version
69
90
  version: '6.1'
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '7.1'
70
94
  - !ruby/object:Gem::Dependency
71
95
  name: activerecord
72
96
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +98,9 @@ dependencies:
74
98
  - - ">="
75
99
  - !ruby/object:Gem::Version
76
100
  version: '6.1'
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '7.1'
77
104
  type: :runtime
78
105
  prerelease: false
79
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -81,6 +108,9 @@ dependencies:
81
108
  - - ">="
82
109
  - !ruby/object:Gem::Version
83
110
  version: '6.1'
111
+ - - "<"
112
+ - !ruby/object:Gem::Version
113
+ version: '7.1'
84
114
  - !ruby/object:Gem::Dependency
85
115
  name: activestorage
86
116
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +118,9 @@ dependencies:
88
118
  - - ">="
89
119
  - !ruby/object:Gem::Version
90
120
  version: '6.1'
121
+ - - "<"
122
+ - !ruby/object:Gem::Version
123
+ version: '7.1'
91
124
  type: :runtime
92
125
  prerelease: false
93
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -95,6 +128,9 @@ dependencies:
95
128
  - - ">="
96
129
  - !ruby/object:Gem::Version
97
130
  version: '6.1'
131
+ - - "<"
132
+ - !ruby/object:Gem::Version
133
+ version: '7.1'
98
134
  - !ruby/object:Gem::Dependency
99
135
  name: activesupport
100
136
  requirement: !ruby/object:Gem::Requirement
@@ -102,6 +138,9 @@ dependencies:
102
138
  - - ">="
103
139
  - !ruby/object:Gem::Version
104
140
  version: '6.1'
141
+ - - "<"
142
+ - !ruby/object:Gem::Version
143
+ version: '7.1'
105
144
  type: :runtime
106
145
  prerelease: false
107
146
  version_requirements: !ruby/object:Gem::Requirement
@@ -109,6 +148,9 @@ dependencies:
109
148
  - - ">="
110
149
  - !ruby/object:Gem::Version
111
150
  version: '6.1'
151
+ - - "<"
152
+ - !ruby/object:Gem::Version
153
+ version: '7.1'
112
154
  - !ruby/object:Gem::Dependency
113
155
  name: railties
114
156
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +158,9 @@ dependencies:
116
158
  - - ">="
117
159
  - !ruby/object:Gem::Version
118
160
  version: '6.1'
161
+ - - "<"
162
+ - !ruby/object:Gem::Version
163
+ version: '7.1'
119
164
  type: :runtime
120
165
  prerelease: false
121
166
  version_requirements: !ruby/object:Gem::Requirement
@@ -123,6 +168,9 @@ dependencies:
123
168
  - - ">="
124
169
  - !ruby/object:Gem::Version
125
170
  version: '6.1'
171
+ - - "<"
172
+ - !ruby/object:Gem::Version
173
+ version: '7.1'
126
174
  - !ruby/object:Gem::Dependency
127
175
  name: activemerchant
128
176
  requirement: !ruby/object:Gem::Requirement
@@ -1079,9 +1127,9 @@ licenses:
1079
1127
  - BSD-3-Clause
1080
1128
  metadata:
1081
1129
  bug_tracker_uri: https://github.com/spree/spree/issues
1082
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.6.1
1130
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.6.3
1083
1131
  documentation_uri: https://dev-docs.spreecommerce.org/
1084
- source_code_uri: https://github.com/spree/spree/tree/v4.6.1
1132
+ source_code_uri: https://github.com/spree/spree/tree/v4.6.3
1085
1133
  post_install_message:
1086
1134
  rdoc_options: []
1087
1135
  require_paths: