spree_core 2.3.13 → 2.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree.js.coffee.erb +1 -5
  3. data/app/helpers/spree/base_helper.rb +22 -11
  4. data/app/helpers/spree/products_helper.rb +8 -7
  5. data/app/mailers/spree/base_mailer.rb +1 -0
  6. data/app/mailers/spree/reimbursement_mailer.rb +10 -0
  7. data/app/mailers/spree/test_mailer.rb +2 -3
  8. data/app/models/concerns/spree/adjustment_source.rb +24 -0
  9. data/app/models/concerns/spree/calculated_adjustments.rb +33 -0
  10. data/app/models/concerns/spree/named_type.rb +12 -0
  11. data/app/models/concerns/spree/user_address.rb +30 -0
  12. data/app/models/concerns/spree/user_payment_source.rb +19 -0
  13. data/app/models/spree/address.rb +13 -6
  14. data/app/models/spree/adjustment.rb +5 -5
  15. data/app/models/spree/app_configuration.rb +8 -4
  16. data/app/models/spree/asset.rb +1 -1
  17. data/app/models/spree/base.rb +0 -3
  18. data/app/models/spree/calculator/flat_rate.rb +1 -5
  19. data/app/models/spree/calculator/returns/default_refund_amount.rb +36 -0
  20. data/app/models/spree/classification.rb +1 -1
  21. data/app/models/spree/credit_card.rb +18 -22
  22. data/app/models/spree/customer_return.rb +70 -0
  23. data/app/models/spree/exchange.rb +42 -0
  24. data/app/models/spree/gateway/bogus.rb +3 -3
  25. data/app/models/spree/image.rb +1 -1
  26. data/app/models/spree/inventory_unit.rb +32 -8
  27. data/app/models/spree/item_adjustments.rb +7 -11
  28. data/app/models/spree/legacy_user.rb +2 -2
  29. data/app/models/spree/line_item.rb +25 -12
  30. data/app/models/spree/option_type.rb +1 -1
  31. data/app/models/spree/option_value.rb +1 -8
  32. data/app/models/spree/order.rb +163 -145
  33. data/app/models/spree/order/checkout.rb +35 -23
  34. data/app/models/spree/order/payments.rb +66 -0
  35. data/app/models/spree/order_contents.rb +34 -24
  36. data/app/models/spree/order_populator.rb +6 -4
  37. data/app/models/spree/order_updater.rb +10 -1
  38. data/app/models/spree/payment.rb +19 -16
  39. data/app/models/spree/payment/processing.rb +40 -72
  40. data/app/models/spree/payment_method.rb +1 -1
  41. data/app/models/spree/payment_method/check.rb +0 -2
  42. data/app/models/spree/preference.rb +1 -1
  43. data/app/models/spree/preferences/preferable.rb +20 -0
  44. data/app/models/spree/price.rb +13 -3
  45. data/app/models/spree/product.rb +24 -29
  46. data/app/models/spree/product_property.rb +0 -2
  47. data/app/models/spree/promotion.rb +66 -24
  48. data/app/models/spree/promotion/actions/create_adjustment.rb +2 -2
  49. data/app/models/spree/promotion/actions/create_item_adjustments.rb +15 -11
  50. data/app/models/spree/promotion/actions/create_line_items.rb +2 -12
  51. data/app/models/spree/promotion/rules/first_order.rb +6 -2
  52. data/app/models/spree/promotion/rules/item_total.rb +42 -4
  53. data/app/models/spree/promotion/rules/one_use_per_user.rb +24 -0
  54. data/app/models/spree/promotion/rules/product.rb +13 -11
  55. data/app/models/spree/promotion/rules/taxon.rb +61 -0
  56. data/app/models/spree/promotion/rules/user.rb +1 -1
  57. data/app/models/spree/promotion/rules/user_logged_in.rb +4 -1
  58. data/app/models/spree/promotion_category.rb +6 -0
  59. data/app/models/spree/promotion_handler/cart.rb +14 -18
  60. data/app/models/spree/promotion_handler/coupon.rb +25 -16
  61. data/app/models/spree/promotion_rule.rb +13 -0
  62. data/app/models/spree/property.rb +1 -3
  63. data/app/models/spree/refund.rb +91 -0
  64. data/app/models/spree/refund_reason.rb +13 -0
  65. data/app/models/spree/reimbursement.rb +148 -0
  66. data/app/models/spree/reimbursement/credit.rb +25 -0
  67. data/app/models/spree/reimbursement/reimbursement_type_engine.rb +56 -0
  68. data/app/models/spree/reimbursement/reimbursement_type_validator.rb +12 -0
  69. data/app/models/spree/reimbursement_performer.rb +43 -0
  70. data/app/models/spree/reimbursement_tax_calculator.rb +38 -0
  71. data/app/models/spree/reimbursement_type.rb +16 -0
  72. data/app/models/spree/reimbursement_type/credit.rb +13 -0
  73. data/app/models/spree/reimbursement_type/exchange.rb +9 -0
  74. data/app/models/spree/reimbursement_type/original_payment.rb +13 -0
  75. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +50 -0
  76. data/app/models/spree/return_authorization.rb +52 -68
  77. data/app/models/spree/return_authorization_reason.rb +7 -0
  78. data/app/models/spree/return_item.rb +230 -0
  79. data/app/models/spree/return_item/default_eligibility_validator.rb +27 -0
  80. data/app/models/spree/return_item/eligibility_validator/base_validator.rb +24 -0
  81. data/app/models/spree/return_item/eligibility_validator/rma_required.rb +17 -0
  82. data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +16 -0
  83. data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +34 -0
  84. data/app/models/spree/return_item/exchange_variant_eligibility/same_product.rb +10 -0
  85. data/app/models/spree/returns_calculator.rb +8 -0
  86. data/app/models/spree/shipment.rb +209 -154
  87. data/app/models/spree/shipment_handler.rb +43 -0
  88. data/app/models/spree/shipping_calculator.rb +1 -1
  89. data/app/models/spree/shipping_category.rb +2 -2
  90. data/app/models/spree/shipping_method.rb +1 -1
  91. data/app/models/spree/shipping_method_category.rb +1 -1
  92. data/app/models/spree/shipping_rate.rb +4 -0
  93. data/app/models/spree/stock/adjuster.rb +10 -11
  94. data/app/models/spree/stock/availability_validator.rb +6 -10
  95. data/app/models/spree/stock/content_item.rb +48 -0
  96. data/app/models/spree/stock/coordinator.rb +14 -7
  97. data/app/models/spree/stock/estimator.rb +1 -1
  98. data/app/models/spree/stock/inventory_unit_builder.rb +21 -0
  99. data/app/models/spree/stock/package.rb +38 -51
  100. data/app/models/spree/stock/packer.rb +13 -11
  101. data/app/models/spree/stock/prioritizer.rb +7 -7
  102. data/app/models/spree/stock/splitter/base.rb +2 -2
  103. data/app/models/spree/stock_item.rb +6 -9
  104. data/app/models/spree/stock_location.rb +17 -25
  105. data/app/models/spree/stock_movement.rb +1 -8
  106. data/app/models/spree/stock_transfer.rb +0 -2
  107. data/app/models/spree/store.rb +1 -1
  108. data/app/models/spree/tax_category.rb +2 -2
  109. data/app/models/spree/tax_rate.rb +16 -22
  110. data/app/models/spree/taxon.rb +1 -1
  111. data/app/models/spree/variant.rb +45 -23
  112. data/app/models/spree/zone.rb +17 -17
  113. data/app/models/spree/zone_member.rb +1 -1
  114. data/app/views/layouts/spree/base_mailer.html.erb +784 -0
  115. data/app/views/spree/order_mailer/cancel_email.html.erb +45 -0
  116. data/app/views/spree/order_mailer/cancel_email.text.erb +2 -2
  117. data/app/views/spree/order_mailer/confirm_email.html.erb +84 -0
  118. data/app/views/spree/order_mailer/confirm_email.text.erb +2 -2
  119. data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +22 -0
  120. data/app/views/spree/shared/_base_mailer_footer.html.erb +20 -0
  121. data/app/views/spree/shared/_base_mailer_header.html.erb +31 -0
  122. data/app/views/spree/shipment_mailer/shipped_email.html.erb +34 -0
  123. data/app/views/spree/test_mailer/test_email.html.erb +40 -0
  124. data/app/views/spree/test_mailer/test_email.text.erb +2 -2
  125. data/config/initializers/friendly_id.rb +88 -0
  126. data/config/initializers/premailer_assets.rb +1 -0
  127. data/config/initializers/user_class_extensions.rb +9 -22
  128. data/config/locales/en.yml +180 -12
  129. data/db/default/spree/states.rb +73 -55
  130. data/db/migrate/20130213191427_create_default_stock.rb +1 -0
  131. data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -5
  132. data/db/migrate/20140309033438_create_store_from_preferences.rb +0 -7
  133. data/db/migrate/20140318191500_create_spree_taxons_promotion_rules.rb +8 -0
  134. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +1 -1
  135. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +5 -3
  136. data/db/migrate/20140625214618_create_spree_refunds.rb +12 -0
  137. data/db/migrate/20140702140656_create_spree_return_authorization_inventory_unit.rb +12 -0
  138. data/db/migrate/20140707125621_rename_return_authorization_inventory_unit_to_return_items.rb +5 -0
  139. data/db/migrate/20140709160534_backfill_line_item_pre_tax_amount.rb +10 -0
  140. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +55 -0
  141. data/db/migrate/20140710181204_add_amount_fields_to_return_items.rb +7 -0
  142. data/db/migrate/20140710190048_drop_return_authorization_amount.rb +5 -0
  143. data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +28 -0
  144. data/db/migrate/20140713140527_create_spree_refund_reasons.rb +14 -0
  145. data/db/migrate/20140713142214_rename_return_authorization_reason.rb +5 -0
  146. data/db/migrate/20140715182625_create_spree_promotion_categories.rb +11 -0
  147. data/db/migrate/20140716204111_drop_received_at_on_return_items.rb +9 -0
  148. data/db/migrate/20140716212330_add_reception_and_acceptance_status_to_return_items.rb +6 -0
  149. data/db/migrate/20140717155155_create_default_refund_reason.rb +9 -0
  150. data/db/migrate/20140717185932_add_default_to_spree_stock_locations.rb +5 -0
  151. data/db/migrate/20140718133010_create_spree_customer_returns.rb +9 -0
  152. data/db/migrate/20140718133349_add_customer_return_id_to_return_item.rb +6 -0
  153. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +15 -0
  154. data/db/migrate/20140723004419_rename_spree_refund_return_authorization_id.rb +5 -0
  155. data/db/migrate/20140723152808_increase_return_item_pre_tax_amount_precision.rb +13 -0
  156. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +15 -0
  157. data/db/migrate/20140725131539_create_spree_reimbursements.rb +21 -0
  158. data/db/migrate/20140728225422_add_promotionable_to_spree_products.rb +5 -0
  159. data/db/migrate/20140729133613_add_exchange_inventory_unit_foreign_keys.rb +7 -0
  160. data/db/migrate/20140730155938_add_acceptance_status_errors_to_return_item.rb +5 -0
  161. data/db/migrate/20140731150017_create_spree_reimbursement_types.rb +20 -0
  162. data/db/migrate/20140805171035_add_default_to_spree_credit_cards.rb +5 -0
  163. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +10 -0
  164. data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +9 -0
  165. data/db/migrate/20140808184039_create_spree_reimbursement_credits.rb +10 -0
  166. data/db/migrate/20140827170513_add_meta_title_to_spree_products.rb +7 -0
  167. data/db/migrate/20140924164824_add_code_to_spree_tax_categories.rb +5 -0
  168. data/db/migrate/20141002191113_add_code_to_spree_shipping_methods.rb +5 -0
  169. data/db/migrate/20141007230328_add_cancel_audit_fields_to_spree_orders.rb +6 -0
  170. data/db/migrate/20141009204607_add_store_id_to_orders.rb +8 -0
  171. data/lib/generators/spree/install/install_generator.rb +7 -3
  172. data/lib/spree/core.rb +11 -10
  173. data/lib/spree/core/controller_helpers/common.rb +3 -10
  174. data/lib/spree/core/controller_helpers/order.rb +15 -12
  175. data/lib/spree/core/controller_helpers/strong_parameters.rb +9 -9
  176. data/lib/spree/core/engine.rb +8 -1
  177. data/lib/spree/core/importer/order.rb +5 -17
  178. data/lib/spree/core/search/base.rb +1 -1
  179. data/lib/spree/core/validators/email.rb +1 -1
  180. data/lib/spree/core/version.rb +1 -1
  181. data/lib/spree/instrumentation.rb +41 -0
  182. data/lib/spree/migrations.rb +3 -7
  183. data/lib/spree/money.rb +2 -2
  184. data/lib/spree/permitted_attributes.rb +10 -9
  185. data/lib/spree/testing_support/ability_helpers.rb +25 -25
  186. data/lib/spree/testing_support/authorization_helpers.rb +3 -5
  187. data/lib/spree/testing_support/capybara_ext.rb +2 -2
  188. data/lib/spree/testing_support/factories/calculator_factory.rb +0 -8
  189. data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
  190. data/lib/spree/testing_support/factories/customer_return_factory.rb +31 -0
  191. data/lib/spree/testing_support/factories/inventory_unit_factory.rb +1 -0
  192. data/lib/spree/testing_support/factories/line_item_factory.rb +2 -1
  193. data/lib/spree/testing_support/factories/order_factory.rb +11 -6
  194. data/lib/spree/testing_support/factories/promotion_category_factory.rb +6 -0
  195. data/lib/spree/testing_support/factories/promotion_factory.rb +9 -7
  196. data/lib/spree/testing_support/factories/refund_factory.rb +14 -0
  197. data/lib/spree/testing_support/factories/reimbursement_factory.rb +16 -0
  198. data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +7 -0
  199. data/lib/spree/testing_support/factories/return_authorization_factory.rb +9 -3
  200. data/lib/spree/testing_support/factories/return_item_factory.rb +10 -0
  201. data/lib/spree/testing_support/factories/shipment_factory.rb +1 -0
  202. data/lib/spree/testing_support/factories/shipping_method_factory.rb +3 -2
  203. data/lib/spree/testing_support/factories/stock_factory.rb +12 -11
  204. data/lib/spree/testing_support/flash.rb +2 -2
  205. data/lib/tasks/email.rake +7 -0
  206. data/lib/tasks/exchanges.rake +70 -0
  207. data/vendor/assets/javascripts/jquery.validate/localization/messages_et.js +23 -0
  208. data/vendor/assets/javascripts/jquery.validate/localization/messages_eu.js +25 -0
  209. data/vendor/assets/javascripts/jquery.validate/localization/messages_hr.js +25 -0
  210. data/vendor/assets/javascripts/jquery.validate/localization/messages_ka.js +25 -0
  211. data/vendor/assets/javascripts/jquery.validate/localization/messages_ko.js +25 -0
  212. data/vendor/assets/javascripts/jquery.validate/localization/messages_my.js +25 -0
  213. data/vendor/assets/javascripts/jquery.validate/localization/messages_pt_BR.js +26 -0
  214. data/vendor/assets/javascripts/jquery.validate/localization/messages_pt_PT.js +26 -0
  215. data/vendor/assets/javascripts/jquery.validate/localization/messages_sl.js +25 -0
  216. data/vendor/assets/javascripts/jquery.validate/localization/messages_sv.js +23 -0
  217. data/vendor/assets/javascripts/jquery.validate/localization/messages_uk.js +25 -0
  218. data/vendor/assets/javascripts/jquery.validate/localization/messages_zh.js +25 -0
  219. data/vendor/assets/javascripts/jquery.validate/localization/messages_zh_TW.js +26 -0
  220. metadata +163 -47
  221. data/app/models/concerns/spree/ransackable_attributes.rb +0 -19
  222. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +0 -5
  223. data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +0 -13
  224. data/db/migrate/20141105213646_update_classifications_positions.rb +0 -9
  225. data/db/migrate/20141120135441_add_guest_token_index_to_spree_orders.rb +0 -5
  226. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +0 -70
  227. data/lib/spree/core/adjustment_source.rb +0 -26
  228. data/lib/spree/core/calculated_adjustments.rb +0 -35
  229. data/lib/spree/core/controller_helpers.rb +0 -20
  230. data/lib/spree/core/user_address.rb +0 -32
  231. data/lib/spree/core/user_payment_source.rb +0 -20
  232. data/lib/spree/localized_number.rb +0 -20
