spree_core 4.2.0.rc3 → 4.2.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e1c991fe1a4f4ffcb163ad34f7db0d399c802a14b09cabae9b6db567db1adbc
4
- data.tar.gz: 6d27129f5c12ec9b48941c3001a341d8306e219fdb702b153944645bc1044b72
3
+ metadata.gz: 661697daa0303090a2d39f0b439929bf8b54e59722ad738cee547487ba27aaf2
4
+ data.tar.gz: 8de83da0c8c3aa629f8389e40c63c178391d5a51a370da3595f0e1ce6edf431f
5
5
  SHA512:
6
- metadata.gz: 4627be5137cf9b13ac72562df61b91a6ad0a95eb0119e9b9cf0c9a32b562874799ff35a0187ae8eadec622c88c0c5ee56f10cb21df79512b6524394b2f668fb1
7
- data.tar.gz: ecaf570ab3245130d1ea2b521e0201937617e2aa0d308051d56ec17e2757549ce202fc243bb0c9b7609e379dfb7179005773656a8c7cc69632341c9751a26967
6
+ metadata.gz: 1b2cffe1a5872d559bb2ff7b0361e99c3d2cf6436a57e6ba1779550fb587651316c6c031c019b8e2150feae8df15f5d04ec500ae245585b9886f5584cb89ae2c
7
+ data.tar.gz: 83bba2eb568b84622dd523b4b943bcfee3cba206bce126ba9cf2a094b671e53d6094e8129edc4b8d620630fccf0783f962e3311fa1d41baf149575155bd7cf4e
@@ -23,55 +23,70 @@ module Spree
23
23
  end
24
24
 
25
25
  def initialize(user)
26
- # add cancancan aliasing
27
- alias_action :delete, to: :destroy
28
- alias_action :create, :update, :destroy, to: :modify
26
+ alias_cancan_delete_action
29
27
 
30
28
  user ||= Spree.user_class.new
31
29
 
32
30
  if user.respond_to?(:has_spree_role?) && user.has_spree_role?('admin')
33
- can :manage, :all
31
+ apply_admin_permissions(user)
34
32
  else
35
- can :read, Country
36
- can :read, OptionType
37
- can :read, OptionValue
38
- can :create, Order
39
- can :show, Order do |order, token|
40
- order.user == user || order.token && token == order.token
41
- end
42
- can :update, Order do |order, token|
43
- !order.completed? && (order.user == user || order.token && token == order.token)
44
- end
45
- can :manage, Address, user_id: user.id
46
- can :read, CreditCard, user_id: user.id
47
- can :read, Product
48
- can :read, ProductProperty
49
- can :read, Property
50
- can :create, Spree.user_class
51
- can [:show, :update, :destroy], Spree.user_class, id: user.id
52
- can :read, State
53
- can :read, Store
54
- can :read, Taxon
55
- can :read, Taxonomy
56
- can :read, Variant
57
- can :read, Zone
33
+ apply_user_permissions(user)
58
34
  end
59
35
 
60
36
  # Include any abilities registered by extensions, etc.
37
+ # this is legacy behaviour and should be removed in Spree 5.0
61
38
  Ability.abilities.merge(abilities_to_register).each do |clazz|
62
39
  merge clazz.new(user)
63
40
  end
64
41
 
65
- # Protect admin role
66
- cannot [:update, :destroy], Role, name: ['admin']
42
+ protect_admin_role
67
43
  end
68
44
 
69
- private
45
+ protected
70
46
 
71
47
  # you can override this method to register your abilities
72
48
  # this method has to return array of classes
73
49
  def abilities_to_register
74
50
  []
75
51
  end
52
+
53
+ def alias_cancan_delete_action
54
+ alias_action :delete, to: :destroy
55
+ alias_action :create, :update, :destroy, to: :modify
56
+ end
57
+
58
+ def apply_admin_permissions(user)
59
+ can :manage, :all
60
+ end
61
+
62
+ def apply_user_permissions(user)
63
+ can :read, ::Spree::Country
64
+ can :read, ::Spree::OptionType
65
+ can :read, ::Spree::OptionValue
66
+ can :create, ::Spree::Order
67
+ can :show, ::Spree::Order do |order, token|
68
+ order.user == user || order.token && token == order.token
69
+ end
70
+ can :update, ::Spree::Order do |order, token|
71
+ !order.completed? && (order.user == user || order.token && token == order.token)
72
+ end
73
+ can :manage, ::Spree::Address, user_id: user.id
74
+ can :read, ::Spree::CreditCard, user_id: user.id
75
+ can :read, ::Spree::Product
76
+ can :read, ::Spree::ProductProperty
77
+ can :read, ::Spree::Property
78
+ can :create, ::Spree.user_class
79
+ can [:show, :update, :destroy], ::Spree.user_class, id: user.id
80
+ can :read, ::Spree::State
81
+ can :read, ::Spree::Store
82
+ can :read, ::Spree::Taxon
83
+ can :read, ::Spree::Taxonomy
84
+ can :read, ::Spree::Variant
85
+ can :read, ::Spree::Zone
86
+ end
87
+
88
+ def protect_admin_role
89
+ cannot [:update, :destroy], ::Spree::Role, name: ['admin']
90
+ end
76
91
  end
77
92
  end
@@ -68,8 +68,8 @@ module Spree
68
68
  preference :non_expiring_credit_types, :array, default: []
69
69
  preference :credit_to_new_allocation, :boolean, default: false
70
70
 
