solidus_core 3.0.8 → 3.1.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.
Potentially problematic release.
This version of solidus_core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/helpers/spree/base_helper.rb +1 -1
- data/app/helpers/spree/products_helper.rb +1 -1
- data/app/models/concerns/spree/active_storage_adapter/attachment.rb +2 -4
- data/app/models/concerns/spree/default_price.rb +63 -10
- data/app/models/concerns/spree/user_methods.rb +1 -20
- data/app/models/spree/adjustment.rb +6 -5
- data/app/models/spree/customer_return.rb +3 -2
- data/app/models/spree/image/active_storage_attachment.rb +2 -7
- data/app/models/spree/image/paperclip_attachment.rb +2 -2
- data/app/models/spree/line_item.rb +2 -2
- data/app/models/spree/log_entry.rb +1 -74
- data/app/models/spree/order.rb +10 -5
- data/app/models/spree/order_shipping.rb +9 -6
- data/app/models/spree/price.rb +2 -2
- data/app/models/spree/product/scopes.rb +5 -5
- data/app/models/spree/product.rb +12 -1
- data/app/models/spree/promotion/rules/item_total.rb +50 -6
- data/app/models/spree/promotion.rb +2 -2
- data/app/models/spree/promotion_code.rb +3 -3
- data/app/models/spree/refund.rb +0 -8
- data/app/models/spree/shipping_rate_tax.rb +1 -1
- data/app/models/spree/stock/availability.rb +11 -3
- data/app/models/spree/stock/simple_coordinator.rb +0 -10
- data/app/models/spree/stock_location.rb +1 -1
- data/app/models/spree/store_credit.rb +6 -9
- data/app/models/spree/tax_calculator/shipping_rate.rb +1 -1
- data/app/models/spree/taxon/active_storage_attachment.rb +2 -2
- data/app/models/spree/taxon/paperclip_attachment.rb +3 -3
- data/app/models/spree/variant/price_selector.rb +16 -3
- data/app/models/spree/variant.rb +26 -16
- data/config/locales/en.yml +2 -249
- data/db/migrate/20210312061050_change_column_null_on_prices.rb +7 -0
- data/lib/generators/solidus/install/install_generator.rb +2 -3
- data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -1
- data/lib/generators/solidus/update/templates/config/initializers/new_solidus_defaults.rb.tt +30 -0
- data/lib/generators/solidus/update/update_generator.rb +112 -0
- data/lib/generators/spree/dummy/templates/rails/application.rb.tt +0 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +78 -35
- data/lib/spree/app_configuration.rb +64 -19
- data/lib/spree/core/engine.rb +7 -22
- data/lib/spree/core/product_filters.rb +1 -1
- data/lib/spree/core/search/base.rb +1 -1
- data/lib/spree/core/state_machines/order.rb +1 -1
- data/lib/spree/core/validators/email.rb +1 -1
- data/lib/spree/core/version.rb +5 -1
- data/lib/spree/core/versioned_value.rb +75 -0
- data/lib/spree/core.rb +17 -0
- data/lib/spree/permitted_attributes.rb +1 -1
- data/lib/spree/preferences/configuration.rb +62 -0
- data/lib/spree/preferences/preferable.rb +8 -0
- data/lib/spree/preferences/preferable_class_methods.rb +5 -3
- data/lib/spree/preferences/preference_differentiator.rb +28 -0
- data/lib/spree/testing_support/blacklist_urls.rb +1 -1
- data/lib/spree/testing_support/dummy_app/database.yml +42 -22
- data/lib/spree/testing_support/dummy_app.rb +33 -19
- data/lib/spree/testing_support/factories/user_factory.rb +0 -6
- data/lib/tasks/solidus/delete_prices_with_nil_amount.rake +8 -0
- data/solidus_core.gemspec +0 -1
- metadata +9 -26
- data/app/models/spree/tax/shipping_rate_taxer.rb +0 -24
- data/lib/tasks/solidus/check_orders_with_invalid_email.rake +0 -18
- data/lib/tasks/upgrade.rake +0 -15
@@ -19,7 +19,7 @@ module Spree
|
|
19
19
|
# Get the on_hand stock quantities
|
20
20
|
# @return [Hash<Integer=>Spree::StockQuantities>] A map of stock_location_ids to the stock quantities available in that location
|
21
21
|
def on_hand_by_stock_location_id
|
22
|
-
counts_on_hand.to_a.group_by do |(_, stock_location_id), _|
|
22
|
+
quantities_by_location_id = counts_on_hand.to_a.group_by do |(_, stock_location_id), _|
|
23
23
|
stock_location_id
|
24
24
|
end.transform_values do |values|
|
25
25
|
Spree::StockQuantities.new(
|
@@ -31,12 +31,13 @@ module Spree
|
|
31
31
|
end.to_h
|
32
32
|
)
|
33
33
|
end
|
34
|
+
restore_location_order(quantities_by_location_id)
|
34
35
|
end
|
35
36
|
|
36
|
-
# Get the
|
37
|
+
# Get the backorderable stock quantities
|
37
38
|
# @return [Hash<Integer=>Spree::StockQuantities>] A map of stock_location_ids to the stock quantities available in that location
|
38
39
|
def backorderable_by_stock_location_id
|
39
|
-
backorderables.group_by(&:second).transform_values do |variant_ids|
|
40
|
+
quantities_by_location_id = backorderables.group_by(&:second).transform_values do |variant_ids|
|
40
41
|
Spree::StockQuantities.new(
|
41
42
|
variant_ids.map do |variant_id, _|
|
42
43
|
variant = @variant_map[variant_id]
|
@@ -44,6 +45,7 @@ module Spree
|
|
44
45
|
end.to_h
|
45
46
|
)
|
46
47
|
end
|
48
|
+
restore_location_order(quantities_by_location_id)
|
47
49
|
end
|
48
50
|
|
49
51
|
private
|
@@ -67,6 +69,12 @@ module Spree
|
|
67
69
|
where(variant_id: @variants).
|
68
70
|
where(stock_location_id: @stock_locations)
|
69
71
|
end
|
72
|
+
|
73
|
+
def restore_location_order(quantities_by_location_id)
|
74
|
+
sorted_location_ids = @stock_locations.map(&:id)
|
75
|
+
|
76
|
+
quantities_by_location_id.sort_by { |key, _value| sorted_location_ids.index(key) }.to_h
|
77
|
+
end
|
70
78
|
end
|
71
79
|
end
|
72
80
|
end
|
@@ -92,16 +92,6 @@ module Spree
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
-
def sort_availability(availability)
|
96
|
-
sorted_availability = availability.sort_by do |stock_location_id, _|
|
97
|
-
@stock_locations.find_index do |stock_location|
|
98
|
-
stock_location.id == stock_location_id
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
Hash[sorted_availability]
|
103
|
-
end
|
104
|
-
|
105
95
|
def get_units(quantities)
|
106
96
|
# Change our raw quantities back into inventory units
|
107
97
|
quantities.flat_map do |variant, quantity|
|
@@ -26,7 +26,7 @@ module Spree
|
|
26
26
|
validates_uniqueness_of :code, allow_blank: true, case_sensitive: false
|
27
27
|
|
28
28
|
scope :active, -> { where(active: true) }
|
29
|
-
scope :order_default, -> { order(default: :desc,
|
29
|
+
scope :order_default, -> { order(default: :desc, position: :asc) }
|
30
30
|
|
31
31
|
after_create :create_stock_items, if: :propagate_all_variants?
|
32
32
|
after_save :ensure_one_default
|
@@ -40,14 +40,6 @@ class Spree::StoreCredit < Spree::PaymentSource
|
|
40
40
|
extend Spree::DisplayMoney
|
41
41
|
money_methods :amount, :amount_used, :amount_authorized
|
42
42
|
|
43
|
-
# Sets this store credit's amount to a new value,
|
44
|
-
# parsing it as a localized number if the new value is a string.
|
45
|
-
#
|
46
|
-
# @param number [String, #to_d] a new amount
|
47
|
-
def amount=(number)
|
48
|
-
self[:amount] = Spree::LocalizedNumber.parse(number)
|
49
|
-
end
|
50
|
-
|
51
43
|
def amount_remaining
|
52
44
|
return 0.0.to_d if invalidated?
|
53
45
|
amount - amount_used - amount_authorized
|
@@ -158,7 +150,12 @@ class Spree::StoreCredit < Spree::PaymentSource
|
|
158
150
|
end
|
159
151
|
|
160
152
|
def generate_authorization_code
|
161
|
-
|
153
|
+
[
|
154
|
+
id,
|
155
|
+
'SC',
|
156
|
+
Time.current.utc.strftime('%Y%m%d%H%M%S%6N'),
|
157
|
+
SecureRandom.uuid
|
158
|
+
].join('-')
|
162
159
|
end
|
163
160
|
|
164
161
|
def editable?
|
@@ -6,8 +6,8 @@ module Spree::Taxon::ActiveStorageAttachment
|
|
6
6
|
|
7
7
|
included do
|
8
8
|
has_attachment :icon,
|
9
|
-
styles:
|
10
|
-
default_style:
|
9
|
+
styles: Spree::Config.taxon_image_styles,
|
10
|
+
default_style: Spree::Config.taxon_image_style_default
|
11
11
|
validate :icon_is_an_image
|
12
12
|
end
|
13
13
|
end
|
@@ -5,14 +5,14 @@ module Spree::Taxon::PaperclipAttachment
|
|
5
5
|
|
6
6
|
included do
|
7
7
|
has_attached_file :icon,
|
8
|
-
styles:
|
9
|
-
default_style:
|
8
|
+
styles: Spree::Config.taxon_image_styles,
|
9
|
+
default_style: Spree::Config.taxon_image_style_default,
|
10
10
|
url: '/spree/taxons/:id/:style/:basename.:extension',
|
11
11
|
path: ':rails_root/public/spree/taxons/:id/:style/:basename.:extension',
|
12
12
|
default_url: '/assets/default_taxon.png'
|
13
13
|
|
14
14
|
validates_attachment :icon,
|
15
|
-
content_type: { content_type:
|
15
|
+
content_type: { content_type: Spree::Config.allowed_image_mime_types }
|
16
16
|
end
|
17
17
|
|
18
18
|
def icon_present?
|
@@ -26,11 +26,24 @@ module Spree
|
|
26
26
|
# @param [Spree::Variant::PricingOptions] price_options Pricing Options to abide by
|
27
27
|
# @return [Spree::Money, nil] The most specific price for this set of pricing options.
|
28
28
|
def price_for(price_options)
|
29
|
+
Spree::Deprecation.warn(
|
30
|
+
"price_for is deprecated and will be removed. The price_for method
|
31
|
+
should return a Spree::Price as described. Please use
|
32
|
+
#price_for_options and adjust your frontend code to explicitly call
|
33
|
+
&.money where required"
|
34
|
+
)
|
35
|
+
price_for_options(price_options)&.money
|
36
|
+
end
|
37
|
+
|
38
|
+
# The variant's Spree::Price record, given a set of pricing options
|
39
|
+
# @param [Spree::Variant::PricingOptions] price_options Pricing Options to abide by
|
40
|
+
# @return [Spree::Price, nil] The most specific price for this set of pricing options.
|
41
|
+
def price_for_options(price_options)
|
29
42
|
variant.currently_valid_prices.detect do |price|
|
30
|
-
(
|
31
|
-
|
43
|
+
(price.country_iso == price_options.desired_attributes[:country_iso] ||
|
44
|
+
price.country_iso.nil?
|
32
45
|
) && price.currency == price_options.desired_attributes[:currency]
|
33
|
-
end
|
46
|
+
end
|
34
47
|
end
|
35
48
|
end
|
36
49
|
end
|
data/app/models/spree/variant.rb
CHANGED
@@ -24,7 +24,6 @@ module Spree
|
|
24
24
|
stock_items.discard_all
|
25
25
|
images.destroy_all
|
26
26
|
prices.discard_all
|
27
|
-
currently_valid_prices.discard_all
|
28
27
|
end
|
29
28
|
|
30
29
|
attr_writer :rebuild_vat_prices
|
@@ -58,13 +57,6 @@ module Spree
|
|
58
57
|
inverse_of: :variant,
|
59
58
|
autosave: true
|
60
59
|
|
61
|
-
has_many :currently_valid_prices,
|
62
|
-
-> { currently_valid },
|
63
|
-
class_name: 'Spree::Price',
|
64
|
-
dependent: :destroy,
|
65
|
-
inverse_of: :variant,
|
66
|
-
autosave: true
|
67
|
-
|
68
60
|
before_validation :set_cost_currency
|
69
61
|
before_validation :set_price, if: -> { product && product.master }
|
70
62
|
before_validation :build_vat_prices, if: -> { rebuild_vat_prices? || new_record? && product }
|
@@ -276,16 +268,17 @@ module Spree
|
|
276
268
|
end
|
277
269
|
|
278
270
|
# Chooses an appropriate price for the given pricing options
|
271
|
+
# This has been deprecated in favor of #price_for_options.
|
279
272
|
#
|
280
|
-
# @see Spree::Variant::PriceSelector#
|
273
|
+
# @see Spree::Variant::PriceSelector#price_for_options
|
281
274
|
delegate :price_for, to: :price_selector
|
282
275
|
|
283
276
|
# Returns the difference in price from the master variant
|
284
277
|
def price_difference_from_master(pricing_options = Spree::Config.default_pricing_options)
|
285
|
-
master_price = product.master.
|
286
|
-
variant_price =
|
278
|
+
master_price = product.master.price_for_options(pricing_options)
|
279
|
+
variant_price = price_for_options(pricing_options)
|
287
280
|
return unless master_price && variant_price
|
288
|
-
variant_price - master_price
|
281
|
+
Spree::Money.new(variant_price.amount - master_price.amount, currency: pricing_options.currency)
|
289
282
|
end
|
290
283
|
|
291
284
|
def price_same_as_master?(pricing_options = Spree::Config.default_pricing_options)
|
@@ -293,6 +286,17 @@ module Spree
|
|
293
286
|
diff && diff.zero?
|
294
287
|
end
|
295
288
|
|
289
|
+
def price_for_options(price_options)
|
290
|
+
if price_selector.respond_to?(:price_for_options)
|
291
|
+
price_selector.price_for_options(price_options)
|
292
|
+
else
|
293
|
+
money = price_for(price_options)
|
294
|
+
return if money.nil?
|
295
|
+
|
296
|
+
Spree::Price.new(amount: money.to_d, variant: self, currency: price_options.currency)
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
296
300
|
# Generates a friendly name and sku string.
|
297
301
|
#
|
298
302
|
# @return [String]
|
@@ -315,16 +319,22 @@ module Spree
|
|
315
319
|
end
|
316
320
|
|
317
321
|
# @param quantity [Fixnum] how many are desired
|
322
|
+
# @param stock_location [Spree::StockLocation] Optionally restrict stock
|
323
|
+
# quantity check to a specific stock location. If unspecified it will
|
324
|
+
# check inventory in all available StockLocations.
|
318
325
|
# @return [Boolean] true if the desired quantity can be supplied
|
319
|
-
def can_supply?(quantity = 1)
|
320
|
-
Spree::Stock::Quantifier.new(self).can_supply?(quantity)
|
326
|
+
def can_supply?(quantity = 1, stock_location = nil)
|
327
|
+
Spree::Stock::Quantifier.new(self, stock_location).can_supply?(quantity)
|
321
328
|
end
|
322
329
|
|
323
330
|
# Fetches the on-hand quantity of the variant.
|
324
331
|
#
|
332
|
+
# @param stock_location [Spree::StockLocation] Optionally restrict stock
|
333
|
+
# quantity check to a specific stock location. If unspecified it will
|
334
|
+
# check inventory in all available StockLocations.
|
325
335
|
# @return [Fixnum] the number currently on-hand
|
326
|
-
def total_on_hand
|
327
|
-
Spree::Stock::Quantifier.new(self).total_on_hand
|
336
|
+
def total_on_hand(stock_location = nil)
|
337
|
+
Spree::Stock::Quantifier.new(self, stock_location).total_on_hand
|
328
338
|
end
|
329
339
|
|
330
340
|
# Shortcut method to determine if inventory tracking is enabled for this
|
data/config/locales/en.yml
CHANGED
@@ -1004,8 +1004,6 @@ en:
|
|
1004
1004
|
use_product_tax_category: Use Product Tax Category
|
1005
1005
|
new:
|
1006
1006
|
new_variant: New Variant
|
1007
|
-
table:
|
1008
|
-
no_variants_found: No variants found for '%{term}'
|
1009
1007
|
table_filter:
|
1010
1008
|
show_deleted: Show Deleted Variants
|
1011
1009
|
administration: Administration
|
@@ -1172,257 +1170,10 @@ en:
|
|
1172
1170
|
country_based: Country Based
|
1173
1171
|
country_name: Name
|
1174
1172
|
country_names:
|
1175
|
-
AD: Andorra
|
1176
|
-
AE: United Arab Emirates
|
1177
|
-
AF: Afghanistan
|
1178
|
-
AG: Antigua and Barbuda
|
1179
|
-
AI: Anguilla
|
1180
|
-
AL: Albania
|
1181
|
-
AM: Armenia
|
1182
|
-
AO: Angola
|
1183
|
-
AQ: Antarctica
|
1184
|
-
AR: Argentina
|
1185
|
-
AS: American Samoa
|
1186
|
-
AT: Austria
|
1187
|
-
AU: Australia
|
1188
|
-
AW: Aruba
|
1189
|
-
AX: Åland Islands
|
1190
|
-
AZ: Azerbaijan
|
1191
|
-
BA: Bosnia and Herzegovina
|
1192
|
-
BB: Barbados
|
1193
|
-
BD: Bangladesh
|
1194
|
-
BE: Belgium
|
1195
|
-
BF: Burkina Faso
|
1196
|
-
BG: Bulgaria
|
1197
|
-
BH: Bahrain
|
1198
|
-
BI: Burundi
|
1199
|
-
BJ: Benin
|
1200
|
-
BL: Saint Barthélemy
|
1201
|
-
BM: Bermuda
|
1202
|
-
BN: Brunei Darussalam
|
1203
|
-
BO: Bolivia, Plurinational State of
|
1204
|
-
BQ: Bonaire, Sint Eustatius and Saba
|
1205
|
-
BR: Brazil
|
1206
|
-
BS: Bahamas
|
1207
|
-
BT: Bhutan
|
1208
|
-
BV: Bouvet Island
|
1209
|
-
BW: Botswana
|
1210
|
-
BY: Belarus
|
1211
|
-
BZ: Belize
|
1212
1173
|
CA: Canada
|
1213
|
-
CC: Cocos (Keeling) Islands
|
1214
|
-
CD: Congo, The Democratic Republic of the
|
1215
|
-
CF: Central African Republic
|
1216
|
-
CG: Congo
|
1217
|
-
CH: Switzerland
|
1218
|
-
CI: Côte d'Ivoire
|
1219
|
-
CK: Cook Islands
|
1220
|
-
CL: Chile
|
1221
|
-
CM: Cameroon
|
1222
|
-
CN: China
|
1223
|
-
CO: Colombia
|
1224
|
-
CR: Costa Rica
|
1225
|
-
CU: Cuba
|
1226
|
-
CV: Cabo Verde
|
1227
|
-
CW: Curaçao
|
1228
|
-
CX: Christmas Island
|
1229
|
-
CY: Cyprus
|
1230
|
-
CZ: Czechia
|
1231
|
-
DE: Germany
|
1232
|
-
DJ: Djibouti
|
1233
|
-
DK: Denmark
|
1234
|
-
DM: Dominica
|
1235
|
-
DO: Dominican Republic
|
1236
|
-
DZ: Algeria
|
1237
|
-
EC: Ecuador
|
1238
|
-
EE: Estonia
|
1239
|
-
EG: Egypt
|
1240
|
-
EH: Western Sahara
|
1241
|
-
ER: Eritrea
|
1242
|
-
ES: Spain
|
1243
|
-
ET: Ethiopia
|
1244
|
-
FI: Finland
|
1245
|
-
FJ: Fiji
|
1246
|
-
FK: Falkland Islands (Malvinas)
|
1247
|
-
FM: Micronesia, Federated States of
|
1248
|
-
FO: Faroe Islands
|
1249
|
-
FR: France
|
1250
1174
|
FRA: France
|
1251
|
-
GA: Gabon
|
1252
|
-
GB: United Kingdom
|
1253
|
-
GD: Grenada
|
1254
|
-
GE: Georgia
|
1255
|
-
GF: French Guiana
|
1256
|
-
GG: Guernsey
|
1257
|
-
GH: Ghana
|
1258
|
-
GI: Gibraltar
|
1259
|
-
GL: Greenland
|
1260
|
-
GM: Gambia
|
1261
|
-
GN: Guinea
|
1262
|
-
GP: Guadeloupe
|
1263
|
-
GQ: Equatorial Guinea
|
1264
|
-
GR: Greece
|
1265
|
-
GS: South Georgia and the South Sandwich Islands
|
1266
|
-
GT: Guatemala
|
1267
|
-
GU: Guam
|
1268
|
-
GW: Guinea-Bissau
|
1269
|
-
GY: Guyana
|
1270
|
-
HK: Hong Kong
|
1271
|
-
HM: Heard Island and McDonald Islands
|
1272
|
-
HN: Honduras
|
1273
|
-
HR: Croatia
|
1274
|
-
HT: Haiti
|
1275
|
-
HU: Hungary
|
1276
|
-
ID: Indonesia
|
1277
|
-
IE: Ireland
|
1278
|
-
IL: Israel
|
1279
|
-
IM: Isle of Man
|
1280
|
-
IN: India
|
1281
|
-
IO: British Indian Ocean Territory
|
1282
|
-
IQ: Iraq
|
1283
|
-
IR: Iran, Islamic Republic of
|
1284
|
-
IS: Iceland
|
1285
|
-
IT: Italy
|
1286
1175
|
ITA: Italy
|
1287
|
-
JE: Jersey
|
1288
|
-
JM: Jamaica
|
1289
|
-
JO: Jordan
|
1290
|
-
JP: Japan
|
1291
|
-
KE: Kenya
|
1292
|
-
KG: Kyrgyzstan
|
1293
|
-
KH: Cambodia
|
1294
|
-
KI: Kiribati
|
1295
|
-
KM: Comoros
|
1296
|
-
KN: Saint Kitts and Nevis
|
1297
|
-
KP: Korea, Democratic People's Republic of
|
1298
|
-
KR: Korea, Republic of
|
1299
|
-
KW: Kuwait
|
1300
|
-
KY: Cayman Islands
|
1301
|
-
KZ: Kazakhstan
|
1302
|
-
LA: Lao People's Democratic Republic
|
1303
|
-
LB: Lebanon
|
1304
|
-
LC: Saint Lucia
|
1305
|
-
LI: Liechtenstein
|
1306
|
-
LK: Sri Lanka
|
1307
|
-
LR: Liberia
|
1308
|
-
LS: Lesotho
|
1309
|
-
LT: Lithuania
|
1310
|
-
LU: Luxembourg
|
1311
|
-
LV: Latvia
|
1312
|
-
LY: Libya
|
1313
|
-
MA: Morocco
|
1314
|
-
MC: Monaco
|
1315
|
-
MD: Moldova, Republic of
|
1316
|
-
ME: Montenegro
|
1317
|
-
MF: Saint Martin (French part)
|
1318
|
-
MG: Madagascar
|
1319
|
-
MH: Marshall Islands
|
1320
|
-
MK: North Macedonia
|
1321
|
-
ML: Mali
|
1322
|
-
MM: Myanmar
|
1323
|
-
MN: Mongolia
|
1324
|
-
MO: Macao
|
1325
|
-
MP: Northern Mariana Islands
|
1326
|
-
MQ: Martinique
|
1327
|
-
MR: Mauritania
|
1328
|
-
MS: Montserrat
|
1329
|
-
MT: Malta
|
1330
|
-
MU: Mauritius
|
1331
|
-
MV: Maldives
|
1332
|
-
MW: Malawi
|
1333
|
-
MX: Mexico
|
1334
|
-
MY: Malaysia
|
1335
|
-
MZ: Mozambique
|
1336
|
-
NA: Namibia
|
1337
|
-
NC: New Caledonia
|
1338
|
-
NE: Niger
|
1339
|
-
NF: Norfolk Island
|
1340
|
-
NG: Nigeria
|
1341
|
-
NI: Nicaragua
|
1342
|
-
NL: Netherlands
|
1343
|
-
'NO': Norway
|
1344
|
-
NP: Nepal
|
1345
|
-
NR: Nauru
|
1346
|
-
NU: Niue
|
1347
|
-
NZ: New Zealand
|
1348
|
-
OM: Oman
|
1349
|
-
PA: Panama
|
1350
|
-
PE: Peru
|
1351
|
-
PF: French Polynesia
|
1352
|
-
PG: Papua New Guinea
|
1353
|
-
PH: Philippines
|
1354
|
-
PK: Pakistan
|
1355
|
-
PL: Poland
|
1356
|
-
PM: Saint Pierre and Miquelon
|
1357
|
-
PN: Pitcairn
|
1358
|
-
PR: Puerto Rico
|
1359
|
-
PS: Palestine, State of
|
1360
|
-
PT: Portugal
|
1361
|
-
PW: Palau
|
1362
|
-
PY: Paraguay
|
1363
|
-
QA: Qatar
|
1364
|
-
RE: Réunion
|
1365
|
-
RO: Romania
|
1366
|
-
RS: Serbia
|
1367
|
-
RU: Russia
|
1368
|
-
RW: Rwanda
|
1369
|
-
SA: Saudi Arabia
|
1370
|
-
SB: Solomon Islands
|
1371
|
-
SC: Seychelles
|
1372
|
-
SD: Sudan
|
1373
|
-
SE: Sweden
|
1374
|
-
SG: Singapore
|
1375
|
-
SH: Saint Helena, Ascension and Tristan da Cunha
|
1376
|
-
SI: Slovenia
|
1377
|
-
SJ: Svalbard and Jan Mayen
|
1378
|
-
SK: Slovakia
|
1379
|
-
SL: Sierra Leone
|
1380
|
-
SM: San Marino
|
1381
|
-
SN: Senegal
|
1382
|
-
SO: Somalia
|
1383
|
-
SR: Suriname
|
1384
|
-
SS: South Sudan
|
1385
|
-
ST: Sao Tome and Principe
|
1386
|
-
SV: El Salvador
|
1387
|
-
SX: Sint Maarten (Dutch part)
|
1388
|
-
SY: Syrian Arab Republic
|
1389
|
-
SZ: Eswatini
|
1390
|
-
TC: Turks and Caicos Islands
|
1391
|
-
TD: Chad
|
1392
|
-
TF: French Southern Territories
|
1393
|
-
TG: Togo
|
1394
|
-
TH: Thailand
|
1395
|
-
TJ: Tajikistan
|
1396
|
-
TK: Tokelau
|
1397
|
-
TL: Timor-Leste
|
1398
|
-
TM: Turkmenistan
|
1399
|
-
TN: Tunisia
|
1400
|
-
TO: Tonga
|
1401
|
-
TR: Turkey
|
1402
|
-
TT: Trinidad and Tobago
|
1403
|
-
TV: Tuvalu
|
1404
|
-
TW: Taiwan
|
1405
|
-
TZ: Tanzania, United Republic of
|
1406
|
-
UA: Ukraine
|
1407
|
-
UG: Uganda
|
1408
|
-
UM: United States Minor Outlying Islands
|
1409
1176
|
US: United States of America
|
1410
|
-
UY: Uruguay
|
1411
|
-
UZ: Uzbekistan
|
1412
|
-
VA: Holy See (Vatican City State)
|
1413
|
-
VC: Saint Vincent and the Grenadines
|
1414
|
-
VE: Venezuela, Bolivarian Republic of
|
1415
|
-
VG: Virgin Islands, British
|
1416
|
-
VI: Virgin Islands, U.S.
|
1417
|
-
VN: Vietnam
|
1418
|
-
VU: Vanuatu
|
1419
|
-
WF: Wallis and Futuna
|
1420
|
-
WS: Samoa
|
1421
|
-
YE: Yemen
|
1422
|
-
YT: Mayotte
|
1423
|
-
ZA: South Africa
|
1424
|
-
ZM: Zambia
|
1425
|
-
ZW: Zimbabwe
|
1426
1177
|
coupon: Coupon
|
1427
1178
|
coupon_code: Coupon code
|
1428
1179
|
coupon_code_already_applied: The coupon code has already been applied to this
|
@@ -1537,6 +1288,8 @@ en:
|
|
1537
1288
|
%{amount}.
|
1538
1289
|
item_total_less_than_or_equal: This coupon code can't be applied to orders
|
1539
1290
|
less than or equal to %{amount}.
|
1291
|
+
item_total_doesnt_match_with_operator: This coupon code can't be applied to
|
1292
|
+
orders %{operator} %{amount}.
|
1540
1293
|
limit_once_per_user: This coupon code can only be used once per user.
|
1541
1294
|
missing_product: This coupon code can't be applied because you don't have
|
1542
1295
|
all of the necessary products in your cart.
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rails/generators'
|
4
|
-
require 'rails/version'
|
5
4
|
|
6
5
|
module Solidus
|
7
6
|
# @private
|
@@ -16,7 +15,7 @@ module Solidus
|
|
16
15
|
class_option :migrate, type: :boolean, default: true, banner: 'Run Solidus migrations'
|
17
16
|
class_option :seed, type: :boolean, default: true, banner: 'Load seed data (migrations must be run)'
|
18
17
|
class_option :sample, type: :boolean, default: true, banner: 'Load sample data (migrations must be run)'
|
19
|
-
class_option :active_storage, type: :boolean, default:
|
18
|
+
class_option :active_storage, type: :boolean, default: true, banner: 'Install ActiveStorage as image attachments handler for products and taxons'
|
20
19
|
class_option :auto_accept, type: :boolean
|
21
20
|
class_option :user_class, type: :string
|
22
21
|
class_option :admin_email, type: :string
|
@@ -133,7 +132,7 @@ module Solidus
|
|
133
132
|
Solidus has a default authentication extension that uses Devise.
|
134
133
|
You can find more info at https://github.com/solidusio/solidus_auth_devise.
|
135
134
|
|
136
|
-
Would you like to install it? (
|
135
|
+
Would you like to install it? (Y/n)"))
|
137
136
|
|
138
137
|
@plugins_to_be_installed << 'solidus_auth_devise'
|
139
138
|
@plugin_generators_to_run << 'solidus:auth:install'
|
@@ -1,9 +1,11 @@
|
|
1
1
|
# Configure Solidus Preferences
|
2
2
|
# See http://docs.solidus.io/Spree/AppConfiguration.html for details
|
3
3
|
|
4
|
+
# Solidus version defaults for preferences that are not overridden
|
5
|
+
Spree.load_defaults '<%= Spree.solidus_version %>'
|
6
|
+
|
4
7
|
Spree.config do |config|
|
5
8
|
# Core:
|
6
|
-
|
7
9
|
# Default currency for new sites
|
8
10
|
config.currency = "USD"
|
9
11
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# This initializer lets you preview the defaults that have changed on the new
|
2
|
+
# Solidus version.
|
3
|
+
#
|
4
|
+
# It allows you to enable them one by one while you adapt your application.
|
5
|
+
# When you're done with all of them, you can safely remove this file and add
|
6
|
+
# the updated `load_defaults` calls to the top of the config blocks in your
|
7
|
+
# Solidus main initializer. You can also call `Spree.load_defaults(version)` to
|
8
|
+
# target all components at once.
|
9
|
+
|
10
|
+
Spree.config do |config|
|
11
|
+
<%= @core_changes %>
|
12
|
+
end
|
13
|
+
|
14
|
+
<% if defined?(Spree::Frontend::Engine) -%>
|
15
|
+
Spree::Frontend::Config.configure do |config|
|
16
|
+
<%= @frontend_changes %>
|
17
|
+
end
|
18
|
+
<% end -%>
|
19
|
+
|
20
|
+
<% if defined?(Spree::Backend::Engine) -%>
|
21
|
+
Spree::Backend::Config.configure do |config|
|
22
|
+
<%= @backend_changes %>
|
23
|
+
end
|
24
|
+
<% end -%>
|
25
|
+
|
26
|
+
<% if defined?(Spree::Api::Engine) -%>
|
27
|
+
Spree::Api::Config.configure do |config|
|
28
|
+
<%= @api_changes %>
|
29
|
+
end
|
30
|
+
<% end -%>
|