@@ -94,6 +94,8 @@ en:
94
94
  path: Path
95
95
  starts_at: Starts At
96
96
  usage_limit: Usage Limit
97
+ spree/promotion_category:
98
+ name: Name
97
99
  spree/property:
98
100
  name: Name
99
101
  presentation: Presentation
@@ -112,6 +114,7 @@ en:
112
114
  meta_keywords: Meta Keywords
113
115
  seo_title: Seo Title
114
116
  name: Site Name
117
+ mail_from_address: Mail From Address
115
118
  spree/tax_category:
116
119
  description: Description
117
120
  name: Name
@@ -151,6 +154,9 @@ en:
151
154
  spree/credit_card:
152
155
  one: Credit Card
153
156
  other: Credit Cards
157
+ spree/customer_return:
158
+ one: Customer Return
159
+ other: Customer Returns
154
160
  spree/inventory_unit:
155
161
  one: Inventory Unit
156
162
  other: Inventory Units
@@ -178,15 +184,30 @@ en:
178
184
  spree/promotion:
179
185
  one: Promotion
180
186
  other: Promotions
187
+ spree/promotion_category:
188
+ one: Promotion Category
189
+ other: Promotion Categories
181
190
  spree/property:
182
191
  one: Property
183
192
  other: Properties
184
193
  spree/prototype:
185
194
  one: Prototype
186
195
  other: Prototypes
196
+ spree/refund_reason:
197
+ one: Refund Reason
198
+ other: Refund Reasons
199
+ spree/reimbursement:
200
+ one: Reimbursement
201
+ other: Reimbursements
202
+ spree/reimbursement_type:
203
+ one: Reimbursement Type
204
+ other: Reimbursement Types
187
205
  spree/return_authorization:
188
206
  one: Return Authorization
189
207
  other: Return Authorizations
208
+ spree/return_authorization_reason:
209
+ one: Return Authorization Reason
210
+ other: Return Authorization Reasons
190
211
  spree/role:
191
212
  one: Roles
192
213
  other: Roles
@@ -263,6 +284,21 @@ en:
263
284
  attributes:
264
285
  currency:
265
286
  must_match_order_currency: "Must match order currency"
287
+ spree/refund:
288
+ attributes:
289
+ amount:
290
+ greater_than_allowed: is greater than the allowed amount.
291
+ spree/reimbursement:
292
+ attributes:
293
+ base:
294
+ return_items_order_id_does_not_match: One or more of the return items specified do not belong to the same order as the reimbursement.
295
+ spree/return_item:
296
+ attributes:
297
+ reimbursement:
298
+ cannot_be_associated_unless_accepted: cannot be associated to a return item that is not accepted.
299
+ inventory_unit:
300
+ other_completed_return_item_exists: "%{inventory_unit_id} has already been taken by return item %{return_item_id}"
301
+
266
302
  devise:
267
303
  confirmations:
268
304
  confirmed: Your account was successfully confirmed. You are now signed in.
@@ -311,6 +347,10 @@ en:
311
347
  other: ! '%{count} errors prohibited this %{resource} from being saved:'
312
348
  spree:
313
349
  abbreviation: Abbreviation
350
+ accept: Accept
351
+ acceptance_status: Acceptance status
352
+ acceptance_errors: Acceptance errors
353
+ accepted: Accepted
314
354
  account: Account
315
355
  account_updated: Account updated
316
356
  action: Action
@@ -323,6 +363,7 @@ en:
323
363
  list: List
324
364
  listing: Listing
325
365
  new: New
366
+ refund: Refund
326
367
  save: Save
327
368
  update: Update
328
369
  activate: Activate
@@ -343,7 +384,7 @@ en:
343
384
  add_stock_management: Add Stock Management
344
385
  add_to_cart: Add To Cart
345
386
  add_variant: Add Variant
346
- additional_item: Additional Item
387
+ additional_item: Additional Item Cost
347
388
  address1: Address
348
389
  address2: Address (contd.)
349
390
  adjustable: Adjustable
@@ -383,6 +424,7 @@ en:
383
424
  all_adjustments_closed: All adjustments successfully closed!
384
425
  all_adjustments_opened: All adjustments successfully opened!
385
426
  all_departments: All departments
427
+ all_items_have_been_returned: All items have been returned
386
428
  allow_ssl_in_development_and_test: Allow SSL to be used when in development and test modes
387
429
  allow_ssl_in_production: Allow SSL to be used in production mode
388
430
  allow_ssl_in_staging: Allow SSL to be used in staging mode
@@ -405,6 +447,7 @@ en:
405
447
  are_you_sure_delete: Are you sure you want to delete this record?
406
448
  associated_adjustment_closed: The associated adjustment is closed, and will not be recalculated. Do you want to open it?
407
449
  authorization_failure: Authorization Failure
450
+ authorized: Authorized
408
451
  auto_capture: Auto Capture
409
452
  available_on: Available On
410
453
  average_order_value: Average Order Value
@@ -413,6 +456,8 @@ en:
413
456
  back_end: Backend
414
457
  backordered: Backordered
415
458
  back_to_adjustments_list: Back To Adjustments List
459
+ back_to_customer_return: Back To Customer Return
460
+ back_to_customer_return_list: Back To Customer Return List
416
461
  back_to_images_list: Back To Images List
417
462
  back_to_option_types_list: Back To Option Types List
418
463
  back_to_orders_list: Back To Orders List
@@ -421,9 +466,13 @@ en:
421
466
  back_to_payments_list: Back To Payments List
422
467
  back_to_products_list: Back To Products List
423
468
  back_to_promotions_list: Back To Promotions List
469
+ back_to_promotion_categories_list: Back To Promotions Categories List
424
470
  back_to_properties_list: Back To Properties List
425
471
  back_to_prototypes_list: Back To Prototypes List
426
472
  back_to_reports_list: Back To Reports List
473
+ back_to_refund_reason_list: Back To Refund Reason List
474
+ back_to_reimbursement_type_list: Back To Reimbursement Type List
475
+ back_to_rma_reason_list: Back To RMA Reason List
427
476
  back_to_shipping_categories: Back To Shipping Categories
428
477
  back_to_shipping_categories_list: Back To Shipping Categories List
429
478
  back_to_shipping_methods_list: Back To Shipping Methods List
@@ -447,10 +496,14 @@ en:
447
496
  billing: Billing
448
497
  billing_address: Billing Address
449
498
  both: Both
499
+ calculated_reimbursements: Calculated Reimbursements
450
500
  calculator: Calculator
451
501
  calculator_settings_warning: If you are changing the calculator type, you must save first before you can edit the calculator settings
452
502
  cancel: cancel
503
+ canceler: Canceler
504
+ canceled_at: Canceled at
453
505
  cannot_create_payment_without_payment_methods: You cannot create a payment for an order without any payment methods defined.
506
+ cannot_create_customer_returns: Cannot create customer returns as this order has no shipped units.
454
507
  cannot_create_returns: Cannot create returns as this order has no shipped units.
455
508
  cannot_perform_operation: Cannot perform requested operation
456
509
  cannot_set_shipping_method_without_address: Cannot set shipping method until customer details are provided.
@@ -466,6 +519,7 @@ en:
466
519
  other: 'Subtotal (%{count} items)'
467
520
  categories: Categories
468
521
  category: Category
522
+ charged: Charged
469
523
  check_for_spree_alerts: Check for Spree alerts
470
524
  checkout: Checkout
471
525
  choose_a_customer: Choose a customer
@@ -474,7 +528,7 @@ en:
474
528
  choose_dashboard_locale: Choose Dashboard Locale
475
529
  choose_location: Choose location
476
530
  city: City
477
- click_and_drag_on_the_products_to_sort_them: Click and drag on the products to sort them
531
+ click_and_drag_on_the_products_to_sort_them: Click and drag on the products to sort them.
478
532
  clone: Clone
479
533
  close: Close
480
534
  close_all_adjustments: Close All Adjustments
@@ -491,6 +545,7 @@ en:
491
545
  cost_currency: Cost Currency
492
546
  cost_price: Cost Price
493
547
  could_not_connect_to_jirafe: Could not connect to Jirafe to sync data. This will be automatically retried later.
548
+ could_not_create_customer_return: Could not create customer return
494
549
  could_not_create_stock_movement: There was a problem saving this stock movement. Please try again.
495
550
  count_on_hand: Count On Hand
496
551
  countries: Countries
@@ -512,11 +567,15 @@ en:
512
567
  coupon_code_not_eligible: This coupon code is not eligible for this order
513
568
  coupon_code_not_found: The coupon code you entered doesn't exist. Please try again.
514
569
  coupon_code_unknown_error: This coupon code could not be applied to the cart at this time.
570
+ customer_return: Customer Return
571
+ customer_returns: Customer Returns
515
572
  create: Create
516
573
  create_a_new_account: Create a new account
517
574
  create_new_order: Create new order
575
+ create_reimbursement: Create reimbursement
518
576
  created_at: Created At
519
577
  credit: Credit
578
+ credits: Credits
520
579
  credit_card: Credit Card
521
580
  credit_cards: Credit Cards
522
581
  credit_owed: Credit Owed
@@ -551,6 +610,7 @@ en:
551
610
  js_format: yy/mm/dd
552
611
  date_range: Date Range
553
612
  default: Default
613
+ default_refund_amount: Default Refund Amount
554
614
  default_tax: Default Tax
555
615
  default_tax_zone: Default Tax Zone
556
616
  delete: Delete
@@ -568,8 +628,14 @@ en:
568
628
  editing_payment_method: Editing Payment Method
569
629
  editing_product: Editing Product
570
630
  editing_promotion: Editing Promotion
631
+ editing_promotion_category: Editing Promotion Category
571
632
  editing_property: Editing Property
572
633
  editing_prototype: Editing Prototype
634
+ edit_refund_reason: Edit Refund Reason
635
+ editing_refund_reason: Editing Refund Reason
636
+ editing_reimbursement: Editing Reimbursement
637
+ editing_reimbursement_type: Editing Reimbursement Type
638
+ editing_rma_reason: Editing RMA Reason
573
639
  editing_shipping_category: Editing Shipping Category
574
640
  editing_shipping_method: Editing Shipping Method
575
641
  editing_state: Editing State
@@ -580,6 +646,21 @@ en:
580
646
  editing_tracker: Editing Tracker
581
647
  editing_user: Editing User
582
648
  editing_zone: Editing Zone
649
+ eligibility_errors:
650
+ messages:
651
+ has_excluded_product: Your cart contains a product that prevents this coupon code from being applied.
652
+ item_total_less_than: This coupon code can't be applied to orders less than %{amount}.
653
+ item_total_less_than_or_equal: This coupon code can't be applied to orders less than or equal to %{amount}.
654
+ item_total_more_than: This coupon code can't be applied to orders higher than %{amount}.
655
+ item_total_more_than_or_equal: This coupon code can't be applied to orders higher than or equal to %{amount}.
656
+ limit_once_per_user: This coupon code can only be used once per user.
657
+ missing_product: This coupon code can't be applied because you don't have all of the necessary products in your cart.
658
+ missing_taxon: You need to add a product from all applicable categories before applying this coupon code.
659
+ no_applicable_products: You need to add an applicable product before applying this coupon code.
660
+ no_matching_taxons: You need to add a product from an applicable category before applying this coupon code.
661
+ no_user_or_email_specified: You need to login or provide your email before applying this coupon code.
662
+ no_user_specified: You need to login before applying this coupon code.
663
+ not_first_order: This coupon code can only be applied to your first order.
583
664
  email: Email
584
665
  empty: Empty
585
666
  empty_cart: Empty Cart
@@ -612,6 +693,8 @@ en:
612
693
  signup: User signup
613
694
  exceptions:
614
695
  count_on_hand_setter: Cannot set count_on_hand manually, as it is set automatically by the recalculate_count_on_hand callback. Please use `update_column(:count_on_hand, value)` instead.
