caboose-cms 0.5.146 → 0.5.147
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 +8 -8
- data/app/controllers/caboose/orders_controller.rb +6 -4
- data/app/controllers/caboose/products_controller.rb +30 -27
- data/app/models/caboose/order.rb +4 -3
- data/app/models/caboose/product.rb +2 -1
- data/app/models/caboose/product_category_sort.rb +14 -0
- data/app/models/caboose/schema.rb +5 -0
- data/lib/caboose/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzViNDdhOWJiZTg2YTBiZWYyYzAwOWU3NjBlM2ExMDdlYWU3Y2I4Mw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzExNGM3NmM3ZDc1NTQyNDVjNzRkYWI0MDY1NjY3OWM5ZWQxMTU2OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWM4ZThiNmE1MTc5MGNiZWE3YzI3NGE0MDRiNjU4OTg3ZDFmMWE2OGViMzA4
|
10
|
+
NzljYmM3MmFmYzJjOWJkZTY3YTA3ZmQ3YTgwMzZkNTVmMGFhMzdmNmVmMjZh
|
11
|
+
MGJlNjk5NTRlMTlmM2I1YzU3ZWEzYmI4YTlkZGYxNzExYjUwZDI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTA3MzBjZmE5NTA4YWQzNDAyYzY2MjkzNWY4ODRlZDU2Y2RkN2E2Njc1YTYw
|
14
|
+
MDc0YmRhZDZkN2VkNzM2ZjJmM2I0MjI0OTkzZTVhZGQ4OTVjNTU0ZGI0YWVh
|
15
|
+
OGIzZGIwOWRjYTc5N2Q4MjhhZTU0YWNlN2ViMTYxZDBkODU4MDA=
|
@@ -297,15 +297,17 @@ module Caboose
|
|
297
297
|
save = true
|
298
298
|
params.each do |name,value|
|
299
299
|
case name
|
300
|
-
when 'tax' then order.tax = value
|
301
|
-
when 'shipping' then order.shipping = value
|
300
|
+
when 'tax' then order.tax = value
|
301
|
+
when 'shipping' then order.shipping = value
|
302
302
|
when 'handling' then order.handling = value
|
303
|
-
when 'custom_discount' then
|
303
|
+
when 'custom_discount' then
|
304
|
+
order.custom_discount = value
|
305
|
+
order.discount = order.calculate_discount
|
304
306
|
when 'status' then order.status = value
|
305
307
|
when 'customer_id' then order.customer_id = value
|
306
308
|
end
|
307
309
|
end
|
308
|
-
order.
|
310
|
+
order.calculate_total
|
309
311
|
resp.success = save && order.save
|
310
312
|
render :json => resp
|
311
313
|
end
|
@@ -63,38 +63,41 @@ module Caboose
|
|
63
63
|
|
64
64
|
# Otherwise looking at a category or search parameters
|
65
65
|
@pager = Caboose::Pager.new(params, {
|
66
|
-
'site_id'
|
67
|
-
'on_sale'
|
68
|
-
'category_id'
|
69
|
-
'vendor_id'
|
70
|
-
'vendor_name'
|
71
|
-
'vendor_status'
|
72
|
-
'status'
|
73
|
-
'variant_status'
|
74
|
-
'price_gte'
|
75
|
-
'price_lte'
|
76
|
-
'alternate_id'
|
77
|
-
'search_like'
|
66
|
+
'site_id' => @site.id,
|
67
|
+
'on_sale' => '',
|
68
|
+
'category_id' => '',
|
69
|
+
'vendor_id' => '',
|
70
|
+
'vendor_name' => '',
|
71
|
+
'vendor_status' => 'Active',
|
72
|
+
'status' => 'Active',
|
73
|
+
'variant_status' => 'Active',
|
74
|
+
'price_gte' => '',
|
75
|
+
'price_lte' => '',
|
76
|
+
'alternate_id' => '',
|
77
|
+
'search_like' => ''
|
78
|
+
#'pcs_category_id' => cat.id
|
78
79
|
}, {
|
79
|
-
'model'
|
80
|
-
'sort'
|
81
|
-
'
|
82
|
-
'
|
83
|
-
'
|
80
|
+
'model' => 'Caboose::Product',
|
81
|
+
'sort' => if params[:sort] then params[:sort] else 'store_products.sort_order' end,
|
82
|
+
#'sort' => if params[:sort] then params[:sort] else 'store_product_category_sorts.sort_order' end,
|
83
|
+
'base_url' => url_without_params,
|
84
|
+
'items_per_page' => 15,
|
85
|
+
'use_url_params' => false,
|
84
86
|
|
85
|
-
'abbreviations'
|
86
|
-
'search_like'
|
87
|
+
'abbreviations' => {
|
88
|
+
'search_like' => 'title_concat_store_products.alternate_id_concat_vendor_name_concat_category_name_like',
|
87
89
|
},
|
88
90
|
|
89
91
|
'includes' => {
|
90
|
-
'
|
91
|
-
'
|
92
|
-
'
|
93
|
-
'
|
94
|
-
'
|
95
|
-
'
|
96
|
-
'
|
97
|
-
'
|
92
|
+
#'pcs_category_id' => [ 'product_category_sorts', 'category_id' ],
|
93
|
+
'category_id' => [ 'categories' , 'id' ],
|
94
|
+
'category_name' => [ 'categories' , 'name' ],
|
95
|
+
'vendor_id' => [ 'vendor' , 'id' ],
|
96
|
+
'vendor_name' => [ 'vendor' , 'name' ],
|
97
|
+
'vendor_status' => [ 'vendor' , 'status' ],
|
98
|
+
'price_gte' => [ 'variants' , 'price' ],
|
99
|
+
'price_lte' => [ 'variants' , 'price' ],
|
100
|
+
'variant_status' => [ 'variants' , 'status' ]
|
98
101
|
}
|
99
102
|
})
|
100
103
|
|
data/app/models/caboose/order.rb
CHANGED
@@ -180,10 +180,11 @@ module Caboose
|
|
180
180
|
return x
|
181
181
|
end
|
182
182
|
|
183
|
-
def calculate_discount
|
184
|
-
return 0.0 if self.discounts.nil? || self.discounts.count == 0
|
183
|
+
def calculate_discount
|
185
184
|
x = 0.0
|
186
|
-
self.discounts
|
185
|
+
if self.discounts && self.discounts.count > 0
|
186
|
+
self.discounts.each{ |d| x = x + d.amount }
|
187
|
+
end
|
187
188
|
x = x + self.custom_discount if self.custom_discount
|
188
189
|
return x
|
189
190
|
end
|
@@ -12,8 +12,9 @@ module Caboose
|
|
12
12
|
has_many :category_memberships, :class_name => 'Caboose::CategoryMembership'
|
13
13
|
has_many :variants, :class_name => 'Caboose::Variant', :order => 'option1_sort_order, option2_sort_order, option3_sort_order'
|
14
14
|
has_many :product_images, :class_name => 'Caboose::ProductImage'
|
15
|
-
has_many :
|
15
|
+
has_many :product_inputs, :class_name => 'Caboose::ProductInput'
|
16
16
|
has_many :reviews, :class_name => 'Caboose::Review'
|
17
|
+
has_many :product_category_sorts, :class_name => 'Caboose::ProductCategorySort'
|
17
18
|
|
18
19
|
#default_scope order('store_products.sort_order')
|
19
20
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Caboose
|
2
|
+
class ProductCategorySort < ActiveRecord::Base
|
3
|
+
self.table_name = 'store_product_category_sorts'
|
4
|
+
self.primary_key = 'id'
|
5
|
+
|
6
|
+
belongs_to :product
|
7
|
+
belongs_to :category
|
8
|
+
attr_accessible :id,
|
9
|
+
:product_id,
|
10
|
+
:category_id,
|
11
|
+
:sort_order
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -484,6 +484,11 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
484
484
|
[ :allow_gift_wrap , :boolean , { :default => false }],
|
485
485
|
[ :gift_wrap_price , :decimal , { :precision => 8, :scale => 2 }]
|
486
486
|
],
|
487
|
+
Caboose::ProductCategorySort => [
|
488
|
+
[ :product_id , :integer ],
|
489
|
+
[ :category_id , :integer ],
|
490
|
+
[ :sort_order , :integer ]
|
491
|
+
],
|
487
492
|
Caboose::ProductImage => [
|
488
493
|
[ :product_id , :integer ],
|
489
494
|
[ :alternate_id , :string ],
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.147
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
@@ -628,6 +628,7 @@ files:
|
|
628
628
|
- app/models/caboose/post_category.rb
|
629
629
|
- app/models/caboose/post_category_membership.rb
|
630
630
|
- app/models/caboose/product.rb
|
631
|
+
- app/models/caboose/product_category_sort.rb
|
631
632
|
- app/models/caboose/product_image.rb
|
632
633
|
- app/models/caboose/product_image_variant.rb
|
633
634
|
- app/models/caboose/review.rb
|