solidus_core 2.0.3 → 2.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of solidus_core might be problematic. Click here for more details.
- 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"
|