71
- # Multi currency configurations
72
- preference :show_store_currency_selector, :boolean, default: false
71
+ # Multi store configurations
72
+ preference :show_store_selector, :boolean, default: false
73
73
 
74
74
  # searcher_class allows spree extension writers to provide their own Search class
75
75
  def searcher_class
@@ -57,16 +57,13 @@ module Spree
57
57
  end
58
58
 
59
59
  def update_price
60
- if Spree::Config.show_store_currency_selector == true
61
- currency_price = Spree::Price.where(
62
- currency: order.currency,
63
- variant_id: variant_id
64
- ).first
60
+ currency_price = variant.price_in(order.currency)
65
61
 
66
- self.price = currency_price.price_including_vat_for(tax_zone: tax_zone)
67
- else
68
- self.price = variant.price_including_vat_for(tax_zone: tax_zone)
69
- end
62
+ self.price = if currency_price.amount.present?
63
+ currency_price.price_including_vat_for(tax_zone: tax_zone)
64
+ else
65
+ 0
66
+ end
70
67
  end
71
68
 
72
69
  def copy_tax_category
@@ -59,7 +59,7 @@ module Spree
59
59
  if url.match(/http:\/\/|https:\/\//)
60
60
  url
61
61
  else
62
- "https://#{url}"
62
+ Rails.env.development? ? "http://#{url}" : "https://#{url}"
63
63
  end
64
64
  end
65
65
 
@@ -1582,7 +1582,7 @@ en:
1582
1582
  show_only_considered_risky: Only show risky orders
1583
1583
  show_property: Show Property
1584
1584
  show_rate_in_label: Show rate in label
1585
- show_store_currency_selector:
1585
+ show_store_selector:
1586
1586
  short: Show Store selector
1587
1587
  long: Display the Store selector in the main nav bar of Storefront and allow users to change Store and Currency
1588
1588
  sign_up: Sign Up
@@ -1,13 +1,16 @@
1
1
  eu_vat = Spree::Zone.where(name: 'EU_VAT', description: 'Countries that make up the EU VAT zone.', kind: 'country').first_or_create!
2
+ uk_vat = Spree::Zone.where(name: 'UK_VAT', kind: 'country').first_or_create!
2
3
  north_america = Spree::Zone.where(name: 'North America', description: 'USA + Canada', kind: 'country').first_or_create!
3
4
  south_america = Spree::Zone.where(name: 'South America', description: 'South America', kind: 'country').first_or_create!
4
5
  middle_east = Spree::Zone.where(name: 'Middle East', description: 'Middle East', kind: 'country').first_or_create!
5
6
  asia = Spree::Zone.where(name: 'Asia', description: 'Asia', kind: 'country').first_or_create!
6
7
 
7
- %w(PL FI PT RO DE FR SK HU SI IE AT ES IT BE SE LV BG GB LT CY LU MT DK NL EE HR CZ GR).each do |name|
8
+ %w(PL FI PT RO DE FR SK HU SI IE AT ES IT BE SE LV BG LT CY LU MT DK NL EE HR CZ GR).each do |name|
8
9
  eu_vat.zone_members.where(zoneable: Spree::Country.find_by!(iso: name)).first_or_create!
9
10
  end
10
11
 
12
+ uk_vat.zone_members.where(zoneable: Spree::Country.find_by(iso: 'GB')).first_or_create!
13
+
11
14
  %w(US CA).each do |name|
12
15
  north_america.zone_members.where(zoneable: Spree::Country.find_by!(iso: name)).first_or_create!
13
16
  end
@@ -29,6 +29,10 @@ module Spree
29
29
  @current_store ||= Spree::Store.current(request.env['SERVER_NAME'])
30
30
  end
31
31
 
32
+ def store_locale
33
+ current_store.default_locale
34
+ end
35
+
32
36
  # Return a Hash of things that influence the prices displayed in your shop.
33
37
  #
34
38
  # By default, the only thing that influences prices that is the current order's +tax_zone+
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- '4.2.0.rc3'
3
+ '4.2.0.rc4'
4
4
  end
5
5
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_dependency 'acts_as_list', '~> 0.8'
31
31
  s.add_dependency 'awesome_nested_set', '>= 3.3.1', '< 4.0'
32
32
  s.add_dependency 'carmen', '>= 1.0', '< 1.2'
33
- s.add_dependency 'cancancan', '~> 3.0'
33
+ s.add_dependency 'cancancan', '~> 3.2'
34
34
  s.add_dependency 'ffaker', '~> 2.9'
35
35
  s.add_dependency 'friendly_id', '>= 5.2.1', '< 5.5.0'
36
36
  s.add_dependency 'highline', '~> 2.0.0' # Necessary for the install generator
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0.rc3
4
+ version: 4.2.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-01-18 00:00:00.000000000 Z
12
+ date: 2021-01-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemerchant
@@ -85,14 +85,14 @@ dependencies:
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.0'
88
+ version: '3.2'
89
89
  type: :runtime
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.0'
95
+ version: '3.2'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: ffaker
98
98
  requirement: !ruby/object:Gem::Requirement
@@ -1164,9 +1164,9 @@ licenses:
1164
1164
  - BSD-3-Clause
1165
1165
  metadata:
1166
1166
  bug_tracker_uri: https://github.com/spree/spree/issues
1167
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc3
1167
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.0.rc4
1168
1168
  documentation_uri: https://guides.spreecommerce.org/
1169
- source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc3
1169
+ source_code_uri: https://github.com/spree/spree/tree/v4.2.0.rc4
1170
1170
  post_install_message:
1171
1171
  rdoc_options: []
1172
1172
  require_paths: