solidus_core 2.0.3 → 2.1.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +62 -3
- data/app/assets/javascripts/spree.js.coffee.erb +4 -1
- data/app/helpers/spree/base_helper.rb +7 -48
- data/app/models/spree/address.rb +5 -1
- data/app/models/spree/adjustment.rb +3 -3
- data/app/models/spree/app_configuration.rb +13 -0
- data/app/models/spree/calculator.rb +3 -2
- data/app/models/spree/calculator/default_tax.rb +6 -10
- data/app/models/spree/calculator/flat_percent_item_total.rb +0 -4
- data/app/models/spree/calculator/flat_rate.rb +0 -4
- data/app/models/spree/calculator/flexi_rate.rb +0 -4
- data/app/models/spree/calculator/free_shipping.rb +0 -3
- data/app/models/spree/calculator/percent_on_line_item.rb +0 -4
- data/app/models/spree/calculator/percent_per_item.rb +0 -4
- data/app/models/spree/calculator/price_sack.rb +0 -4
- data/app/models/spree/calculator/returns/default_refund_amount.rb +0 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +0 -4
- data/app/models/spree/calculator/shipping/flat_rate.rb +0 -4
- data/app/models/spree/calculator/shipping/flexi_rate.rb +0 -4
- data/app/models/spree/calculator/shipping/per_item.rb +0 -4
- data/app/models/spree/calculator/shipping/price_sack.rb +0 -4
- data/app/models/spree/calculator/tiered_flat_rate.rb +0 -4
- data/app/models/spree/calculator/tiered_percent.rb +0 -4
- data/app/models/spree/credit_card.rb +27 -14
- data/app/models/spree/gateway.rb +4 -0
- data/app/models/spree/inventory_unit.rb +2 -0
- data/app/models/spree/line_item.rb +31 -26
- data/app/models/spree/option_type.rb +0 -3
- data/app/models/spree/order.rb +28 -31
- data/app/models/spree/order/checkout.rb +0 -2
- data/app/models/spree/order_contents.rb +0 -45
- data/app/models/spree/order_merger.rb +6 -6
- data/app/models/spree/order_update_attributes.rb +0 -2
- data/app/models/spree/order_updater.rb +91 -13
- data/app/models/spree/payment.rb +9 -2
- data/app/models/spree/payment/processing.rb +15 -9
- data/app/models/spree/payment_method.rb +48 -5
- data/app/models/spree/price.rb +7 -9
- data/app/models/spree/product.rb +1 -25
- data/app/models/spree/promotion.rb +22 -14
- data/app/models/spree/promotion/actions/create_adjustment.rb +12 -1
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +15 -1
- data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +5 -3
- data/app/models/spree/promotion/actions/free_shipping.rb +14 -0
- data/app/models/spree/promotion/rules/taxon.rb +7 -2
- data/app/models/spree/promotion/rules/user_role.rb +43 -0
- data/app/models/spree/promotion_action.rb +19 -2
- data/app/models/spree/promotion_handler/coupon.rb +1 -4
- data/app/models/spree/promotion_handler/free_shipping.rb +22 -17
- data/app/models/spree/promotion_rule_role.rb +6 -0
- data/app/models/spree/property.rb +0 -3
- data/app/models/spree/return_authorization.rb +2 -0
- data/app/models/spree/shipment.rb +5 -21
- data/app/models/spree/shipping_method.rb +23 -2
- data/app/models/spree/shipping_rate.rb +3 -0
- data/app/models/spree/stock/estimator.rb +1 -1
- data/app/models/spree/stock_location.rb +3 -0
- data/app/models/spree/store.rb +7 -0
- data/app/models/spree/tax/item_adjuster.rb +27 -12
- data/app/models/spree/tax/order_adjuster.rb +2 -5
- data/app/models/spree/tax/tax_helpers.rb +4 -8
- data/app/models/spree/tax_rate.rb +1 -15
- data/app/models/spree/taxon.rb +0 -3
- data/app/models/spree/transfer_item.rb +1 -1
- data/app/models/spree/user_class_handle.rb +14 -9
- data/app/models/spree/variant/pricing_options.rb +1 -1
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +1 -1
- data/app/models/spree/zone.rb +20 -13
- data/config/locales/en.yml +144 -62
- data/db/migrate/20120831092320_spree_one_two.rb +0 -7
- data/db/migrate/20150723224133_remove_unnecessary_indexes.rb +0 -2
- data/db/migrate/20160924135758_remove_is_default_from_prices.rb +5 -0
- data/db/migrate/20161009141333_remove_currency_from_line_items.rb +5 -0
- data/db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb +28 -0
- data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb +20 -0
- data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +4 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +0 -2
- data/lib/spree/core.rb +0 -5
- data/lib/spree/core/controller_helpers/pricing.rb +2 -1
- data/lib/spree/core/engine.rb +14 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/deprecation.rb +1 -1
- data/lib/spree/localized_number.rb +3 -2
- data/lib/spree/permission_sets/configuration_display.rb +0 -1
- data/lib/spree/permission_sets/configuration_management.rb +0 -1
- data/lib/spree/permission_sets/product_display.rb +0 -1
- data/lib/spree/permission_sets/product_management.rb +0 -1
- data/lib/spree/permission_sets/user_management.rb +2 -4
- data/lib/spree/permitted_attributes.rb +3 -2
- data/lib/spree/testing_support/capybara_ext.rb +0 -12
- data/lib/spree/testing_support/factories/address_factory.rb +1 -1
- data/lib/spree/testing_support/factories/line_item_factory.rb +0 -1
- data/lib/spree/testing_support/factories/payment_factory.rb +4 -0
- data/lib/spree/testing_support/factories/payment_method_factory.rb +8 -1
- data/lib/spree/testing_support/factories/user_factory.rb +2 -2
- data/solidus_core.gemspec +4 -3
- data/spec/helpers/base_helper_spec.rb +0 -40
- data/spec/lib/spree/core/controller_helpers/pricing_spec.rb +16 -0
- data/spec/lib/spree/core/importer/order_spec.rb +27 -18
- data/spec/lib/spree/core/price_migrator_spec.rb +3 -1
- data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +16 -0
- data/spec/lib/spree/core/unreturned_item_charger_spec.rb +0 -2
- data/spec/lib/tasks/exchanges_spec.rb +4 -2
- data/spec/lib/tasks/migrations/create_vat_prices_spec.rb +5 -3
- data/spec/models/spree/adjustment_spec.rb +136 -0
- data/spec/models/spree/calculator/default_tax_spec.rb +13 -7
- data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +3 -0
- data/spec/models/spree/calculator/flat_rate_spec.rb +3 -0
- data/spec/models/spree/calculator/flexi_rate_spec.rb +3 -0
- data/spec/models/spree/calculator/free_shipping_spec.rb +6 -0
- data/spec/models/spree/calculator/percent_on_line_item_spec.rb +9 -4
- data/spec/models/spree/calculator/percent_per_item_spec.rb +10 -0
- data/spec/models/spree/calculator/price_sack_spec.rb +3 -0
- data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +3 -0
- data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +3 -0
- data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +3 -0
- data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +3 -0
- data/spec/models/spree/calculator/shipping/per_item_spec.rb +3 -0
- data/spec/models/spree/calculator/shipping/price_sack_spec.rb +4 -1
- data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +3 -0
- data/spec/models/spree/calculator/tiered_percent_spec.rb +3 -0
- data/spec/models/spree/credit_card_spec.rb +27 -1
- data/spec/models/spree/line_item_spec.rb +58 -65
- data/spec/models/spree/order/checkout_spec.rb +2 -1
- data/spec/models/spree/order/payment_spec.rb +9 -10
- data/spec/models/spree/order/tax_spec.rb +22 -7
- data/spec/models/spree/order/updating_spec.rb +1 -3
- data/spec/models/spree/order_cancellations_spec.rb +6 -4
- data/spec/models/spree/order_contents_spec.rb +34 -50
- data/spec/models/spree/order_inventory_spec.rb +3 -5
- data/spec/models/spree/order_merger_spec.rb +20 -0
- data/spec/models/spree/order_spec.rb +28 -64
- data/spec/models/spree/order_update_attributes_spec.rb +1 -5
- data/spec/models/spree/order_updater_spec.rb +251 -0
- data/spec/models/spree/payment_method_spec.rb +178 -28
- data/spec/models/spree/payment_spec.rb +35 -19
- data/spec/models/spree/permission_sets/configuration_display.rb +0 -4
- data/spec/models/spree/permission_sets/configuration_management_spec.rb +0 -2
- data/spec/models/spree/permission_sets/product_display_spec.rb +0 -4
- data/spec/models/spree/permission_sets/product_management_spec.rb +0 -2
- data/spec/models/spree/permission_sets/user_management_spec.rb +9 -2
- data/spec/models/spree/price_spec.rb +16 -1
- data/spec/models/spree/product_spec.rb +0 -75
- data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +20 -0
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +39 -15
- data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +203 -22
- data/spec/models/spree/promotion/actions/free_shipping_spec.rb +22 -3
- data/spec/models/spree/promotion/rules/taxon_spec.rb +26 -0
- data/spec/models/spree/promotion/rules/user_role_spec.rb +86 -0
- data/spec/models/spree/promotion_action_spec.rb +38 -0
- data/spec/models/spree/promotion_handler/coupon_spec.rb +36 -33
- data/spec/models/spree/promotion_handler/free_shipping_spec.rb +21 -22
- data/spec/models/spree/promotion_spec.rb +46 -6
- data/spec/models/spree/reimbursement_spec.rb +1 -1
- data/spec/models/spree/reimbursement_tax_calculator_spec.rb +2 -2
- data/spec/models/spree/shipment_spec.rb +68 -50
- data/spec/models/spree/shipping_method_spec.rb +41 -0
- data/spec/models/spree/shipping_rate_spec.rb +9 -3
- data/spec/models/spree/stock/estimator_spec.rb +4 -2
- data/spec/models/spree/store_credit_spec.rb +3 -3
- data/spec/models/spree/tax/item_adjuster_spec.rb +31 -21
- data/spec/models/spree/tax/order_adjuster_spec.rb +6 -10
- data/spec/models/spree/tax/taxation_integration_spec.rb +19 -0
- data/spec/models/spree/tax_rate_spec.rb +5 -26
- data/spec/models/spree/transfer_item_spec.rb +11 -0
- data/spec/models/spree/variant/pricing_options_spec.rb +7 -17
- data/spec/models/spree/variant_spec.rb +2 -4
- data/spec/models/spree/zone_spec.rb +60 -20
- data/spec/shared_examples/calculator_shared_examples.rb +8 -0
- metadata +19 -24
- data/app/models/spree/item_adjustments.rb +0 -89
- data/app/models/spree/option_type_prototype.rb +0 -6
- data/app/models/spree/property_prototype.rb +0 -6
- data/app/models/spree/prototype.rb +0 -14
- data/app/models/spree/prototype_taxon.rb +0 -6
- data/app/models/spree/tracker.rb +0 -8
- data/db/migrate/20150128032538_remove_environment_from_tracker.rb +0 -6
- data/lib/generators/spree/dummy/templates/initializers/custom_user.rb +0 -1
- data/lib/spree/core/delegate_belongs_to.rb +0 -94
- data/lib/spree/testing_support/factories/prototype_factory.rb +0 -8
- data/lib/spree/testing_support/factories/tracker_factory.rb +0 -6
- data/spec/lib/spree/core/delegate_belongs_to_spec.rb +0 -24
- data/spec/lib/spree/core/testing_support/factories/prototype_factory_spec.rb +0 -12
- data/spec/lib/spree/core/testing_support/factories/tracker_factory_spec.rb +0 -12
- data/spec/models/spree/item_adjustments_spec.rb +0 -306
- data/spec/models/spree/tracker_spec.rb +0 -21
|
@@ -413,13 +413,6 @@ class SpreeOneTwo < ActiveRecord::Migration[4.2]
|
|
|
413
413
|
|
|
414
414
|
add_index :spree_tokenized_permissions, [:permissable_id, :permissable_type], name: 'index_tokenized_name_and_type'
|
|
415
415
|
|
|
416
|
-
create_table :spree_trackers do |t|
|
|
417
|
-
t.string :environment
|
|
418
|
-
t.string :analytics_id
|
|
419
|
-
t.boolean :active, default: true
|
|
420
|
-
t.timestamps null: true
|
|
421
|
-
end
|
|
422
|
-
|
|
423
416
|
create_table :spree_users do |t|
|
|
424
417
|
t.string :encrypted_password, limit: 128
|
|
425
418
|
t.string :password_salt, limit: 128
|
|
@@ -28,7 +28,6 @@ class RemoveUnnecessaryIndexes < ActiveRecord::Migration[4.2]
|
|
|
28
28
|
safe_remove_index :spree_tax_categories, :deleted_at
|
|
29
29
|
safe_remove_index :spree_tax_rates, :show_rate_in_label
|
|
30
30
|
safe_remove_index :spree_tax_rates, :included_in_price
|
|
31
|
-
safe_remove_index :spree_trackers, :active
|
|
32
31
|
safe_remove_index :spree_variants, :is_master
|
|
33
32
|
safe_remove_index :spree_variants, :deleted_at
|
|
34
33
|
safe_remove_index :spree_zones, :default_tax
|
|
@@ -56,7 +55,6 @@ class RemoveUnnecessaryIndexes < ActiveRecord::Migration[4.2]
|
|
|
56
55
|
safe_add_index :spree_tax_categories, :deleted_at
|
|
57
56
|
safe_add_index :spree_tax_rates, :show_rate_in_label
|
|
58
57
|
safe_add_index :spree_tax_rates, :included_in_price
|
|
59
|
-
safe_add_index :spree_trackers, :active
|
|
60
58
|
safe_add_index :spree_variants, :is_master
|
|
61
59
|
safe_add_index :spree_variants, :deleted_at
|
|
62
60
|
safe_add_index :spree_zones, :default_tax
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class AddAvailableToColumnsAndRemoveDisplayOnFromPaymentMethods < ActiveRecord::Migration[5.0]
|
|
2
|
+
def up
|
|
3
|
+
add_column(:spree_payment_methods, :available_to_users, :boolean, default: true)
|
|
4
|
+
add_column(:spree_payment_methods, :available_to_admin, :boolean, default: true)
|
|
5
|
+
execute("UPDATE spree_payment_methods "\
|
|
6
|
+
"SET available_to_users=#{quoted_false} "\
|
|
7
|
+
"WHERE NOT (display_on='front_end' OR display_on='' OR display_on IS NULL)")
|
|
8
|
+
execute("UPDATE spree_payment_methods "\
|
|
9
|
+
"SET available_to_admin=#{quoted_false} "\
|
|
10
|
+
"WHERE NOT (display_on='back_end' OR display_on='' OR display_on IS NULL)")
|
|
11
|
+
remove_column(:spree_payment_methods, :display_on)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def down
|
|
15
|
+
add_column(:spree_payment_methods, :display_on, :string)
|
|
16
|
+
execute("UPDATE spree_payment_methods "\
|
|
17
|
+
"SET display_on='' "\
|
|
18
|
+
"WHERE (available_to_users=#{quoted_true} AND available_to_admin=#{quoted_true})")
|
|
19
|
+
execute("UPDATE spree_payment_methods "\
|
|
20
|
+
"SET display_on='front_end' "\
|
|
21
|
+
"WHERE (available_to_users=#{quoted_true} AND NOT available_to_admin=#{quoted_true})")
|
|
22
|
+
execute("UPDATE spree_payment_methods "\
|
|
23
|
+
"SET display_on='back_end' "\
|
|
24
|
+
"WHERE (available_to_admin=#{quoted_true} AND NOT available_to_users=#{quoted_true})")
|
|
25
|
+
remove_column(:spree_payment_methods, :available_to_users)
|
|
26
|
+
remove_column(:spree_payment_methods, :available_to_admin)
|
|
27
|
+
end
|
|
28
|
+
end
|
data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
class AddAvailableToUsersAndRemoveDisplayOnFromShippingMethods < ActiveRecord::Migration[5.0]
|
|
2
|
+
def up
|
|
3
|
+
add_column(:spree_shipping_methods, :available_to_users, :boolean, default: true)
|
|
4
|
+
execute("UPDATE spree_shipping_methods "\
|
|
5
|
+
"SET available_to_users=#{quoted_false} "\
|
|
6
|
+
"WHERE display_on='back_end'")
|
|
7
|
+
remove_column(:spree_shipping_methods, :display_on)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def down
|
|
11
|
+
add_column(:spree_shipping_methods, :display_on, :string)
|
|
12
|
+
execute("UPDATE spree_shipping_methods "\
|
|
13
|
+
"SET display_on='both' "\
|
|
14
|
+
"WHERE (available_to_users=#{quoted_true}")
|
|
15
|
+
execute("UPDATE spree_shipping_methods "\
|
|
16
|
+
"SET display_on='back_end' "\
|
|
17
|
+
"WHERE (available_to_users=#{quoted_false})")
|
|
18
|
+
remove_column(:spree_shipping_methods, :available_to_users)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# This file was originally generated by the spree:custom_user generator
|
|
2
|
+
# in solidus <%= Spree.solidus_version %>. You can customize the helper method
|
|
3
|
+
# implementations for your custom auth solution.
|
|
4
|
+
|
|
1
5
|
module Spree
|
|
2
6
|
module CurrentUserHelpers
|
|
3
7
|
def self.included(receiver)
|
|
@@ -30,7 +30,6 @@ module Spree
|
|
|
30
30
|
opts[:database] = 'sqlite3' if opts[:database].blank?
|
|
31
31
|
opts[:force] = true
|
|
32
32
|
opts[:skip_bundle] = true
|
|
33
|
-
opts[:old_style_hash] = true
|
|
34
33
|
|
|
35
34
|
puts "Generating dummy Rails application..."
|
|
36
35
|
invoke Rails::Generators::AppGenerator,
|
|
@@ -47,7 +46,6 @@ module Spree
|
|
|
47
46
|
template "rails/routes.rb", "#{dummy_path}/config/routes.rb", force: true
|
|
48
47
|
template "rails/test.rb", "#{dummy_path}/config/environments/test.rb", force: true
|
|
49
48
|
template "rails/script/rails", "#{dummy_path}/spec/dummy/script/rails", force: true
|
|
50
|
-
template "initializers/custom_user.rb", "#{dummy_path}/config/initializers/custom_user.rb", force: true
|
|
51
49
|
|
|
52
50
|
# FIXME: We aren't ready for rails 5 defaults
|
|
53
51
|
remove_file "#{dummy_path}/config/initializers/new_framework_defaults.rb"
|
data/lib/spree/core.rb
CHANGED
|
@@ -77,7 +77,6 @@ require 'spree/localized_number'
|
|
|
77
77
|
require 'spree/money'
|
|
78
78
|
require 'spree/permitted_attributes'
|
|
79
79
|
|
|
80
|
-
require 'spree/core/delegate_belongs_to'
|
|
81
80
|
require 'spree/core/importer'
|
|
82
81
|
require 'spree/core/permalinks'
|
|
83
82
|
require 'spree/core/product_duplicator'
|
|
@@ -97,8 +96,4 @@ require 'spree/core/stock_configuration'
|
|
|
97
96
|
require 'spree/permission_sets'
|
|
98
97
|
require 'spree/deprecation'
|
|
99
98
|
|
|
100
|
-
require 'spree/mailer_previews/order_preview'
|
|
101
|
-
require 'spree/mailer_previews/carton_preview'
|
|
102
|
-
require 'spree/mailer_previews/reimbursement_preview'
|
|
103
|
-
|
|
104
99
|
require 'spree/core/price_migrator'
|
|
@@ -13,7 +13,8 @@ module Spree
|
|
|
13
13
|
|
|
14
14
|
def current_pricing_options
|
|
15
15
|
Spree::Config.pricing_options_class.new(
|
|
16
|
-
currency: current_store.try!(:default_currency).presence || Spree::Config[:currency]
|
|
16
|
+
currency: current_store.try!(:default_currency).presence || Spree::Config[:currency],
|
|
17
|
+
country_iso: current_store.try!(:cart_tax_country_iso).presence
|
|
17
18
|
)
|
|
18
19
|
end
|
|
19
20
|
|
data/lib/spree/core/engine.rb
CHANGED
|
@@ -95,6 +95,7 @@ module Spree
|
|
|
95
95
|
Spree::Promotion::Rules::NthOrder
|
|
96
96
|
Spree::Promotion::Rules::OptionValue
|
|
97
97
|
Spree::Promotion::Rules::FirstRepeatPurchaseSince
|
|
98
|
+
Spree::Promotion::Rules::UserRole
|
|
98
99
|
]
|
|
99
100
|
end
|
|
100
101
|
|
|
@@ -119,6 +120,19 @@ module Spree
|
|
|
119
120
|
initializer "spree.core.checking_migrations", before: :load_config_initializers do |_app|
|
|
120
121
|
Migrations.new(config, engine_name).check
|
|
121
122
|
end
|
|
123
|
+
|
|
124
|
+
# Load in mailer previews for apps to use in development.
|
|
125
|
+
# We need to make sure we call `Preview.all` before requiring our
|
|
126
|
+
# previews, otherwise any previews the app attempts to add need to be
|
|
127
|
+
# manually required.
|
|
128
|
+
if Rails.env.development?
|
|
129
|
+
initializer "spree.mailer_previews" do
|
|
130
|
+
ActionMailer::Preview.all
|
|
131
|
+
Dir[root.join("lib/spree/mailer_previews/**/*_preview.rb")].each do |file|
|
|
132
|
+
require_dependency file
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
122
136
|
end
|
|
123
137
|
end
|
|
124
138
|
end
|
data/lib/spree/core/version.rb
CHANGED
data/lib/spree/deprecation.rb
CHANGED
|
@@ -16,9 +16,10 @@ module Spree
|
|
|
16
16
|
non_number_characters = /[^0-9\-#{separator}]/
|
|
17
17
|
|
|
18
18
|
# strip everything else first
|
|
19
|
-
number.gsub
|
|
19
|
+
number = number.gsub(non_number_characters, '')
|
|
20
|
+
|
|
20
21
|
# then replace the locale-specific decimal separator with the standard separator if necessary
|
|
21
|
-
number.gsub
|
|
22
|
+
number = number.gsub(separator, '.') unless separator == '.'
|
|
22
23
|
|
|
23
24
|
number.to_d
|
|
24
25
|
end
|
|
@@ -14,7 +14,6 @@ module Spree
|
|
|
14
14
|
can [:display, :admin], Spree::ShippingCategory
|
|
15
15
|
can [:display, :admin], Spree::StockLocation
|
|
16
16
|
can [:display, :admin], Spree::StockMovement
|
|
17
|
-
can [:display, :admin], Spree::Tracker
|
|
18
17
|
can [:display, :admin], Spree::RefundReason
|
|
19
18
|
can [:display, :admin], Spree::ReimbursementType
|
|
20
19
|
can [:display, :admin], Spree::ReturnReason
|
|
@@ -14,7 +14,6 @@ module Spree
|
|
|
14
14
|
can :manage, Spree::ShippingCategory
|
|
15
15
|
can :manage, Spree::StockLocation
|
|
16
16
|
can :manage, Spree::StockMovement
|
|
17
|
-
can :manage, Spree::Tracker
|
|
18
17
|
can :manage, Spree::RefundReason
|
|
19
18
|
can :manage, Spree::ReimbursementType
|
|
20
19
|
can :manage, Spree::ReturnReason
|
|
@@ -9,7 +9,6 @@ module Spree
|
|
|
9
9
|
can [:display, :admin], Spree::ProductProperty
|
|
10
10
|
can [:display, :admin], Spree::OptionType
|
|
11
11
|
can [:display, :admin], Spree::Property
|
|
12
|
-
can [:display, :admin], Spree::Prototype
|
|
13
12
|
can [:display, :admin], Spree::Taxonomy
|
|
14
13
|
can [:display, :admin], Spree::Taxon
|
|
15
14
|
end
|
|
@@ -4,10 +4,8 @@ module Spree
|
|
|
4
4
|
def activate!
|
|
5
5
|
can [:admin, :display, :create, :update, :save_in_address_book, :remove_from_address_book, :addresses, :orders, :items], Spree.user_class
|
|
6
6
|
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
can :update_email, Spree.user_class, spree_roles: { id: nil }
|
|
10
|
-
# and once for `can?`
|
|
7
|
+
# Note: This does not work with accessible_by.
|
|
8
|
+
# See https://github.com/solidusio/solidus/pull/1263
|
|
11
9
|
can :update_email, Spree.user_class do |user|
|
|
12
10
|
user.spree_roles.none?
|
|
13
11
|
end
|
|
@@ -70,7 +70,7 @@ module Spree
|
|
|
70
70
|
|
|
71
71
|
@@product_attributes = [
|
|
72
72
|
:name, :description, :available_on, :permalink, :meta_description,
|
|
73
|
-
:meta_keywords, :price, :sku, :deleted_at,
|
|
73
|
+
:meta_keywords, :price, :sku, :deleted_at,
|
|
74
74
|
:option_values_hash, :weight, :height, :width, :depth,
|
|
75
75
|
:shipping_category_id, :tax_category_id,
|
|
76
76
|
:taxon_ids, :option_type_ids, :cost_currency, :cost_price]
|
|
@@ -102,7 +102,8 @@ module Spree
|
|
|
102
102
|
:quantity, :stock_item, :stock_item_id, :originator, :action]
|
|
103
103
|
|
|
104
104
|
@@store_attributes = [:name, :url, :seo_title, :meta_keywords,
|
|
105
|
-
:meta_description, :default_currency,
|
|
105
|
+
:meta_description, :default_currency,
|
|
106
|
+
:mail_from_address, :cart_tax_country_iso]
|
|
106
107
|
|
|
107
108
|
@@taxonomy_attributes = [:name]
|
|
108
109
|
|
|
@@ -107,18 +107,6 @@ module CapybaraExt
|
|
|
107
107
|
raise "AJAX request took longer than 5 seconds." if counter >= 50
|
|
108
108
|
end
|
|
109
109
|
end
|
|
110
|
-
|
|
111
|
-
def accept_alert
|
|
112
|
-
page.evaluate_script('window.confirm = function() { return true; }')
|
|
113
|
-
yield
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def dismiss_alert
|
|
117
|
-
page.evaluate_script('window.confirm = function() { return false; }')
|
|
118
|
-
yield
|
|
119
|
-
# Restore existing default
|
|
120
|
-
page.evaluate_script('window.confirm = function() { return true; }')
|
|
121
|
-
end
|
|
122
110
|
end
|
|
123
111
|
|
|
124
112
|
RSpec::Matchers.define :have_meta do |name, expected|
|
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
FactoryGirl.define do
|
|
2
2
|
factory :payment_method, aliases: [:credit_card_payment_method], class: Spree::Gateway::Bogus do
|
|
3
3
|
name 'Credit Card'
|
|
4
|
+
available_to_admin true
|
|
5
|
+
available_to_users true
|
|
4
6
|
end
|
|
5
7
|
|
|
6
8
|
factory :check_payment_method, class: Spree::PaymentMethod::Check do
|
|
7
9
|
name 'Check'
|
|
10
|
+
available_to_admin true
|
|
11
|
+
available_to_users true
|
|
8
12
|
end
|
|
9
13
|
|
|
10
14
|
# authorize.net was moved to spree_gateway.
|
|
11
15
|
# Leaving this factory in place with bogus in case anyone is using it.
|
|
12
16
|
factory :simple_credit_card_payment_method, class: Spree::Gateway::BogusSimple do
|
|
13
17
|
name 'Credit Card'
|
|
18
|
+
available_to_admin true
|
|
19
|
+
available_to_users true
|
|
14
20
|
end
|
|
15
21
|
|
|
16
22
|
factory :store_credit_payment_method, class: Spree::PaymentMethod::StoreCredit do
|
|
17
23
|
name "Store Credit"
|
|
18
24
|
description "Store Credit"
|
|
19
25
|
active true
|
|
20
|
-
|
|
26
|
+
available_to_admin false
|
|
27
|
+
available_to_users false
|
|
21
28
|
auto_capture true
|
|
22
29
|
end
|
|
23
30
|
end
|
|
@@ -9,9 +9,9 @@ FactoryGirl.define do
|
|
|
9
9
|
|
|
10
10
|
factory :user, class: Spree.user_class do
|
|
11
11
|
email { generate(:random_email) }
|
|
12
|
-
login { email }
|
|
12
|
+
login { email } if Spree.user_class.attribute_method? :login
|
|
13
13
|
password 'secret'
|
|
14
|
-
password_confirmation { password }
|
|
14
|
+
password_confirmation { password } if Spree.user_class.attribute_method? :password_confirmation
|
|
15
15
|
authentication_token { generate(:user_authentication_token) } if Spree.user_class.attribute_method? :authentication_token
|
|
16
16
|
|
|
17
17
|
trait :with_api_key do
|
data/solidus_core.gemspec
CHANGED
|
@@ -12,12 +12,13 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
s.author = 'Solidus Team'
|
|
13
13
|
s.email = 'contact@solidus.io'
|
|
14
14
|
s.homepage = 'http://solidus.io'
|
|
15
|
-
s.license = 'BSD-3'
|
|
15
|
+
s.license = 'BSD-3-Clause'
|
|
16
16
|
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
|
18
18
|
s.require_path = 'lib'
|
|
19
19
|
|
|
20
|
-
s.required_ruby_version
|
|
20
|
+
s.required_ruby_version = '>= 2.2.2'
|
|
21
|
+
s.required_rubygems_version = '>= 1.8.23'
|
|
21
22
|
|
|
22
23
|
s.add_dependency 'activemerchant', '~> 1.48'
|
|
23
24
|
s.add_dependency 'acts_as_list', '~> 0.3'
|
|
@@ -26,7 +27,7 @@ Gem::Specification.new do |s|
|
|
|
26
27
|
s.add_dependency 'cancancan', '~> 1.10'
|
|
27
28
|
s.add_dependency 'ffaker', '~> 2.0'
|
|
28
29
|
s.add_dependency 'friendly_id', '~> 5.0'
|
|
29
|
-
s.add_dependency 'highline', '~> 1.
|
|
30
|
+
s.add_dependency 'highline', '~> 1.7' # Necessary for the install generator
|
|
30
31
|
s.add_dependency 'kaminari', '~> 0.15', '>= 0.15.1'
|
|
31
32
|
s.add_dependency 'monetize', '~> 1.1'
|
|
32
33
|
s.add_dependency 'paperclip', '~> 4.2'
|
|
@@ -50,26 +50,6 @@ describe Spree::BaseHelper, type: :helper do
|
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
# Regression test for https://github.com/spree/spree/issues/1436
|
|
54
|
-
context "defining custom image helpers" do
|
|
55
|
-
let(:product) { mock_model(Spree::Product, images: [], variant_images: []) }
|
|
56
|
-
before do
|
|
57
|
-
Spree::Image.class_eval do
|
|
58
|
-
attachment_definitions[:attachment][:styles][:very_strange] = '1x1'
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
it "should not raise errors when style exists" do
|
|
63
|
-
Spree::Deprecation.silence do
|
|
64
|
-
very_strange_image(product)
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it "should raise NoMethodError when style is not exists" do
|
|
69
|
-
expect { another_strange_image(product) }.to raise_error(NoMethodError)
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
53
|
# Regression test for https://github.com/spree/spree/issues/2034
|
|
74
54
|
context "flash_message" do
|
|
75
55
|
let(:flash) { { "notice" => "ok", "foo" => "foo", "bar" => "bar" } }
|
|
@@ -142,26 +122,6 @@ describe Spree::BaseHelper, type: :helper do
|
|
|
142
122
|
end
|
|
143
123
|
end
|
|
144
124
|
|
|
145
|
-
# Regression test for https://github.com/spree/spree/issues/5384
|
|
146
|
-
context "custom image helpers conflict with inproper statements" do
|
|
147
|
-
let(:product) { mock_model(Spree::Product, images: [], variant_images: []) }
|
|
148
|
-
before do
|
|
149
|
-
Spree::Image.class_eval do
|
|
150
|
-
attachment_definitions[:attachment][:styles][:foobar] = '1x1'
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
it "should not raise errors when helper method called" do
|
|
155
|
-
Spree::Deprecation.silence do
|
|
156
|
-
foobar_image(product)
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
it "should raise NoMethodError when statement with name equal to style name called" do
|
|
161
|
-
expect { foobar(product) }.to raise_error(NoMethodError)
|
|
162
|
-
end
|
|
163
|
-
end
|
|
164
|
-
|
|
165
125
|
context "pretty_time" do
|
|
166
126
|
it "prints in a format" do
|
|
167
127
|
expect(pretty_time(DateTime.new(2012, 5, 6, 13, 33))).to eq "May 06, 2012 1:33 PM"
|