696
+ exchange_for: Exchange for
697
+ expedited_exchanges_warning: "Any specified exchanges will ship to the customer immediately upon saving. The customer will be charged the full amount of the item if they do not return the original item within %{days_window} days."
615
698
  excl: excl.
616
699
  expiration: Expiration
617
700
  extension: Extension
@@ -623,7 +706,7 @@ en:
623
706
  finalize: Finalize
624
707
  find_a_taxon: Find a Taxon
625
708
  finalized: Finalized
626
- first_item: First Item
709
+ first_item: First Item Cost
627
710
  first_name: First Name
628
711
  first_name_begins_with: First Name Begins With
629
712
  flat_percent: Flat Percent
@@ -659,12 +742,18 @@ en:
659
742
  this_file_language: English (US)
660
743
  translations: Translations
661
744
  icon: Icon
745
+ identifier: Identifier
662
746
  image: Image
663
747
  images: Images
664
748
  inactive: Inactive
665
749
  incl: incl.
666
750
  included_in_price: Included in Price
667
751
  included_price_validation: cannot be selected unless you have set a Default Tax Zone
752
+ incomplete: Incomplete
753
+ info_product_has_multiple_skus: "This product has %{count} variants:"
754
+ info_number_of_skus_not_shown:
755
+ one: "and one other"
756
+ other: "and %{count} others"
668
757
  instructions_to_reset_password: Please enter your email on the form below
669
758
  insufficient_stock: Insufficient stock available, only %{on_hand} remaining
670
759
  insufficient_stock_lines_present: Some line items in this order have insufficient quantity.
@@ -678,6 +767,7 @@ en:
678
767
  inventory: Inventory
679
768
  inventory_adjustment: Inventory Adjustment
680
769
  inventory_error_flash_for_insufficient_quantity: An item in your cart has become unavailable.
770
+ inventory_state: Inventory State
681
771
  is_not_available_to_shipment_address: is not available to shipment address
682
772
  iso_name: Iso Name
683
773
  item: Item
@@ -687,7 +777,12 @@ en:
687
777
  operators:
688
778
  gt: greater than
689
779
  gte: greater than or equal to
780
+ lt: less than
781
+ lte: less than or equal to
690
782
  items_cannot_be_shipped: We are unable to calculate shipping rates for the selected items.
783
+ items_in_rmas: Items in Return Authorizations
784
+ items_to_be_reimbursed: Items to be reimbursed
785
+ items_reimbursed: Items reimbursed
691
786
  jirafe: Jirafe
692
787
  landing_page_rule:
693
788
  path: Path
@@ -719,6 +814,9 @@ en:
719
814
  logout: Logout
720
815
  look_for_similar_items: Look for similar items
721
816
  make_refund: Make refund
817
+ make_sure_the_above_reimbursement_amount_is_correct: Make sure the above reimbursement amount is correct
818
+ manage_promotion_categories: Manage Promotion Categories
819
+ manual_intervention_required: Manual intervention required
722
820
  manage_variants: Manage Variants
723
821
  master_price: Master Price
724
822
  match_choices:
@@ -726,8 +824,10 @@ en:
726
824
  none: None
727
825
  max_items: Max Items
728
826
  member_since: Member Since
827
+ memo: Memo
729
828
  meta_description: Meta Description
730
829
  meta_keywords: Meta Keywords
830
+ meta_title: Meta Title
731
831
  metadata: Metadata
732
832
  minimal_amount: Minimal Amount
733
833
  month: Month
@@ -741,6 +841,7 @@ en:
741
841
  new: New
742
842
  new_adjustment: New Adjustment
743
843
  new_customer: New Customer
844
+ new_customer_return: New Customer Return
744
845
  new_country: New Country
745
846
  new_image: New Image
746
847
  new_option_type: New Option Type
@@ -750,8 +851,12 @@ en:
750
851
  new_payment_method: New Payment Method
751
852
  new_product: New Product
752
853
  new_promotion: New Promotion
854
+ new_promotion_category: New Promotion Category
753
855
  new_property: New Property
754
856
  new_prototype: New Prototype
857
+ new_refund: New Refund
858
+ new_refund_reason: New Refund Reason
859
+ new_rma_reason: New RMA Reason
755
860
  new_return_authorization: New Return Authorization
756
861
  new_shipping_category: New Shipping Category
757
862
  new_shipping_method: New Shipping Method
@@ -786,11 +891,13 @@ en:
786
891
  no_stock_locations_found: No stock locations found
787
892
  no_tracking_present: No tracking details provided.
788
893
  none: None
894
+ none_selected: None Selected
789
895
  normal_amount: Normal Amount
790
896
  not: not
791
897
  not_available: N/A
792
898
  not_enough_stock: There is not enough inventory at the source location to complete this transfer.
793
899
  not_found: ! '%{resource} is not found'
900
+ note: Note
794
901
  notice_messages:
795
902
  product_cloned: Product has been cloned
796
903
  product_deleted: Product has been deleted
@@ -813,7 +920,6 @@ en:
813
920
  or_over_price: ! '%{price} or over'
814
921
  order: Order
815
922
  order_adjustments: Order adjustments
816
- order_already_updated: The order has already been updated.
817
923
  order_approved: Order approved
818
924
  order_canceled: Order canceled
819
925
  order_details: Order Details
@@ -825,16 +931,16 @@ en:
825
931
  instructions: Your order has been CANCELED. Please retain this cancellation information for your records.
826
932
  order_summary_canceled: Order Summary [CANCELED]
827
933
  subject: Cancellation of Order
828
- subtotal: ! 'Subtotal: %{subtotal}'
829
- total: ! 'Order Total: %{total}'
934
+ subtotal: ! 'Subtotal:'
935
+ total: ! 'Order Total:'
830
936
  confirm_email:
831
937
  dear_customer: Dear Customer,
832
938
  instructions: Please review and retain the following order information for your records.
833
939
  order_summary: Order Summary
