spree_core 3.0.10 → 3.1.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree.js.coffee.erb +12 -3
- data/app/helpers/spree/base_helper.rb +4 -1
- data/app/helpers/spree/products_helper.rb +37 -6
- data/app/mailers/spree/base_mailer.rb +11 -2
- data/app/models/concerns/spree/adjustment_source.rb +3 -10
- data/app/models/concerns/spree/default_price.rb +7 -1
- data/app/models/concerns/spree/named_type.rb +1 -1
- data/app/models/concerns/spree/user_api_authentication.rb +7 -1
- data/app/models/concerns/spree/user_methods.rb +47 -0
- data/app/models/concerns/spree/user_reporting.rb +2 -2
- data/app/models/concerns/spree/vat_price_calculation.rb +47 -0
- data/app/models/spree/address.rb +8 -7
- data/app/models/spree/adjustable/adjuster/base.rb +25 -0
- data/app/models/spree/adjustable/adjuster/promotion.rb +41 -0
- data/app/models/spree/adjustable/adjuster/tax.rb +26 -0
- data/app/models/spree/adjustable/adjustments_updater.rb +22 -45
- data/app/models/spree/adjustment.rb +8 -10
- data/app/models/spree/app_configuration.rb +5 -2
- data/app/models/spree/base.rb +4 -0
- data/app/models/spree/calculator.rb +0 -5
- data/app/models/spree/calculator/default_tax.rb +2 -10
- data/app/models/spree/classification.rb +7 -3
- data/app/models/spree/country.rb +14 -3
- data/app/models/spree/credit_card.rb +21 -31
- data/app/models/spree/customer_return.rb +7 -15
- data/app/models/spree/gateway.rb +7 -6
- data/app/models/spree/image.rb +1 -1
- data/app/models/spree/inventory_unit.rb +9 -6
- data/app/models/spree/legacy_user.rb +1 -6
- data/app/models/spree/line_item.rb +69 -68
- data/app/models/spree/log_entry.rb +1 -4
- data/app/models/spree/option_type.rb +15 -6
- data/app/models/spree/option_type_prototype.rb +9 -0
- data/app/models/spree/option_value.rb +11 -3
- data/app/models/spree/option_value_variant.rb +6 -0
- data/app/models/spree/order.rb +113 -64
- data/app/models/spree/order/checkout.rb +8 -11
- data/app/models/spree/order/currency_updater.rb +1 -1
- data/app/models/spree/order/store_credit.rb +96 -0
- data/app/models/spree/order_contents.rb +6 -1
- data/app/models/spree/order_inventory.rb +4 -8
- data/app/models/spree/order_promotion.rb +6 -0
- data/app/models/spree/order_updater.rb +2 -7
- data/app/models/spree/payment.rb +46 -19
- data/app/models/spree/payment/gateway_options.rb +8 -4
- data/app/models/spree/payment_method.rb +12 -13
- data/app/models/spree/payment_method/store_credit.rb +130 -0
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/price.rb +16 -6
- data/app/models/spree/product.rb +52 -49
- data/app/models/spree/product/scopes.rb +7 -2
- data/app/models/spree/product_option_type.rb +7 -2
- data/app/models/spree/product_promotion_rule.rb +9 -0
- data/app/models/spree/product_property.rb +8 -10
- data/app/models/spree/promotion.rb +19 -19
- data/app/models/spree/promotion/rules/product.rb +3 -1
- data/app/models/spree/promotion/rules/taxon.rb +2 -1
- data/app/models/spree/promotion/rules/user.rb +4 -4
- data/app/models/spree/promotion_action.rb +3 -3
- data/app/models/spree/promotion_category.rb +1 -1
- data/app/models/spree/promotion_rule_taxon.rb +9 -0
- data/app/models/spree/promotion_rule_user.rb +9 -0
- data/app/models/spree/property.rb +2 -1
- data/app/models/spree/property_prototype.rb +9 -0
- data/app/models/spree/prototype.rb +8 -3
- data/app/models/spree/prototype_taxon.rb +9 -0
- data/app/models/spree/refund.rb +10 -7
- data/app/models/spree/refund_reason.rb +1 -1
- data/app/models/spree/reimbursement.rb +12 -16
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +23 -6
- data/app/models/spree/reimbursement_type/store_credit.rb +28 -0
- data/app/models/spree/return_authorization.rb +8 -13
- data/app/models/spree/return_authorization_reason.rb +1 -1
- data/app/models/spree/return_item.rb +13 -12
- data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
- data/app/models/spree/role.rb +3 -2
- data/app/models/spree/role_user.rb +6 -0
- data/app/models/spree/shipment.rb +18 -23
- data/app/models/spree/shipment_handler.rb +2 -2
- data/app/models/spree/shipping_category.rb +6 -3
- data/app/models/spree/shipping_method.rb +11 -10
- data/app/models/spree/shipping_method_zone.rb +6 -0
- data/app/models/spree/shipping_rate.rb +16 -29
- data/app/models/spree/state.rb +3 -2
- data/app/models/spree/state_change.rb +1 -1
- data/app/models/spree/stock/content_item.rb +10 -12
- data/app/models/spree/stock/coordinator.rb +13 -14
- data/app/models/spree/stock/estimator.rb +28 -30
- data/app/models/spree/stock/inventory_unit_builder.rb +1 -9
- data/app/models/spree/stock/packer.rb +1 -1
- data/app/models/spree/stock/quantifier.rb +5 -5
- data/app/models/spree/stock/splitter/backordered.rb +2 -2
- data/app/models/spree/stock_item.rb +12 -18
- data/app/models/spree/stock_location.rb +4 -7
- data/app/models/spree/stock_movement.rb +11 -9
- data/app/models/spree/stock_transfer.rb +11 -12
- data/app/models/spree/store.rb +14 -6
- data/app/models/spree/store_credit.rb +252 -0
- data/app/models/spree/store_credit_category.rb +22 -0
- data/app/models/spree/store_credit_event.rb +38 -0
- data/app/models/spree/store_credit_type.rb +6 -0
- data/app/models/spree/tax_category.rb +3 -8
- data/app/models/spree/tax_rate.rb +56 -122
- data/app/models/spree/taxon.rb +11 -5
- data/app/models/spree/tracker.rb +12 -1
- data/app/models/spree/validations/db_maximum_length_validator.rb +2 -1
- data/app/models/spree/variant.rb +82 -50
- data/app/models/spree/zone.rb +21 -17
- data/app/models/spree/zone_member.rb +6 -0
- data/app/validators/db_maximum_length_validator.rb +11 -0
- data/app/views/layouts/spree/base_mailer.html.erb +38 -781
- data/app/views/spree/order_mailer/_adjustment.html.erb +8 -0
- data/app/views/spree/order_mailer/_subtotal.html.erb +8 -0
- data/app/views/spree/order_mailer/_total.html.erb +8 -0
- data/app/views/spree/order_mailer/cancel_email.html.erb +13 -28
- data/app/views/spree/order_mailer/cancel_email.text.erb +1 -1
- data/app/views/spree/order_mailer/confirm_email.html.erb +49 -63
- data/app/views/spree/order_mailer/confirm_email.text.erb +1 -1
- data/app/views/spree/shared/_base_mailer_header.html.erb +5 -7
- data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +777 -0
- data/app/views/spree/shared/_error_messages.html.erb +1 -1
- data/app/views/spree/shared/_mailer_line_item.html.erb +12 -0
- data/app/views/spree/shipment_mailer/shipped_email.html.erb +21 -14
- data/app/views/spree/shipment_mailer/shipped_email.text.erb +3 -3
- data/config/initializers/user_class_extensions.rb +7 -38
- data/config/locales/en.yml +113 -13
- data/config/routes.rb +7 -0
- data/db/default/spree/default_reimbursement_type.rb +1 -1
- data/db/default/spree/zones.rb +4 -5
- data/db/migrate/20150118210639_create_spree_store_credits.rb +24 -0
- data/db/migrate/20150118211500_create_spree_store_credit_categories.rb +8 -0
- data/db/migrate/20150118212051_create_spree_store_credit_events.rb +17 -0
- data/db/migrate/20150118212101_create_spree_store_credit_types.rb +10 -0
- data/db/migrate/20150314013438_add_missing_indexes.rb +25 -0
- data/db/migrate/20150317174308_remove_duplicated_indexes_from_multi_columns.rb +18 -0
- data/db/migrate/20150324104002_remove_user_index_from_spree_state_changes.rb +14 -0
- data/db/migrate/20150522071831_add_position_to_spree_payment_methods.rb +5 -0
- data/db/migrate/20150626181949_add_taxable_adjustment_total_to_line_item.rb +19 -0
- data/db/migrate/20150627090949_migrate_payment_methods_display.rb +12 -0
- data/db/migrate/20150714154102_spree_payment_method_store_credits.rb +12 -0
- data/db/migrate/20150726141425_rename_has_and_belongs_to_associations_to_model_names.rb +18 -0
- data/db/migrate/20150727191614_spree_store_credit_types.rb +11 -0
- data/db/migrate/20150819154308_add_discontinued_to_products_and_variants.rb +68 -0
- data/db/migrate/20151220072838_remove_shipping_method_id_from_spree_orders.rb +13 -0
- data/db/migrate/20160207191757_add_id_column_to_earlier_habtm_tables.rb +16 -0
- data/db/migrate/20160219165458_add_indexes.rb +14 -0
- data/lib/generators/spree/dummy/templates/rails/database.yml +31 -24
- data/lib/generators/spree/dummy/templates/rails/test.rb +2 -1
- data/lib/spree/core.rb +16 -0
- data/lib/spree/core/controller_helpers/auth.rb +1 -1
- data/lib/spree/core/controller_helpers/common.rb +3 -3
- data/lib/spree/core/controller_helpers/order.rb +6 -5
- data/lib/spree/core/controller_helpers/search.rb +1 -1
- data/lib/spree/core/controller_helpers/store.rb +29 -0
- data/lib/spree/core/delegate_belongs_to.rb +2 -2
- data/lib/spree/core/engine.rb +30 -25
- data/lib/spree/core/environment.rb +1 -1
- data/lib/spree/core/importer/order.rb +37 -40
- data/lib/spree/core/number_generator.rb +52 -0
- data/lib/spree/core/product_filters.rb +1 -1
- data/lib/spree/core/search/base.rb +4 -3
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/localized_number.rb +3 -1
- data/lib/spree/permitted_attributes.rb +5 -2
- data/lib/spree/testing_support/common_rake.rb +3 -3
- data/lib/spree/testing_support/factories.rb +3 -3
- data/lib/spree/testing_support/factories/address_factory.rb +1 -1
- data/lib/spree/testing_support/factories/country_factory.rb +2 -2
- data/lib/spree/testing_support/factories/order_factory.rb +2 -2
- data/lib/spree/testing_support/factories/payment_factory.rb +5 -0
- data/lib/spree/testing_support/factories/payment_method_factory.rb +8 -0
- data/lib/spree/testing_support/factories/promotion_rule_factory.rb +5 -0
- data/lib/spree/testing_support/factories/refund_factory.rb +9 -1
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +2 -0
- data/lib/spree/testing_support/factories/state_factory.rb +2 -2
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +9 -0
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +8 -0
- data/lib/spree/testing_support/factories/store_credit_factory.rb +17 -0
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +11 -0
- data/lib/spree/testing_support/factories/user_factory.rb +1 -1
- data/lib/spree/testing_support/factories/zone_member_factory.rb +6 -0
- data/lib/spree/testing_support/microdata.rb +189 -0
- data/lib/tasks/core.rake +68 -0
- data/lib/tasks/exchanges.rake +2 -2
- data/spec/fixtures/microdata.html +22 -0
- data/spec/fixtures/microdata_itemref.html +15 -0
- data/spec/fixtures/microdata_no_itemscope.html +20 -0
- data/spec/helpers/base_helper_spec.rb +64 -1
- data/spec/helpers/products_helper_spec.rb +75 -3
- data/spec/lib/i18n_spec.rb +2 -2
- data/spec/lib/search/base_spec.rb +2 -2
- data/spec/lib/spree/core/controller_helpers/auth_spec.rb +4 -2
- data/spec/lib/spree/core/controller_helpers/store_spec.rb +56 -0
- data/spec/lib/spree/core/importer/order_spec.rb +226 -123
- data/spec/lib/spree/core/number_generator_spec.rb +175 -0
- data/spec/lib/spree/core_spec.rb +23 -0
- data/spec/lib/spree/localized_number_spec.rb +10 -0
- data/spec/mailers/order_mailer_spec.rb +11 -13
- data/spec/mailers/shipment_mailer_spec.rb +26 -8
- data/spec/mailers/test_mailer_spec.rb +15 -1
- data/spec/models/option_type_prototype_spec.rb +9 -0
- data/spec/models/spree/ability_spec.rb +6 -13
- data/spec/models/spree/address_spec.rb +1 -1
- data/spec/models/spree/adjustable/adjuster/base_spec.rb +10 -0
- data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +211 -0
- data/spec/models/spree/adjustable/adjuster/tax_spec.rb +86 -0
- data/spec/models/spree/adjustable/adjustments_updater_spec.rb +2 -262
- data/spec/models/spree/adjustment_spec.rb +27 -1
- data/spec/models/spree/app_configuration_spec.rb +5 -2
- data/spec/models/spree/calculator/default_tax_spec.rb +39 -14
- data/spec/models/spree/concerns/user_methods_spec.rb +55 -0
- data/spec/models/spree/concerns/vat_price_calculation_spec.rb +66 -0
- data/spec/models/spree/country_spec.rb +45 -8
- data/spec/models/spree/credit_card_spec.rb +8 -8
- data/spec/models/spree/customer_return_spec.rb +4 -26
- data/spec/models/spree/gateway_spec.rb +7 -0
- data/spec/models/spree/image_spec.rb +3 -0
- data/spec/models/spree/inventory_unit_spec.rb +1 -18
- data/spec/models/spree/line_item_spec.rb +78 -18
- data/spec/models/spree/option_type_spec.rb +2 -2
- data/spec/models/spree/option_value_spec.rb +8 -3
- data/spec/models/spree/order/checkout_spec.rb +49 -39
- data/spec/models/spree/order/currency_updater_spec.rb +3 -3
- data/spec/models/spree/order/finalizing_spec.rb +0 -3
- data/spec/models/spree/order/payment_spec.rb +1 -1
- data/spec/models/spree/order/state_machine_spec.rb +1 -6
- data/spec/models/spree/order/store_credit_spec.rb +423 -0
- data/spec/models/spree/order/updating_spec.rb +2 -2
- data/spec/models/spree/order_contents_spec.rb +42 -1
- data/spec/models/spree/order_inventory_spec.rb +27 -17
- data/spec/models/spree/order_spec.rb +65 -52
- data/spec/models/spree/payment/gateway_options_spec.rb +10 -2
- data/spec/models/spree/payment/store_credit_spec.rb +60 -0
- data/spec/models/spree/payment_method/store_credit_spec.rb +291 -0
- data/spec/models/spree/payment_method_spec.rb +22 -14
- data/spec/models/spree/payment_spec.rb +37 -44
- data/spec/models/spree/price_spec.rb +86 -0
- data/spec/models/spree/product/scopes_spec.rb +35 -0
- data/spec/models/spree/product_option_type_spec.rb +6 -2
- data/spec/models/spree/product_promotion_rule_spec.rb +9 -0
- data/spec/models/spree/product_property_spec.rb +11 -0
- data/spec/models/spree/product_spec.rb +82 -15
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +1 -1
- data/spec/models/spree/promotion/rules/user_spec.rb +8 -0
- data/spec/models/spree/promotion_action_spec.rb +1 -1
- data/spec/models/spree/promotion_rule_spec.rb +1 -1
- data/spec/models/spree/promotion_rule_taxon_spec.rb +9 -0
- data/spec/models/spree/promotion_rule_user_spec.rb +9 -0
- data/spec/models/spree/promotion_spec.rb +57 -36
- data/spec/models/spree/property_prototype_spec.rb +9 -0
- data/spec/models/spree/prototype_taxon_spec.rb +9 -0
- data/spec/models/spree/refund_reason_spec.rb +7 -0
- data/spec/models/spree/reimbursement_spec.rb +3 -30
- data/spec/models/spree/reimbursement_tax_calculator_spec.rb +17 -5
- data/spec/models/spree/reimbursement_type/store_credit_spec.rb +101 -0
- data/spec/models/spree/return_authorization_reason_spec.rb +7 -0
- data/spec/models/spree/return_authorization_spec.rb +2 -22
- data/spec/models/spree/return_item_spec.rb +50 -1
- data/spec/models/spree/returns_calculator_spec.rb +1 -1
- data/spec/models/spree/role_spec.rb +7 -0
- data/spec/models/spree/shipment_spec.rb +17 -17
- data/spec/models/spree/shipping_calculator_spec.rb +2 -2
- data/spec/models/spree/shipping_category_spec.rb +14 -0
- data/spec/models/spree/shipping_method_spec.rb +9 -2
- data/spec/models/spree/shipping_rate_spec.rb +40 -41
- data/spec/models/spree/state_spec.rb +12 -1
- data/spec/models/spree/stock/content_item_spec.rb +9 -0
- data/spec/models/spree/stock/estimator_spec.rb +56 -8
- data/spec/models/spree/stock/quantifier_spec.rb +61 -32
- data/spec/models/spree/stock_item_spec.rb +19 -1
- data/spec/models/spree/store_credit_event_spec.rb +101 -0
- data/spec/models/spree/store_credit_spec.rb +786 -0
- data/spec/models/spree/store_spec.rb +39 -11
- data/spec/models/spree/tax_category_spec.rb +6 -1
- data/spec/models/spree/tax_rate_spec.rb +204 -44
- data/spec/models/spree/user_spec.rb +105 -38
- data/spec/models/spree/variant_spec.rb +281 -9
- data/spec/models/spree/zone_member_spec.rb +38 -0
- data/spec/models/spree/zone_spec.rb +32 -8
- data/spec/spec_helper.rb +3 -0
- data/spec/support/concerns/{adjustment_source_spec.rb → adjustment_source.rb} +0 -0
- data/spec/support/concerns/{default_price_spec.rb → default_price.rb} +9 -0
- data/spec/validators/db_maximum_length_validator_spec.rb +22 -0
- data/spree_core.gemspec +5 -6
- metadata +99 -36
- data/CHANGELOG.md +0 -4
- data/app/models/concerns/spree/number_generator.rb +0 -39
- data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +0 -24
@@ -1,6 +1,6 @@
|
|
1
1
|
<% if target && target.errors.any? %>
|
2
2
|
<div id="errorExplanation" class="errorExplanation" data-hook>
|
3
|
-
<h2><%= Spree.t(:errors_prohibited_this_record_from_being_saved, :
|
3
|
+
<h2><%= Spree.t(:errors_prohibited_this_record_from_being_saved, count: target.errors.size) %>:</h2>
|
4
4
|
<p><%= Spree.t(:there_were_problems_with_the_following_fields) %>:</p>
|
5
5
|
<ul>
|
6
6
|
<% target.errors.full_messages.each do |msg| %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="six sub-columns">
|
3
|
+
<strong>
|
4
|
+
<%= link_to raw(line_item.variant.product.name), spree.product_url(line_item.variant.product) %>
|
5
|
+
</strong>
|
6
|
+
<%= raw(line_item.variant.options_text) -%>
|
7
|
+
(<%= line_item.variant.sku %>)
|
8
|
+
</td>
|
9
|
+
<td class="six sub-columns last right">
|
10
|
+
<%= line_item.quantity %> x <%= line_item.single_money %> = <%= line_item.display_amount %>
|
11
|
+
</td>
|
12
|
+
</tr>
|
@@ -1,30 +1,37 @@
|
|
1
|
-
<table>
|
1
|
+
<table class="row header">
|
2
2
|
<tr>
|
3
3
|
<td>
|
4
4
|
<p class="lede">
|
5
5
|
<%= Spree.t('shipment_mailer.shipped_email.dear_customer') %>
|
6
6
|
</p>
|
7
7
|
<p>
|
8
|
-
<%= Spree.t('shipment_mailer.shipped_email.instructions') %>
|
8
|
+
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
9
9
|
</p>
|
10
10
|
<p>
|
11
11
|
<%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %>
|
12
12
|
</p>
|
13
|
-
<table>
|
14
|
-
|
15
|
-
<
|
16
|
-
<
|
17
|
-
|
18
|
-
|
19
|
-
</
|
20
|
-
|
13
|
+
<table class="container">
|
14
|
+
<tr>
|
15
|
+
<td class="wrapper last">
|
16
|
+
<table class="twelve columns">
|
17
|
+
<%= render collection: @shipment.manifest.map(&:line_item), partial: 'spree/shared/mailer_line_item', as: :line_item %>
|
18
|
+
</table>
|
19
|
+
</td>
|
20
|
+
</tr>
|
21
21
|
</table>
|
22
22
|
<p>
|
23
|
-
<%= Spree.t('shipment_mailer.shipped_email.
|
24
|
-
</p>
|
25
|
-
<p>
|
26
|
-
<%= Spree.t('shipment_mailer.shipped_email.track_link', :url => @shipment.tracking_url) if @shipment.tracking_url %>
|
23
|
+
<%= Spree.t('shipment_mailer.shipped_email.shipping_method', shipping_method: @shipment.shipping_method.name) %>
|
27
24
|
</p>
|
25
|
+
<% if @shipment.tracking %>
|
26
|
+
<p>
|
27
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) %>
|
28
|
+
</p>
|
29
|
+
<% end %>
|
30
|
+
<% if @shipment.tracking_url %>
|
31
|
+
<p>
|
32
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: link_to(@shipment.tracking_url, @shipment.tracking_url)).html_safe %>
|
33
|
+
</p>
|
34
|
+
<% end %>
|
28
35
|
<p>
|
29
36
|
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
30
37
|
</p>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= Spree.t('shipment_mailer.shipped_email.dear_customer') %>
|
2
2
|
|
3
|
-
<%= Spree.t('shipment_mailer.shipped_email.instructions') %>
|
3
|
+
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
4
4
|
|
5
5
|
============================================================
|
6
6
|
<%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<% end %>
|
11
11
|
============================================================
|
12
12
|
|
13
|
-
<%= Spree.t('shipment_mailer.shipped_email.track_information', :
|
14
|
-
<%= Spree.t('shipment_mailer.shipped_email.track_link',
|
13
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) if @shipment.tracking %>
|
14
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: @shipment.tracking_url) if @shipment.tracking_url %>
|
15
15
|
|
16
16
|
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
@@ -1,41 +1,10 @@
|
|
1
|
-
Spree
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
include Spree::UserApiAuthentication
|
6
|
-
include Spree::UserPaymentSource
|
7
|
-
include Spree::UserReporting
|
8
|
-
|
9
|
-
has_and_belongs_to_many :spree_roles,
|
10
|
-
join_table: 'spree_roles_users',
|
11
|
-
foreign_key: "user_id",
|
12
|
-
class_name: "Spree::Role"
|
13
|
-
|
14
|
-
has_many :orders, foreign_key: :user_id, class_name: "Spree::Order"
|
15
|
-
|
16
|
-
belongs_to :ship_address, class_name: 'Spree::Address'
|
17
|
-
belongs_to :bill_address, class_name: 'Spree::Address'
|
1
|
+
# Ensure that Spree.user_class includes the UserMethods concern
|
2
|
+
# Previously these methods were injected automatically onto the class, which we
|
3
|
+
# are still doing for compatability, but with a warning.
|
18
4
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
def self.ransackable_attributes(auth_object=nil)
|
24
|
-
%w[id email]
|
25
|
-
end
|
26
|
-
|
27
|
-
# has_spree_role? simply needs to return true or false whether a user has a role or not.
|
28
|
-
def has_spree_role?(role_in_question)
|
29
|
-
spree_roles.where(name: role_in_question.to_s).any?
|
30
|
-
end
|
31
|
-
|
32
|
-
def last_incomplete_spree_order
|
33
|
-
orders.incomplete.order('created_at DESC').first
|
34
|
-
end
|
35
|
-
|
36
|
-
def analytics_id
|
37
|
-
id
|
38
|
-
end
|
39
|
-
end
|
5
|
+
Spree::Core::Engine.config.to_prepare do
|
6
|
+
if Spree.user_class && !Spree.user_class.included_modules.include?(Spree::UserMethods)
|
7
|
+
ActiveSupport::Deprecation.warn "#{Spree.user_class} must include Spree::UserMethods"
|
8
|
+
Spree.user_class.include Spree::UserMethods
|
40
9
|
end
|
41
10
|
end
|
data/config/locales/en.yml
CHANGED
@@ -77,6 +77,7 @@ en:
|
|
77
77
|
name: Name
|
78
78
|
spree/product:
|
79
79
|
available_on: Available On
|
80
|
+
discontinue_on: Discontinue On
|
80
81
|
cost_currency: Cost Currency
|
81
82
|
cost_price: Cost Price
|
82
83
|
description: Description
|
@@ -126,6 +127,10 @@ en:
|
|
126
127
|
seo_title: Seo Title
|
127
128
|
name: Site Name
|
128
129
|
mail_from_address: Mail From Address
|
130
|
+
spree/store_credit:
|
131
|
+
amount_used: "Amount used"
|
132
|
+
spree/store_credit_category:
|
133
|
+
name: Name
|
129
134
|
spree/tax_category:
|
130
135
|
description: Description
|
131
136
|
name: Name
|
@@ -246,6 +251,12 @@ en:
|
|
246
251
|
spree/stock_transfer:
|
247
252
|
one: Stock Transfer
|
248
253
|
other: Stock Transfers
|
254
|
+
spree/store_credit:
|
255
|
+
one: Store Credit
|
256
|
+
other: Store Credits
|
257
|
+
spree/store_credit_category:
|
258
|
+
one: Store Credit Category
|
259
|
+
other: Store Credit Categories
|
249
260
|
spree/tax_category:
|
250
261
|
one: Tax Category
|
251
262
|
other: Tax Categories
|
@@ -312,11 +323,25 @@ en:
|
|
312
323
|
cannot_be_associated_unless_accepted: cannot be associated to a return item that is not accepted.
|
313
324
|
inventory_unit:
|
314
325
|
other_completed_return_item_exists: "%{inventory_unit_id} has already been taken by return item %{return_item_id}"
|
326
|
+
spree/shipping_method:
|
327
|
+
attributes:
|
328
|
+
base:
|
329
|
+
required_shipping_category: "You must select at least one shipping category"
|
315
330
|
spree/store:
|
316
331
|
attributes:
|
317
332
|
base:
|
318
333
|
cannot_destroy_default_store: Cannot destroy the default Store.
|
319
|
-
|
334
|
+
spree/store_credit:
|
335
|
+
attributes:
|
336
|
+
amount_used:
|
337
|
+
cannot_be_greater_than_amount: Cannot be greater than amount.
|
338
|
+
greater_than_zero_restrict_delete: is greater than zero. Can not delete store credit.
|
339
|
+
amount_authorized:
|
340
|
+
exceeds_total_credits: Exceeds total credits.
|
341
|
+
spree/variant:
|
342
|
+
attributes:
|
343
|
+
base:
|
344
|
+
cannot_destroy_if_attached_to_line_items: Cannot delete variants once they are attached to line items.
|
320
345
|
|
321
346
|
devise:
|
322
347
|
confirmations:
|
@@ -356,6 +381,7 @@ en:
|
|
356
381
|
user_sessions:
|
357
382
|
signed_in: Signed in successfully.
|
358
383
|
signed_out: Signed out successfully.
|
384
|
+
|
359
385
|
errors:
|
360
386
|
messages:
|
361
387
|
already_confirmed: was already confirmed
|
@@ -364,6 +390,12 @@ en:
|
|
364
390
|
not_saved:
|
365
391
|
one: ! '1 error prohibited this %{resource} from being saved:'
|
366
392
|
other: ! '%{count} errors prohibited this %{resource} from being saved:'
|
393
|
+
|
394
|
+
number:
|
395
|
+
percentage:
|
396
|
+
format:
|
397
|
+
precision: 1
|
398
|
+
|
367
399
|
spree:
|
368
400
|
abbreviation: Abbreviation
|
369
401
|
accept: Accept
|
@@ -402,6 +434,7 @@ en:
|
|
402
434
|
add_stock: Add Stock
|
403
435
|
add_to_cart: Add To Cart
|
404
436
|
add_variant: Add Variant
|
437
|
+
add_store_credit: Add Store Credit
|
405
438
|
additional_item: Additional Item
|
406
439
|
address: Address
|
407
440
|
address1: Address
|
@@ -409,6 +442,10 @@ en:
|
|
409
442
|
adjustable: Adjustable
|
410
443
|
adjustment: Adjustment
|
411
444
|
adjustment_amount: Amount
|
445
|
+
adjustment_labels:
|
446
|
+
tax_rates:
|
447
|
+
including_tax: '%{name}%{amount} (Included in Price)'
|
448
|
+
excluding_tax: '%{name}%{amount}'
|
412
449
|
adjustment_successfully_closed: Adjustment has been successfully closed!
|
413
450
|
adjustment_successfully_opened: Adjustment has been successfully opened!
|
414
451
|
adjustment_total: Adjustment Total
|
@@ -428,6 +465,12 @@ en:
|
|
428
465
|
taxonomies: Taxonomies
|
429
466
|
taxons: Taxons
|
430
467
|
users: Users
|
468
|
+
order:
|
469
|
+
events:
|
470
|
+
approve: approve
|
471
|
+
cancel: cancel
|
472
|
+
resume: resume
|
473
|
+
resend: Resend
|
431
474
|
user:
|
432
475
|
account: Account
|
433
476
|
addresses: Addresses
|
@@ -437,6 +480,9 @@ en:
|
|
437
480
|
order_num: "Order #"
|
438
481
|
orders: Orders
|
439
482
|
user_information: User Information
|
483
|
+
store_credits: Store Credits
|
484
|
+
no_store_credit: User has no Store Credit available.
|
485
|
+
available_store_credit: User has %{amount} in Store Credit available.
|
440
486
|
administration: Administration
|
441
487
|
advertise: Advertise
|
442
488
|
agree_to_privacy_policy: Agree to Privacy Policy
|
@@ -469,6 +515,7 @@ en:
|
|
469
515
|
authorized: Authorized
|
470
516
|
auto_capture: Auto Capture
|
471
517
|
available_on: Available On
|
518
|
+
available: Available
|
472
519
|
average_order_value: Average Order Value
|
473
520
|
avs_response: AVS Response
|
474
521
|
back: Back
|
@@ -493,8 +540,10 @@ en:
|
|
493
540
|
calculator: Calculator
|
494
541
|
calculator_settings_warning: If you are changing the calculator type, you must save first before you can edit the calculator settings
|
495
542
|
cancel: cancel
|
543
|
+
canceled: Canceled
|
496
544
|
canceler: Canceler
|
497
545
|
canceled_at: Canceled at
|
546
|
+
cannot_empty_completed_order: Order has already been processed so it cannot be emptied
|
498
547
|
cannot_create_payment_without_payment_methods: You cannot create a payment for an order without any payment methods defined.
|
499
548
|
cannot_create_customer_returns: Cannot create customer returns as this order has no shipped units.
|
500
549
|
cannot_create_returns: Cannot create returns as this order has no shipped units.
|
@@ -567,11 +616,13 @@ en:
|
|
567
616
|
create_new_order: Create new order
|
568
617
|
create_reimbursement: Create reimbursement
|
569
618
|
created_at: Created At
|
619
|
+
created_by: Created By
|
570
620
|
credit: Credit
|
571
|
-
credits: Credits
|
572
621
|
credit_card: Credit Card
|
573
622
|
credit_cards: Credit Cards
|
574
623
|
credit_owed: Credit Owed
|
624
|
+
credited: Credited
|
625
|
+
credits: Credits
|
575
626
|
currency: Currency
|
576
627
|
currency_settings: Currency Settings
|
577
628
|
current: Current
|
@@ -602,12 +653,14 @@ en:
|
|
602
653
|
js_format: yy/mm/dd
|
603
654
|
date_range: Date Range
|
604
655
|
default: Default
|
656
|
+
default_country_cannot_be_deleted: Default country cannot be deleted
|
605
657
|
default_refund_amount: Default Refund Amount
|
606
658
|
default_tax: Default Tax
|
607
659
|
default_tax_zone: Default Tax Zone
|
608
660
|
delete: Delete
|
661
|
+
deleted: Deleted
|
609
662
|
delete_from_taxon: Delete From Taxon
|
610
|
-
|
663
|
+
discontinued_variants_present: Some line items in this order have products that are no longer available.
|
611
664
|
delivery: Delivery
|
612
665
|
depth: Depth
|
613
666
|
details: Details
|
@@ -616,6 +669,7 @@ en:
|
|
616
669
|
destroy: Destroy
|
617
670
|
discount_amount: Discount Amount
|
618
671
|
discontinue_on: Discontinue On
|
672
|
+
discontinued: Discontinued
|
619
673
|
dismiss_banner: No. Thanks! I'm not interested, do not display this message again
|
620
674
|
display: Display
|
621
675
|
doesnt_track_inventory: It doesn't track inventory
|
@@ -746,6 +800,7 @@ en:
|
|
746
800
|
inventory_state: Inventory State
|
747
801
|
is_not_available_to_shipment_address: is not available to shipment address
|
748
802
|
iso_name: Iso Name
|
803
|
+
issued_on: Issued On
|
749
804
|
item: Item
|
750
805
|
item_description: Item Description
|
751
806
|
item_total: Item Total
|
@@ -838,6 +893,8 @@ en:
|
|
838
893
|
new_stock_location: New Stock Location
|
839
894
|
new_stock_movement: New Stock Movement
|
840
895
|
new_stock_transfer: New Stock Transfer
|
896
|
+
new_store_credit: New Store Credit
|
897
|
+
new_store_credit_category: New Store Credit Category
|
841
898
|
new_tax_category: New Tax Category
|
842
899
|
new_tax_rate: New Tax Rate
|
843
900
|
new_taxon: New Taxon
|
@@ -848,6 +905,7 @@ en:
|
|
848
905
|
new_zone: New Zone
|
849
906
|
next: Next
|
850
907
|
no_actions_added: No actions added
|
908
|
+
no_available_date_set: No available date set
|
851
909
|
no_payment_found: No payment found
|
852
910
|
no_pending_payments: No pending payments
|
853
911
|
no_products_found: No products found
|
@@ -858,6 +916,7 @@ en:
|
|
858
916
|
no_shipping_method_selected: No shipping method selected.
|
859
917
|
no_state_changes: No state changes yet.
|
860
918
|
no_tracking_present: No tracking details provided.
|
919
|
+
user_not_found: User not found
|
861
920
|
none: None
|
862
921
|
none_selected: None Selected
|
863
922
|
normal_amount: Normal Amount
|
@@ -874,6 +933,7 @@ en:
|
|
874
933
|
variant_deleted: Variant has been deleted
|
875
934
|
variant_not_deleted: Variant could not be deleted
|
876
935
|
num_orders: "# Orders"
|
936
|
+
number: Number
|
877
937
|
on_hand: On Hand
|
878
938
|
open: Open
|
879
939
|
open_all_adjustments: Open All Adjustments
|
@@ -896,21 +956,19 @@ en:
|
|
896
956
|
order_information: Order Information
|
897
957
|
order_line_items: Order Line Items
|
898
958
|
order_mailer:
|
959
|
+
subtotal: ! 'Subtotal:'
|
960
|
+
total: ! 'Order Total:'
|
899
961
|
cancel_email:
|
900
962
|
dear_customer: Dear Customer,
|
901
963
|
instructions: Your order has been CANCELED. Please retain this cancellation information for your records.
|
902
|
-
order_summary_canceled: Order Summary [CANCELED]
|
964
|
+
order_summary_canceled: Order %{number} Summary [CANCELED]
|
903
965
|
subject: Cancellation of Order
|
904
|
-
subtotal: ! 'Subtotal:'
|
905
|
-
total: ! 'Order Total:'
|
906
966
|
confirm_email:
|
907
967
|
dear_customer: Dear Customer,
|
908
968
|
instructions: Please review and retain the following order information for your records.
|
909
|
-
order_summary: Order Summary
|
969
|
+
order_summary: Order %{number} Summary
|
910
970
|
subject: Order Confirmation
|
911
|
-
subtotal: ! 'Subtotal:'
|
912
971
|
thanks: Thank you for your business.
|
913
|
-
total: ! 'Order Total:'
|
914
972
|
order_not_found: We couldn't find your order. Please try that action again.
|
915
973
|
order_number: Order %{number}
|
916
974
|
order_processed_successfully: Your order has been processed successfully
|
@@ -969,6 +1027,7 @@ en:
|
|
969
1027
|
percent_per_item: Percent Per Item
|
970
1028
|
permalink: Permalink
|
971
1029
|
pending: Pending
|
1030
|
+
pending_sale: Pending Sale
|
972
1031
|
phone: Phone
|
973
1032
|
place_order: Place Order
|
974
1033
|
please_define_payment_methods: Please define some payment methods first.
|
@@ -1023,6 +1082,7 @@ en:
|
|
1023
1082
|
match_policies:
|
1024
1083
|
all: Match all of these rules
|
1025
1084
|
any: Match any of these rules
|
1085
|
+
promotion_label: 'Promotion (%{name})'
|
1026
1086
|
promotion_rule: Promotion Rule
|
1027
1087
|
promotion_rule_types:
|
1028
1088
|
first_order:
|
@@ -1099,14 +1159,17 @@ en:
|
|
1099
1159
|
report: Report
|
1100
1160
|
reports: Reports
|
1101
1161
|
resellable: Resellable
|
1102
|
-
resend: Resend
|
1103
1162
|
reset_password: Reset my password
|
1104
1163
|
response_code: Response Code
|
1105
1164
|
resume: resume
|
1106
1165
|
resumed: Resumed
|
1107
1166
|
return: return
|
1167
|
+
returns: Returns
|
1108
1168
|
return_authorization: Return Authorization
|
1109
1169
|
return_authorization_reasons: Return Authorization Reasons
|
1170
|
+
return_authorization_states:
|
1171
|
+
authorized: Authorized
|
1172
|
+
canceled: Canceled
|
1110
1173
|
return_authorization_updated: Return authorization updated
|
1111
1174
|
return_authorizations: Return Authorizations
|
1112
1175
|
return_item_inventory_unit_ineligible: Return item's inventory unit must be shipped
|
@@ -1157,6 +1220,7 @@ en:
|
|
1157
1220
|
select_from_prototype: Select From Prototype
|
1158
1221
|
select_a_return_authorization_reason: Select a reason for the return authorization
|
1159
1222
|
select_a_stock_location: Select a stock location
|
1223
|
+
select_a_store_credit_reason: Select a reason for the store credit
|
1160
1224
|
select_stock: Select stock
|
1161
1225
|
selected_quantity_not_available: ! 'selected of %{item} is not available.'
|
1162
1226
|
send_copy_of_all_mails_to: Send Copy of All Mails To
|
@@ -1173,12 +1237,13 @@ en:
|
|
1173
1237
|
shipment_mailer:
|
1174
1238
|
shipped_email:
|
1175
1239
|
dear_customer: Dear Customer,
|
1176
|
-
instructions: Your order has been shipped
|
1177
|
-
shipment_summary: Shipment Summary
|
1240
|
+
instructions: Your order %{number} has been shipped
|
1241
|
+
shipment_summary: Shipment Summary for order
|
1242
|
+
shipping_method: "Shipping method: %{shipping_method}"
|
1178
1243
|
subject: Shipment Notification
|
1179
1244
|
thanks: Thank you for your business.
|
1180
1245
|
track_information: ! 'Tracking Information: %{tracking}'
|
1181
|
-
track_link:
|
1246
|
+
track_link: "Tracking Link: %{url}"
|
1182
1247
|
shipment_state: Shipment State
|
1183
1248
|
shipment_states:
|
1184
1249
|
backorder: backorder
|
@@ -1202,12 +1267,17 @@ en:
|
|
1202
1267
|
shipping_method: Shipping Method
|
1203
1268
|
shipping_methods: Shipping Methods
|
1204
1269
|
shipping_price_sack: Price sack
|
1270
|
+
shipping_rates:
|
1271
|
+
display_price:
|
1272
|
+
including_tax: "%{price} (incl. %{tax_amount} %{tax_rate_name})"
|
1273
|
+
excluding_tax: "%{price} (+ %{tax_amount} %{tax_rate_name})"
|
1205
1274
|
shipping_total: Shipping total
|
1206
1275
|
shop_by_taxonomy: Shop by %{taxonomy}
|
1207
1276
|
shopping_cart: Shopping Cart
|
1208
1277
|
show: Show
|
1209
1278
|
show_active: Show Active
|
1210
1279
|
show_deleted: Show Deleted
|
1280
|
+
show_discontinued: Show Discontinued
|
1211
1281
|
show_only_complete_orders: Only show complete orders
|
1212
1282
|
show_only_considered_risky: Only show risky orders
|
1213
1283
|
show_rate_in_label: Show rate in label
|
@@ -1272,6 +1342,35 @@ en:
|
|
1272
1342
|
stock_transfers: Stock Transfers
|
1273
1343
|
stop: Stop
|
1274
1344
|
store: Store
|
1345
|
+
store_credit_name: Store Credit
|
1346
|
+
store_credit:
|
1347
|
+
credit: "Credit"
|
1348
|
+
authorized: "Authorized"
|
1349
|
+
captured: "Used"
|
1350
|
+
allocated: "Added"
|
1351
|
+
apply: Apply Store Credit
|
1352
|
+
applicable_amount: "%{amount} in store credit will be applied to this order."
|
1353
|
+
available_amount: "You have %{amount} in Store Credit available!"
|
1354
|
+
remaining_amount: "You have %{amount} remaining in your account\'s Store Credit."
|
1355
|
+
additional_payment_needed: Select another payment method for the remaining %{amount}.
|
1356
|
+
errors:
|
1357
|
+
cannot_change_used_store_credit: You cannot change a store credit that has already been used
|
1358
|
+
unable_to_create: Unable to create store credit
|
1359
|
+
unable_to_delete: Unable to delete store credit
|
1360
|
+
unable_to_fund: Unable to pay for order using store credits
|
1361
|
+
unable_to_update: Unable to update store credit
|
1362
|
+
store_credit_categories: Store Credit Categories
|
1363
|
+
store_credit_payment_method:
|
1364
|
+
unable_to_void: "Unable to void code: %{auth_code}"
|
1365
|
+
unable_to_credit: "Unable to credit code: %{auth_code}"
|
1366
|
+
successful_action: "Successful store credit %{action}"
|
1367
|
+
unable_to_find: "Could not find store credit"
|
1368
|
+
insufficient_funds: "Store credit amount remaining is not sufficient"
|
1369
|
+
currency_mismatch: "Store credit currency does not match order currency"
|
1370
|
+
insufficient_authorized_amount: "Unable to capture more than authorized amount"
|
1371
|
+
unable_to_find_for_action: "Could not find store credit for auth code: %{auth_code} for action: %{action}"
|
1372
|
+
user_has_no_store_credits: "User does not have any available store credit"
|
1373
|
+
select_one_store_credit: "Select store credit to go towards remaining balance"
|
1275
1374
|
street_address: Street Address
|
1276
1375
|
street_address_2: Street Address (cont'd)
|
1277
1376
|
subtotal: Subtotal
|
@@ -1353,6 +1452,7 @@ en:
|
|
1353
1452
|
use_new_cc: Use a new card
|
1354
1453
|
use_new_cc_or_payment_method: Use a new card / payment method
|
1355
1454
|
use_s3: Use Amazon S3 For Images
|
1455
|
+
used: Used
|
1356
1456
|
user: User
|
1357
1457
|
user_rule:
|
1358
1458
|
choose_users: Choose users
|