spree_core 2.3.12 → 2.3.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/concerns/spree/ransackable_attributes.rb +19 -0
- data/app/models/spree/address.rb +3 -0
- data/app/models/spree/base.rb +3 -0
- data/app/models/spree/line_item.rb +3 -0
- data/app/models/spree/option_value.rb +2 -0
- data/app/models/spree/order.rb +3 -0
- data/app/models/spree/price.rb +2 -0
- data/app/models/spree/product.rb +3 -0
- data/app/models/spree/product_property.rb +2 -0
- data/app/models/spree/promotion.rb +2 -0
- data/app/models/spree/property.rb +2 -0
- data/app/models/spree/return_authorization.rb +6 -0
- data/app/models/spree/shipment.rb +2 -0
- data/app/models/spree/stock_item.rb +2 -0
- data/app/models/spree/stock_movement.rb +2 -0
- data/app/models/spree/stock_transfer.rb +2 -0
- data/app/models/spree/variant.rb +3 -0
- data/app/models/spree/zone.rb +2 -0
- data/config/initializers/user_class_extensions.rb +8 -0
- data/lib/spree/core/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01725f9ca0e549175b6eff9da2061ad94f0e24c6
|
4
|
+
data.tar.gz: 812d8b5e508a5ccbd8e0a53728335a5d43a25b30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a56c3a3d6b44d2b584668fbeebace2bcb389d2962a8959345fa84f676b315417eeedf61b56152e6a3b42ede1c0173efcb401715a5c244d0c99a27370cf93aa34
|
7
|
+
data.tar.gz: 0c4f145ce06584f368f388c3c7a1825a7f5458109abb68ba2c297b748428b7ff04e897568deb072fb55ccfaee5a3fa6e7badf6eda55014dd3a69fdeac0480ea2
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Spree::RansackableAttributes
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
included do
|
4
|
+
class_attribute :whitelisted_ransackable_associations
|
5
|
+
class_attribute :whitelisted_ransackable_attributes
|
6
|
+
|
7
|
+
class_attribute :default_ransackable_attributes
|
8
|
+
self.default_ransackable_attributes = %w[id name]
|
9
|
+
|
10
|
+
def self.ransackable_associations(*args)
|
11
|
+
self.whitelisted_ransackable_associations || []
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.ransackable_attributes(*args)
|
15
|
+
self.default_ransackable_attributes | (self.whitelisted_ransackable_attributes || [])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/app/models/spree/address.rb
CHANGED
@@ -14,6 +14,9 @@ module Spree
|
|
14
14
|
alias_attribute :first_name, :firstname
|
15
15
|
alias_attribute :last_name, :lastname
|
16
16
|
|
17
|
+
|
18
|
+
self.whitelisted_ransackable_attributes = %w[firstname lastname]
|
19
|
+
|
17
20
|
def self.build_default
|
18
21
|
country = Spree::Country.find(Spree::Config[:default_country_id]) rescue Spree::Country.first
|
19
22
|
new(country: country)
|
data/app/models/spree/base.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
class Spree::Base < ActiveRecord::Base
|
2
2
|
include Spree::Preferences::Preferable
|
3
3
|
serialize :preferences, Hash
|
4
|
+
|
5
|
+
include Spree::RansackableAttributes
|
6
|
+
|
4
7
|
after_initialize do
|
5
8
|
self.preferences = default_preferences.merge(preferences) if has_attribute?(:preferences)
|
6
9
|
end
|
data/app/models/spree/order.rb
CHANGED
@@ -15,6 +15,9 @@ module Spree
|
|
15
15
|
remove_transition from: :delivery, to: :confirm
|
16
16
|
end
|
17
17
|
|
18
|
+
self.whitelisted_ransackable_associations = %w[shipments user promotions bill_address ship_address line_items]
|
19
|
+
self.whitelisted_ransackable_attributes = %w[completed_at created_at email number state payment_state shipment_state total considered_risky]
|
20
|
+
|
18
21
|
attr_reader :coupon_code
|
19
22
|
attr_accessor :temporary_address
|
20
23
|
|
data/app/models/spree/price.rb
CHANGED
data/app/models/spree/product.rb
CHANGED
@@ -97,6 +97,9 @@ module Spree
|
|
97
97
|
|
98
98
|
alias :options :product_option_types
|
99
99
|
|
100
|
+
self.whitelisted_ransackable_associations = %w[stores variants_including_master master variants]
|
101
|
+
self.whitelisted_ransackable_attributes = %w[slug]
|
102
|
+
|
100
103
|
# the master variant is not a member of the variants array
|
101
104
|
def has_variants?
|
102
105
|
variants.any?
|
@@ -25,6 +25,8 @@ module Spree
|
|
25
25
|
scope :coupons, ->{ where("#{table_name}.code IS NOT NULL") }
|
26
26
|
scope :applied, -> { joins(:orders).uniq }
|
27
27
|
|
28
|
+
self.whitelisted_ransackable_attributes = ['code', 'path', 'promotion_category_id']
|
29
|
+
|
28
30
|
def self.advertised
|
29
31
|
where(advertise: true)
|
30
32
|
end
|
@@ -93,6 +93,8 @@ module Spree
|
|
93
93
|
selected_shipping_rate.try(:shipping_method) || shipping_rates.first.try(:shipping_method)
|
94
94
|
end
|
95
95
|
|
96
|
+
self.whitelisted_ransackable_attributes = ['number']
|
97
|
+
|
96
98
|
def add_shipping_method(shipping_method, selected = false)
|
97
99
|
shipping_rates.create(shipping_method: shipping_method, selected: selected, cost: cost)
|
98
100
|
end
|
@@ -19,6 +19,8 @@ module Spree
|
|
19
19
|
after_save :conditional_variant_touch, if: :changed?
|
20
20
|
after_touch { variant.touch }
|
21
21
|
|
22
|
+
self.whitelisted_ransackable_attributes = ['count_on_hand', 'stock_location_id']
|
23
|
+
|
22
24
|
def backordered_inventory_units
|
23
25
|
Spree::InventoryUnit.backordered_for_stock_item(self)
|
24
26
|
end
|
data/app/models/spree/variant.rb
CHANGED
@@ -49,6 +49,9 @@ module Spree
|
|
49
49
|
|
50
50
|
after_touch :clear_in_stock_cache
|
51
51
|
|
52
|
+
self.whitelisted_ransackable_associations = %w[option_values product prices default_price]
|
53
|
+
self.whitelisted_ransackable_attributes = %w[weight sku]
|
54
|
+
|
52
55
|
def self.active(currency = nil)
|
53
56
|
joins(:prices).where(deleted_at: nil).where('spree_prices.currency' => currency || Spree::Config[:currency]).where('spree_prices.amount IS NOT NULL')
|
54
57
|
end
|
data/app/models/spree/zone.rb
CHANGED
@@ -11,6 +11,8 @@ module Spree
|
|
11
11
|
alias :members :zone_members
|
12
12
|
accepts_nested_attributes_for :zone_members, allow_destroy: true, reject_if: proc { |a| a['zoneable_id'].blank? }
|
13
13
|
|
14
|
+
self.whitelisted_ransackable_attributes = ['description']
|
15
|
+
|
14
16
|
def self.default_tax
|
15
17
|
where(default_tax: true).first
|
16
18
|
end
|
@@ -15,6 +15,14 @@ Spree::Core::Engine.config.to_prepare do
|
|
15
15
|
belongs_to :ship_address, class_name: 'Spree::Address'
|
16
16
|
belongs_to :bill_address, class_name: 'Spree::Address'
|
17
17
|
|
18
|
+
def self.ransackable_associations(auth_object=nil)
|
19
|
+
%w[bill_address ship_address]
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.ransackable_attributes(auth_object=nil)
|
23
|
+
%w[id email]
|
24
|
+
end
|
25
|
+
|
18
26
|
# has_spree_role? simply needs to return true or false whether a user has a role or not.
|
19
27
|
def has_spree_role?(role_in_question)
|
20
28
|
spree_roles.where(name: role_in_question.to_s).any?
|
data/lib/spree/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
@@ -334,6 +334,7 @@ files:
|
|
334
334
|
- app/mailers/spree/order_mailer.rb
|
335
335
|
- app/mailers/spree/shipment_mailer.rb
|
336
336
|
- app/mailers/spree/test_mailer.rb
|
337
|
+
- app/models/concerns/spree/ransackable_attributes.rb
|
337
338
|
- app/models/concerns/spree/user_api_authentication.rb
|
338
339
|
- app/models/concerns/spree/user_reporting.rb
|
339
340
|
- app/models/spree/ability.rb
|