834
940
  subject: Order Confirmation
835
- subtotal: ! 'Subtotal: %{subtotal}'
941
+ subtotal: ! 'Subtotal:'
836
942
  thanks: Thank you for your business.
837
- total: ! 'Order Total: %{total}'
943
+ total: ! 'Order Total:'
838
944
  order_not_found: We couldn't find your order. Please try that action again.
839
945
  order_number: Order %{number}
840
946
  order_populator:
@@ -860,6 +966,7 @@ en:
860
966
  order_total: Order Total
861
967
  order_updated: Order Updated
862
968
  orders: Orders
969
+ other_items_in_other: Other Items in Order
863
970
  out_of_stock: Out of Stock
864
971
  overview: Overview
865
972
  package_from: package from
@@ -873,6 +980,7 @@ en:
873
980
  pay: pay
874
981
  payment: Payment
875
982
  payment_could_not_be_created: Payment could not be created.
983
+ payment_identifier: Payment Identifier
876
984
  payment_information: Payment Information
877
985
  payment_method: Payment Method
878
986
  payment_methods: Payment Methods
@@ -896,11 +1004,16 @@ en:
896
1004
  percent: Percent
897
1005
  percent_per_item: Percent Per Item
898
1006
  permalink: Permalink
1007
+ pending: Pending
899
1008
  phone: Phone
900
1009
  place_order: Place Order
901
1010
  please_define_payment_methods: Please define some payment methods first.
902
1011
  populate_get_error: Something went wrong. Please try adding the item again.
903
1012
  powered_by: Powered by
1013
+ pre_tax_refund_amount: Pre-Tax Refund Amount
1014
+ pre_tax_amount: Pre-Tax Amount
1015
+ pre_tax_total: Pre-Tax Total
1016
+ preferred_reimbursement_type: Preferred Reimbursement Type
904
1017
  presentation: Presentation
905
1018
  previous: Previous
906
1019
  price: Price
@@ -923,6 +1036,7 @@ en:
923
1036
  manual: Manually choose
924
1037
  products: Products
925
1038
  promotion: Promotion
1039
+ promotionable: Promotable
926
1040
  promotion_action: Promotion Action
927
1041
  promotion_action_types:
928
1042
  create_adjustment:
@@ -953,6 +1067,9 @@ en:
953
1067
  landing_page:
954
1068
  description: Customer must have visited the specified page
955
1069
  name: Landing Page
1070
+ one_use_per_user:
1071
+ description: Only One Use Per User
1072
+ name: One Use Per User
956
1073
  product:
957
1074
  description: Order includes specified product(s)
958
1075
  name: Product(s)
@@ -962,6 +1079,9 @@ en:
962
1079
  user_logged_in:
963
1080
  description: Available only to logged in users
964
1081
  name: User Logged In
1082
+ taxon:
1083
+ description: Order includes products with specified taxon(s)
1084
+ name: Taxon(s)
965
1085
  promotions: Promotions
966
1086
  promotion_uses: Promotion uses
967
1087
  propagate_all_variants: Propagate all variants
@@ -980,10 +1100,27 @@ en:
980
1100
  receive: receive
981
1101
  receive_stock: Receive Stock
982
1102
  received: Received
1103
+ reception_status: Reception Status
983
1104
  reference: Reference
984
1105
  refund: Refund
1106
+ refund_amount_must_be_greater_than_zero: Refund amount must be greater than zero
1107
+ refund_reasons: Refund Reasons
1108
+ refunded_amount: Refunded Amount
1109
+ refunds: Refunds
1110
+ refund_amount_must_be_greater_than_zero: Refund amount must be greater than zero
985
1111
  register: Register
986
1112
  registration: Registration
1113
+ reimburse: Reimburse
1114
+ reimbursed: Reimbursed
1115
+ reimbursement: Reimbursement
1116
+ reimbursement_perform_failed: "Reimbursement could not be performed. Error: %{error}"
1117
+ reimbursement_status: Reimbursement status
1118
+ reimbursement_type: Reimbursement type
1119
+ reimbursement_type_override: Reimbursement Type Override
1120
+ reimbursement_types: Reimbursement Types
1121
+ reimbursements: Reimbursements
1122
+ reject: Reject
1123
+ rejected: Rejected
987
1124
  remember_me: Remember me
988
1125
  remove: Remove
989
1126
  rename: Rename
@@ -995,8 +1132,24 @@ en:
995
1132
  resumed: Resumed
996
1133
  return: return
997
1134
  return_authorization: Return Authorization
1135
+ return_authorization_reasons: Return Authorization Reasons
998
1136
  return_authorization_updated: Return authorization updated
999
1137
  return_authorizations: Return Authorizations
1138
+ return_item_rma_ineligible: Return item requires an RMA
1139
+ return_item_time_period_ineligible: Return item is outside the eligible time period
1140
+ return_items: Return Items
1141
+ return_items_cannot_be_associated_with_multiple_orders: Return items cannot be associated with multiple orders.
1142
+ reimbursement_mailer:
1143
+ reimbursement_email:
1144
+ days_to_send: ! 'You have %{days} days to send back any items awaiting exchange.'
1145
+ dear_customer: Dear Customer,
1146
+ exchange_summary: Exchange Summary
1147
+ for: for
1148
+ instructions: Your reimbursement has been processed.
1149
+ refund_summary: Refund Summary
1150
+ subject: Reimbursement Notification
1151
+ total_refunded: ! 'Total refunded: %{total}'
1152
+ return_number: Return Number
1000
1153
  return_quantity: Return Quantity
1001
1154
  returned: Returned
1002
1155
  review: Review
@@ -1023,6 +1176,8 @@ en:
1023
1176
  security_settings: Security Settings
1024
1177
  select: Select
1025
1178
  select_from_prototype: Select From Prototype
1179
+ select_a_return_authorization_reason: Select a reason for the return authorization
1180
+ select_a_stock_location: Select a stock location
1026
1181
  select_stock: Select stock
1027
1182
  send_copy_of_all_mails_to: Send Copy of All Mails To
1028
1183
  send_mails_as: Send Mails As
@@ -1052,6 +1207,8 @@ en:
1052
1207
  pending: pending
1053
1208
  ready: ready
1054
1209
  shipped: shipped
1210
+ shipment_transfer_success: 'Variants successfully transferred'
1211
+ shipment_transfer_error: 'There was an error transferring variants'
1055
1212
  shipments: Shipments
1056
1213
  shipped: Shipped
1057
1214
  shipping: Shipping
@@ -1075,7 +1232,7 @@ en:
1075
1232
  show_only_considered_risky: Only show risky orders
1076
1233
  show_rate_in_label: Show rate in label
1077
1234
  sku: SKU
1078
- skus: SKU's
1235
+ skus: SKUs
1079
1236
  slug: Slug
1080
1237
  source: Source
1081
1238
  special_instructions: Special Instructions
@@ -1108,6 +1265,7 @@ en:
1108
1265
  subtract: Subtract
1109
1266
  success: Success
1110
1267
  successfully_created: ! '%{resource} has been successfully created!'
1268
+ successfully_refunded: ! '%{resource} has been successfully refunded!'
1111
1269
  successfully_removed: ! '%{resource} has been successfully removed!'
1112
1270
  successfully_signed_up_for_analytics: Successfully signed up for Spree Analytics
1113
1271
  successfully_updated: ! '%{resource} has been successfully updated!'
@@ -1115,11 +1273,17 @@ en:
1115
1273
  tax_included: "Tax (incl.)"
1116
1274
  tax_categories: Tax Categories
1117
1275
  tax_category: Tax Category
1276
+ tax_code: Tax Code
1118
1277
  tax_rate_amount_explanation: Tax rates are a decimal amount to aid in calculations, (i.e. if the tax rate is 5% then enter 0.05)
1119
1278
  tax_rates: Tax Rates
1120
1279
  taxon: Taxon
1121
1280
  taxon_edit: Edit Taxon
1122
1281
  taxon_placeholder: Add a Taxon
1282
+ taxon_rule:
1283
+ choose_taxons: Choose taxons
1284
+ label: Order must contain %{select} of these taxons
1285
+ match_all: all
1286
+ match_any: at least one
1123
1287
  taxonomies: Taxonomies
1124
1288
  taxonomy: Taxonomy
1125
1289
  taxonomy_edit: Edit taxonomy
@@ -1136,6 +1300,7 @@ en:
1136
1300
  thank_you_for_your_order: Thank you for your business. Please print out a copy of this confirmation page for your records.
1137
1301
  there_are_no_items_for_this_order: There are no items for this order. Please add an item to the order to continue.
1138
1302
  there_were_problems_with_the_following_fields: There were problems with the following fields
1303
+ this_order_has_already_received_a_refund: This order has already received a refund
1139
1304
  thumbnail: Thumbnail
1140
1305
  tiers: Tiers
1141
1306
  tiered_flat_rate: Tiered Flat Rate
@@ -1143,6 +1308,8 @@ en:
1143
1308
  time: Time
1144
1309
  to_add_variants_you_must_first_define: To add variants, you must first define
1145
1310
  total: Total
1311
+ total_per_item: Total per item
1312
+ total_pre_tax_refund: Total Pre-Tax Refund
1146
1313
  total_price: Total price
1147
1314
  total_sales: Total Sales
1148
1315
  track_inventory: Track Inventory
@@ -1150,6 +1317,7 @@ en:
1150
1317
  tracking_number: Tracking Number
1151
1318
  tracking_url: Tracking URL
1152
1319
  tracking_url_placeholder: e.g. http://quickship.com/package?num=:tracking
1320
+ transaction_id: Transaction ID
1153
1321
  transfer_from_location: Transfer From
1154
1322
  transfer_stock: Transfer Stock
1155
1323
  transfer_to_location: Transfer To
@@ -1157,6 +1325,7 @@ en:
1157
1325
  type: Type
1158
1326
  type_to_search: Type to search
1159
1327
  unable_to_connect_to_gateway: Unable to connect to gateway.
1328
+ unable_to_create_reimbursements: Unable to create reimbursements because there are items pending manual intervention.
1160
1329
  under_price: Under %{price}
1161
1330
  unlock: Unlock
1162
1331
  unrecognized_card_type: Unrecognized card type
@@ -1166,17 +1335,16 @@ en:
1166
1335
  usage_limit: Usage Limit
1167
1336
  use_app_default: Use App Default
1168
1337
  use_billing_address: Use Billing Address
1169
- use_existing_cc: Use an existing card on file
1170
1338
  use_new_cc: Use a new card
1171
- use_new_cc_or_payment_method: Use a new card / payment method
1172
1339
  use_s3: Use Amazon S3 For Images
1173
1340
  user: User
1174
1341
  user_rule:
1175
1342
  choose_users: Choose users
1176
1343
  users: Users
1177
1344
  validation:
1345
+ unpaid_amount_not_zero: "Amount was not fully reimbursed. Still due: %{amount}"
1178
1346
  cannot_be_less_than_shipped_units: cannot be less than the number of shipped units.
1179
- cannot_destory_line_item_as_inventory_units_have_shipped: Cannot destory line item as some inventory units have shipped.
1347
+ cannot_destroy_line_item_as_inventory_units_have_shipped: Cannot destroy line item as some inventory units have shipped.
1180
1348
  exceeds_available_stock: exceeds available stock. Please ensure line items have a valid quantity.
1181
1349
  is_too_large: is too large -- stock on hand cannot cover requested quantity!
1182
1350
  must_be_int: must be an integer