spree_core 4.6.1 → 4.6.3

Sign up to get free protection for your applications and to get access to all the features.
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: