caboose-cms 0.7.28 → 0.7.29
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/app/assets/javascripts/caboose/checkout_payment.js +1 -1
- data/app/controllers/caboose/ab_options_controller.rb +4 -4
- data/app/controllers/caboose/ab_variants_controller.rb +6 -6
- data/app/controllers/caboose/admin_controller.rb +2 -2
- data/app/controllers/caboose/billing_addresses_controller.rb +4 -4
- data/app/controllers/caboose/block_type_categories_controller.rb +1 -1
- data/app/controllers/caboose/block_type_sources_controller.rb +30 -30
- data/app/controllers/caboose/block_type_store_controller.rb +10 -10
- data/app/controllers/caboose/block_types_controller.rb +65 -80
- data/app/controllers/caboose/blocks_controller.rb +20 -20
- data/app/controllers/caboose/checkout_controller.rb +17 -6
- data/app/models/caboose/comment_routes.rb +69 -50
- data/app/models/caboose/domain_constraint.rb +9 -0
- data/lib/caboose/engine.rb +9 -19
- data/lib/caboose/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: d6a19ce084683f65c5a6cbae50ebb24dd39ae3fd
|
4
|
+
data.tar.gz: 9ca547dd829a14261d9cf4d815da60682b7e84ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1f99a0e6bcf457cf4d921625ec81d54214198148d9d3cd7c6bf5700d7b9679ad236049e123a5c15a1154571762eed176ce0adaffaa741b8a7877a8c3331ed47
|
7
|
+
data.tar.gz: b5bca74153fd3b5f8c8835ce830dfe48a58045e47e7b710961b9ea1431805121d50d65eb9d10e003c8a7736eb250fdd455293f6a0267669e5f2887ffaf3b7df5
|
@@ -66,7 +66,7 @@ Caboose.Store.Modules.CheckoutPayment = (function() {
|
|
66
66
|
if (total_is_correct == false)
|
67
67
|
{
|
68
68
|
$('#message').html("<p class='note error'>It looks like the order total has changed since this page has refreshed. Please submit your order again after this page refreshes.");
|
69
|
-
setTimeout(function() { window.location.reload(true); }, 3000);
|
69
|
+
setTimeout(function() { window.location.reload(true); }, 3000);
|
70
70
|
}
|
71
71
|
else
|
72
72
|
{
|
@@ -2,14 +2,14 @@ module Caboose
|
|
2
2
|
class AbOptionsController < ApplicationController
|
3
3
|
layout 'caboose/admin'
|
4
4
|
|
5
|
-
# GET /admin/ab_variants/:variant_id/options
|
5
|
+
# @route GET /admin/ab_variants/:variant_id/options
|
6
6
|
def admin_index
|
7
7
|
return unless user_is_allowed_to 'view', 'ab_variants'
|
8
8
|
v = AbVariant.find(params[:variant_id])
|
9
9
|
render :json => v.ab_options
|
10
10
|
end
|
11
11
|
|
12
|
-
# POST admin/ab-variants/:variant_id/options'
|
12
|
+
# @route POST admin/ab-variants/:variant_id/options'
|
13
13
|
def admin_create
|
14
14
|
return unless user_is_allowed_to 'edit','ab_variants'
|
15
15
|
|
@@ -26,7 +26,7 @@ module Caboose
|
|
26
26
|
render :json => resp
|
27
27
|
end
|
28
28
|
|
29
|
-
# PUT /admin/ab_options/:id
|
29
|
+
# @route PUT /admin/ab_options/:id
|
30
30
|
def admin_update
|
31
31
|
return unless user_is_allowed_to 'edit', 'ab_variants'
|
32
32
|
|
@@ -46,7 +46,7 @@ module Caboose
|
|
46
46
|
render :json => resp
|
47
47
|
end
|
48
48
|
|
49
|
-
# DELETE /admin/ab_options/:id
|
49
|
+
# @route DELETE /admin/ab_options/:id
|
50
50
|
def admin_delete
|
51
51
|
return unless user_is_allowed_to 'delete', 'ab_variants'
|
52
52
|
AbOption.find(params[:id]).destroy
|
@@ -6,7 +6,7 @@ module Caboose
|
|
6
6
|
@page = Page.page_with_uri(request.host_with_port, '/admin')
|
7
7
|
end
|
8
8
|
|
9
|
-
# GET /admin/ab_variants
|
9
|
+
# @route GET /admin/ab_variants
|
10
10
|
def admin_index
|
11
11
|
return unless user_is_allowed_to 'view', 'ab_variants'
|
12
12
|
|
@@ -19,19 +19,19 @@ module Caboose
|
|
19
19
|
@variants = @gen.items
|
20
20
|
end
|
21
21
|
|
22
|
-
# GET /admin/ab_variants/new
|
22
|
+
# @route GET /admin/ab_variants/new
|
23
23
|
def admin_new
|
24
24
|
return unless user_is_allowed_to 'add', 'ab_variants'
|
25
25
|
@variant = AbVariant.new
|
26
26
|
end
|
27
27
|
|
28
|
-
# GET /admin/ab_variants/:id
|
28
|
+
# @route GET /admin/ab_variants/:id
|
29
29
|
def admin_edit
|
30
30
|
return unless user_is_allowed_to 'edit', 'ab_variants'
|
31
31
|
@variant = AbVariant.find(params[:id])
|
32
32
|
end
|
33
33
|
|
34
|
-
# POST /admin/ab-variants
|
34
|
+
# @route POST /admin/ab-variants
|
35
35
|
def admin_create
|
36
36
|
return unless user_is_allowed_to 'edit', 'ab_variants'
|
37
37
|
|
@@ -53,7 +53,7 @@ module Caboose
|
|
53
53
|
render json: resp
|
54
54
|
end
|
55
55
|
|
56
|
-
# PUT /admin/ab_variants/:id
|
56
|
+
# @route PUT /admin/ab_variants/:id
|
57
57
|
def admin_update
|
58
58
|
return unless user_is_allowed_to 'edit', 'ab_variants'
|
59
59
|
|
@@ -76,7 +76,7 @@ module Caboose
|
|
76
76
|
render :json => resp
|
77
77
|
end
|
78
78
|
|
79
|
-
# DELETE /admin/ab_variants/:id
|
79
|
+
# @route DELETE /admin/ab_variants/:id
|
80
80
|
def admin_destroy
|
81
81
|
return unless user_is_allowed_to 'delete', 'ab_variants'
|
82
82
|
AbVariants.find(params[:id]).destroy
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module Caboose
|
3
3
|
class AdminController < ApplicationController
|
4
4
|
|
5
|
-
# GET /admin
|
5
|
+
# @route GET /admin
|
6
6
|
def index
|
7
7
|
return if !user_is_allowed('admin', 'view')
|
8
8
|
#if logged_in?
|
@@ -12,7 +12,7 @@ module Caboose
|
|
12
12
|
@return_url = params[:return_url].nil? ? '/admin/pages' : params[:return_url]
|
13
13
|
end
|
14
14
|
|
15
|
-
# GET /station
|
15
|
+
# @route GET /station
|
16
16
|
def station
|
17
17
|
@user = logged_in_user
|
18
18
|
render :layout => 'caboose/station'
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Caboose
|
2
2
|
class BillingAddressesController < Caboose::ApplicationController
|
3
3
|
|
4
|
-
# GET /admin/orders/:order_id/billing-address/json
|
4
|
+
# @route GET /admin/orders/:order_id/billing-address/json
|
5
5
|
def admin_json
|
6
6
|
return if !user_is_allowed('orders', 'edit')
|
7
7
|
order = Order.find(params[:order_id])
|
8
8
|
render :json => order.billing_address
|
9
9
|
end
|
10
10
|
|
11
|
-
# PUT /admin/orders/:order_id/billing-address
|
11
|
+
# @route PUT /admin/orders/:order_id/billing-address
|
12
12
|
def admin_update
|
13
13
|
return if !user_is_allowed('orders', 'edit')
|
14
14
|
|
@@ -48,7 +48,7 @@ module Caboose
|
|
48
48
|
|
49
49
|
#===========================================================================
|
50
50
|
|
51
|
-
# GET /my-account/orders/:order_id/billing-address/json
|
51
|
+
# @route GET /my-account/orders/:order_id/billing-address/json
|
52
52
|
def my_account_json
|
53
53
|
return if !logged_in?
|
54
54
|
order = Order.find(params[:order_id])
|
@@ -59,7 +59,7 @@ module Caboose
|
|
59
59
|
render :json => order.billing_address
|
60
60
|
end
|
61
61
|
|
62
|
-
# PUT /my-account/orders/:order_id/billing-address
|
62
|
+
# @route PUT /my-account/orders/:order_id/billing-address
|
63
63
|
def my_account_update
|
64
64
|
return if !logged_in?
|
65
65
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module Caboose
|
3
3
|
class BlockTypeCategoriesController < ApplicationController
|
4
4
|
|
5
|
-
# GET /admin/block-type-categories/tree-options
|
5
|
+
# @route GET /admin/block-type-categories/tree-options
|
6
6
|
def admin_tree_options
|
7
7
|
return unless user_is_allowed('pages', 'edit')
|
8
8
|
render :json => BlockTypeCategory.tree
|
@@ -5,27 +5,51 @@ module Caboose
|
|
5
5
|
# Admin actions
|
6
6
|
#===========================================================================
|
7
7
|
|
8
|
-
# GET /admin/block-type-sources
|
8
|
+
# @route GET /admin/block-type-sources
|
9
9
|
def admin_index
|
10
10
|
return if !user_is_allowed('blocktypesources', 'view')
|
11
11
|
@block_type_sources = BlockTypeSource.reorder("priority, name").all
|
12
12
|
render :layout => 'caboose/admin'
|
13
13
|
end
|
14
14
|
|
15
|
-
# GET /admin/block-type-sources/new
|
15
|
+
# @route GET /admin/block-type-sources/new
|
16
16
|
def admin_new
|
17
17
|
return unless user_is_allowed('blocktypesources', 'add')
|
18
18
|
render :layout => 'caboose/admin'
|
19
19
|
end
|
20
20
|
|
21
|
-
# GET /admin/block-type-sources/:id
|
21
|
+
# @route GET /admin/block-type-sources/:id/refresh
|
22
|
+
def admin_refresh
|
23
|
+
return unless user_is_allowed('blocktypesources', 'edit')
|
24
|
+
|
25
|
+
resp = StdClass.new
|
26
|
+
|
27
|
+
bts = BlockTypeSource.find(params[:id])
|
28
|
+
if bts.refresh_summaries
|
29
|
+
resp.success = "Block types from the source have been refreshed successfully."
|
30
|
+
else
|
31
|
+
resp.error = "There was an error refreshing block types from the source."
|
32
|
+
end
|
33
|
+
render :json => resp
|
34
|
+
end
|
35
|
+
|
36
|
+
# @route GET /admin/block-type-sources/options
|
37
|
+
def admin_options
|
38
|
+
return unless user_is_allowed('blocktypesources', 'edit')
|
39
|
+
options = BlockType.reorder(:name).all.collect do |bts|
|
40
|
+
{ 'value' => bts.id, 'text' => bts.name }
|
41
|
+
end
|
42
|
+
render :json => options
|
43
|
+
end
|
44
|
+
|
45
|
+
# @route GET /admin/block-type-sources/:id
|
22
46
|
def admin_edit
|
23
47
|
return unless user_is_allowed('blocktypesources', 'edit')
|
24
48
|
@block_type_source = BlockTypeSource.find(params[:id])
|
25
49
|
render :layout => 'caboose/admin'
|
26
50
|
end
|
27
51
|
|
28
|
-
# POST /admin/block-type-sources
|
52
|
+
# @route POST /admin/block-type-sources
|
29
53
|
def admin_create
|
30
54
|
return unless user_is_allowed('blocktypesources', 'add')
|
31
55
|
|
@@ -44,7 +68,7 @@ module Caboose
|
|
44
68
|
render :json => resp
|
45
69
|
end
|
46
70
|
|
47
|
-
# PUT /admin/block-type-sources/:id
|
71
|
+
# @route PUT /admin/block-type-sources/:id
|
48
72
|
def admin_update
|
49
73
|
return unless user_is_allowed('blocktypesources', 'edit')
|
50
74
|
|
@@ -66,7 +90,7 @@ module Caboose
|
|
66
90
|
render :json => resp
|
67
91
|
end
|
68
92
|
|
69
|
-
# DELETE /admin/block-type-sources/:id
|
93
|
+
# @route DELETE /admin/block-type-sources/:id
|
70
94
|
def admin_delete
|
71
95
|
return unless user_is_allowed('blocktypesources', 'delete')
|
72
96
|
BlockTypeSource.find(params[:id]).destroy
|
@@ -75,30 +99,6 @@ module Caboose
|
|
75
99
|
})
|
76
100
|
render :json => resp
|
77
101
|
end
|
78
|
-
|
79
|
-
# GET /admin/block-type-sources/:id/refresh
|
80
|
-
def admin_refresh
|
81
|
-
return unless user_is_allowed('blocktypesources', 'edit')
|
82
|
-
|
83
|
-
resp = StdClass.new
|
84
|
-
|
85
|
-
bts = BlockTypeSource.find(params[:id])
|
86
|
-
if bts.refresh_summaries
|
87
|
-
resp.success = "Block types from the source have been refreshed successfully."
|
88
|
-
else
|
89
|
-
resp.error = "There was an error refreshing block types from the source."
|
90
|
-
end
|
91
|
-
render :json => resp
|
92
|
-
end
|
93
|
-
|
94
|
-
# GET /admin/block-type-sources/options
|
95
|
-
def admin_options
|
96
|
-
return unless user_is_allowed('blocktypesources', 'edit')
|
97
|
-
options = BlockType.reorder(:name).all.collect do |bts|
|
98
|
-
{ 'value' => bts.id, 'text' => bts.name }
|
99
|
-
end
|
100
|
-
render :json => options
|
101
|
-
end
|
102
102
|
|
103
103
|
end
|
104
104
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
module Caboose
|
3
3
|
class BlockTypeStoreController < ApplicationController
|
4
4
|
|
5
|
-
# GET /admin/block-types/store
|
5
|
+
# @route GET /admin/block-types/store
|
6
6
|
def admin_index
|
7
7
|
return unless user_is_allowed('blocktypestore', 'add')
|
8
8
|
@pager = PageBarGenerator.new(params, {
|
@@ -20,14 +20,7 @@ module Caboose
|
|
20
20
|
render :layout => 'caboose/admin'
|
21
21
|
end
|
22
22
|
|
23
|
-
# GET /admin/block-types/store/:block_type_summary_id
|
24
|
-
def admin_details
|
25
|
-
return unless user_is_allowed('blocktypestore', 'add')
|
26
|
-
@block_type_summary = BlockTypeSummary::find(params[:block_type_summary_id])
|
27
|
-
render :layout => 'caboose/admin'
|
28
|
-
end
|
29
|
-
|
30
|
-
# GET /admin/block-types/store/:block_type_summary_id/download
|
23
|
+
# @route GET /admin/block-types/store/:block_type_summary_id/download
|
31
24
|
def admin_download
|
32
25
|
return unless user_is_allowed('blocktypestore', 'add')
|
33
26
|
|
@@ -37,6 +30,13 @@ module Caboose
|
|
37
30
|
resp = StdClass.new('success' => 'The block type has been downloaded successfully.')
|
38
31
|
render :json => resp
|
39
32
|
end
|
40
|
-
|
33
|
+
|
34
|
+
# @route GET /admin/block-types/store/:block_type_summary_id
|
35
|
+
def admin_details
|
36
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
37
|
+
@block_type_summary = BlockTypeSummary::find(params[:block_type_summary_id])
|
38
|
+
render :layout => 'caboose/admin'
|
39
|
+
end
|
40
|
+
|
41
41
|
end
|
42
42
|
end
|
@@ -6,14 +6,14 @@ module Caboose
|
|
6
6
|
# Admin actions
|
7
7
|
#===========================================================================
|
8
8
|
|
9
|
-
# GET /admin/block-types
|
9
|
+
# @route GET /admin/block-types
|
10
10
|
def admin_index
|
11
11
|
return if !user_is_allowed('pages', 'view')
|
12
12
|
@block_types = BlockType.where("parent_id is null or parent_id = 0").reorder(:name).all
|
13
13
|
render :layout => 'caboose/admin'
|
14
14
|
end
|
15
15
|
|
16
|
-
# GET /admin/block-types/json
|
16
|
+
# @route GET /admin/block-types/json
|
17
17
|
def admin_json
|
18
18
|
h = {
|
19
19
|
'name' => '',
|
@@ -41,15 +41,15 @@ module Caboose
|
|
41
41
|
}
|
42
42
|
end
|
43
43
|
|
44
|
-
# GET /admin/block-types/:id/json
|
44
|
+
# @route GET /admin/block-types/:id/json
|
45
45
|
def admin_json_single
|
46
46
|
return if !user_is_allowed('pages', 'view')
|
47
47
|
block_type = BlockType.find(params[:id])
|
48
48
|
render :json => block_type.as_json(:include => :sites)
|
49
49
|
end
|
50
50
|
|
51
|
-
# GET /admin/block-types/new
|
52
|
-
# GET /admin/block-types/:id/new
|
51
|
+
# @route GET /admin/block-types/new
|
52
|
+
# @route GET /admin/block-types/:id/new
|
53
53
|
def admin_new
|
54
54
|
return unless user_is_allowed('pages', 'add')
|
55
55
|
@block_type = BlockType.new
|
@@ -57,21 +57,21 @@ module Caboose
|
|
57
57
|
render :layout => 'caboose/admin'
|
58
58
|
end
|
59
59
|
|
60
|
-
# GET /admin/block-types/:id
|
61
|
-
def
|
60
|
+
# @route GET /admin/block-types/:id/icon
|
61
|
+
def admin_edit_icon
|
62
62
|
return unless user_is_allowed('pages', 'edit')
|
63
63
|
@block_type = BlockType.find(params[:id])
|
64
|
-
render :layout => 'caboose/
|
64
|
+
render :layout => 'caboose/modal'
|
65
65
|
end
|
66
66
|
|
67
|
-
# GET /admin/block-types/:id
|
68
|
-
def
|
67
|
+
# @route GET /admin/block-types/:id
|
68
|
+
def admin_edit
|
69
69
|
return unless user_is_allowed('pages', 'edit')
|
70
70
|
@block_type = BlockType.find(params[:id])
|
71
|
-
render :layout => 'caboose/
|
71
|
+
render :layout => 'caboose/admin'
|
72
72
|
end
|
73
73
|
|
74
|
-
# POST /admin/block-types
|
74
|
+
# @route POST /admin/block-types
|
75
75
|
def admin_create
|
76
76
|
return unless user_is_allowed('pages', 'add')
|
77
77
|
|
@@ -94,7 +94,7 @@ module Caboose
|
|
94
94
|
render :json => resp
|
95
95
|
end
|
96
96
|
|
97
|
-
# PUT /admin/block-types/:id
|
97
|
+
# @route PUT /admin/block-types/:id
|
98
98
|
def admin_update
|
99
99
|
return unless user_is_allowed('pages', 'edit')
|
100
100
|
|
@@ -139,7 +139,7 @@ module Caboose
|
|
139
139
|
render :json => resp
|
140
140
|
end
|
141
141
|
|
142
|
-
# DELETE /admin/block-types/:id
|
142
|
+
# @route DELETE /admin/block-types/:id
|
143
143
|
def admin_delete
|
144
144
|
return unless user_is_allowed('pages', 'delete')
|
145
145
|
BlockType.find(params[:id]).destroy
|
@@ -148,68 +148,53 @@ module Caboose
|
|
148
148
|
})
|
149
149
|
render :json => resp
|
150
150
|
end
|
151
|
-
|
152
|
-
#
|
151
|
+
|
152
|
+
# @route_priority 1
|
153
|
+
# @route GET /admin/block-types/:field-options
|
154
|
+
# @route GET /admin/block-types/options
|
155
|
+
# @route GET /admin/block-types/:id/options
|
153
156
|
def admin_field_type_options
|
154
|
-
return unless user_is_allowed('pages', 'edit')
|
155
|
-
options = [
|
156
|
-
{ 'value' => 'checkbox' , 'text' => 'Checkbox' },
|
157
|
-
{ 'value' => 'checkbox_multiple' , 'text' => 'Checkbox (multiple)' },
|
158
|
-
{ 'value' => 'image' , 'text' => 'Image' },
|
159
|
-
{ 'value' => 'file' , 'text' => 'File' },
|
160
|
-
{ 'value' => 'richtext' , 'text' => 'Rich Text' },
|
161
|
-
{ 'value' => 'select' , 'text' => 'Multiple choice (select box)' },
|
162
|
-
{ 'value' => 'text' , 'text' => 'Textbox' },
|
163
|
-
{ 'value' => 'textarea' , 'text' => 'Textarea' },
|
164
|
-
{ 'value' => 'block' , 'text' => 'Block' }
|
165
|
-
]
|
166
|
-
render :json => options
|
167
|
-
end
|
168
|
-
|
169
|
-
# GET /admin/block-types/site-options
|
170
|
-
def admin_site_options
|
171
|
-
return unless user_is_allowed('pages', 'edit')
|
172
|
-
options = Site.reorder("description, name").all.collect do |s|
|
173
|
-
{
|
174
|
-
'value' => s.id,
|
175
|
-
'text' => s.description && s.description.strip.length > 0 ? s.description : s.name
|
176
|
-
}
|
177
|
-
end
|
178
|
-
render :json => options
|
179
|
-
end
|
180
|
-
|
181
|
-
# GET /admin/block-types/:id/options
|
182
|
-
def admin_value_options
|
183
157
|
return unless user_is_allowed('pages', 'edit')
|
184
|
-
|
158
|
+
|
185
159
|
options = []
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
160
|
+
case params[:field]
|
161
|
+
when nil
|
162
|
+
if params[:id]
|
163
|
+
bt = BlockType.find(params[:id])
|
164
|
+
options = []
|
165
|
+
if bt.options_function
|
166
|
+
options = bt.render_options
|
167
|
+
elsif bt.options
|
168
|
+
options = bt.options.strip.split("\n").collect { |line| { 'value' => line, 'text' => line }}
|
169
|
+
end
|
170
|
+
else
|
171
|
+
options = BlockType.where("parent_id is null").reorder(:name).all.collect do |bt|
|
172
|
+
{ 'value' => bt.id, 'text' => bt.description }
|
173
|
+
end
|
174
|
+
end
|
175
|
+
when 'field-type'
|
176
|
+
options = [
|
177
|
+
{ 'value' => 'checkbox' , 'text' => 'Checkbox' },
|
178
|
+
{ 'value' => 'checkbox_multiple' , 'text' => 'Checkbox (multiple)' },
|
179
|
+
{ 'value' => 'image' , 'text' => 'Image' },
|
180
|
+
{ 'value' => 'file' , 'text' => 'File' },
|
181
|
+
{ 'value' => 'richtext' , 'text' => 'Rich Text' },
|
182
|
+
{ 'value' => 'select' , 'text' => 'Multiple choice (select box)' },
|
183
|
+
{ 'value' => 'text' , 'text' => 'Textbox' },
|
184
|
+
{ 'value' => 'textarea' , 'text' => 'Textarea' },
|
185
|
+
{ 'value' => 'block' , 'text' => 'Block' }
|
186
|
+
]
|
187
|
+
when 'site'
|
188
|
+
options = Site.reorder("description, name").all.collect{ |s| { 'value' => s.id, 'text' => s.description && s.description.strip.length > 0 ? s.description : s.name }}
|
189
|
+
when 'tree'
|
190
|
+
options = []
|
191
|
+
BlockType.where("parent_id is null or parent_id = 0").reorder(:name).all.each do |bt|
|
192
|
+
admin_tree_options_helper(options, bt, '')
|
193
|
+
end
|
190
194
|
end
|
191
195
|
render :json => options
|
192
196
|
end
|
193
197
|
|
194
|
-
# GET /admin/block-types/options
|
195
|
-
def admin_options
|
196
|
-
return unless user_is_allowed('pages', 'edit')
|
197
|
-
options = BlockType.where("parent_id is null").reorder(:name).all.collect do |bt|
|
198
|
-
{ 'value' => bt.id, 'text' => bt.description }
|
199
|
-
end
|
200
|
-
render :json => options
|
201
|
-
end
|
202
|
-
|
203
|
-
# GET /admin/block-types/tree-options
|
204
|
-
def admin_tree_options
|
205
|
-
return unless user_is_allowed('pages', 'edit')
|
206
|
-
options = []
|
207
|
-
BlockType.where("parent_id is null or parent_id = 0").reorder(:name).all.each do |bt|
|
208
|
-
admin_tree_options_helper(options, bt, '')
|
209
|
-
end
|
210
|
-
render :json => options
|
211
|
-
end
|
212
|
-
|
213
198
|
def admin_tree_options_helper(options, bt, prefix)
|
214
199
|
options << { 'value' => bt.id, 'text' => "#{prefix}#{bt.description}" }
|
215
200
|
bt.children.each do |bt2|
|
@@ -221,7 +206,7 @@ module Caboose
|
|
221
206
|
# Store Actions
|
222
207
|
#===========================================================================
|
223
208
|
|
224
|
-
# GET /admin/block-types/store
|
209
|
+
# @route GET /admin/block-types/store
|
225
210
|
def admin_store_index
|
226
211
|
return unless user_is_allowed('blocktypestore', 'add')
|
227
212
|
@pager = PageBarGenerator.new(params, {
|
@@ -239,14 +224,7 @@ module Caboose
|
|
239
224
|
render :layout => 'caboose/admin'
|
240
225
|
end
|
241
226
|
|
242
|
-
# GET /admin/block-types/store/:block_type_summary_id
|
243
|
-
def admin_store_details
|
244
|
-
return unless user_is_allowed('blocktypestore', 'add')
|
245
|
-
@block_type_summary = BlockTypeSummary::find(params[:block_type_summary_id])
|
246
|
-
render :layout => 'caboose/admin'
|
247
|
-
end
|
248
|
-
|
249
|
-
# GET /admin/block-types/store/:block_type_summary_id/download
|
227
|
+
# @route GET /admin/block-types/store/:block_type_summary_id/download
|
250
228
|
def admin_store_download
|
251
229
|
return unless user_is_allowed('blocktypestore', 'add')
|
252
230
|
|
@@ -257,11 +235,18 @@ module Caboose
|
|
257
235
|
render :json => resp
|
258
236
|
end
|
259
237
|
|
238
|
+
# @route GET /admin/block-types/store/:block_type_summary_id
|
239
|
+
def admin_store_details
|
240
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
241
|
+
@block_type_summary = BlockTypeSummary::find(params[:block_type_summary_id])
|
242
|
+
render :layout => 'caboose/admin'
|
243
|
+
end
|
244
|
+
|
260
245
|
#===========================================================================
|
261
246
|
# Public Repo Actions
|
262
247
|
#===========================================================================
|
263
248
|
|
264
|
-
# GET /caboose/block-types
|
249
|
+
# @route GET /caboose/block-types
|
265
250
|
def api_block_type_list
|
266
251
|
arr = BlockType.where("parent_id is null and share = ?", true).reorder(:name).all.collect do |bt|
|
267
252
|
{ 'name' => bt.name, 'description' => bt.description }
|
@@ -269,7 +254,7 @@ module Caboose
|
|
269
254
|
render :json => arr
|
270
255
|
end
|
271
256
|
|
272
|
-
# GET /caboose/block-types/:name
|
257
|
+
# @route GET /caboose/block-types/:name
|
273
258
|
def api_block_type
|
274
259
|
bt = BlockType.where(:name => params[:name]).first
|
275
260
|
render :json => { 'error' => 'Invalid block type.' } if bt.nil?
|
@@ -18,8 +18,8 @@ module Caboose
|
|
18
18
|
# Admin actions
|
19
19
|
#===========================================================================
|
20
20
|
|
21
|
-
# GET /admin/pages/:page_id/blocks
|
22
|
-
# GET /admin/posts/:post_id/blocks
|
21
|
+
# @route GET /admin/pages/:page_id/blocks
|
22
|
+
# @route GET /admin/posts/:post_id/blocks
|
23
23
|
def admin_index
|
24
24
|
return if !user_is_allowed('pages', 'view')
|
25
25
|
#h = params[:post_id] ? { :post_id => params[:post_id] } : { :page_id => params[:page_id] }
|
@@ -28,10 +28,10 @@ module Caboose
|
|
28
28
|
render :json => @p.block
|
29
29
|
end
|
30
30
|
|
31
|
-
# GET /admin/pages/:page_id/blocks/:id/new
|
32
|
-
# GET /admin/pages/:page_id/blocks/new
|
33
|
-
# GET /admin/posts/:post_id/blocks/:id/new
|
34
|
-
# GET /admin/posts/:post_id/blocks/new
|
31
|
+
# @route GET /admin/pages/:page_id/blocks/:id/new
|
32
|
+
# @route GET /admin/pages/:page_id/blocks/new
|
33
|
+
# @route GET /admin/posts/:post_id/blocks/:id/new
|
34
|
+
# @route GET /admin/posts/:post_id/blocks/new
|
35
35
|
def admin_new
|
36
36
|
return unless user_is_allowed('pages', 'add')
|
37
37
|
|
@@ -67,18 +67,18 @@ module Caboose
|
|
67
67
|
render :layout => 'caboose/modal'
|
68
68
|
end
|
69
69
|
|
70
|
-
# GET /admin/pages/:page_id/blocks/:id
|
71
|
-
# GET /admin/posts/:post_id/blocks/:id
|
70
|
+
# @route GET /admin/pages/:page_id/blocks/:id
|
71
|
+
# @route GET /admin/posts/:post_id/blocks/:id
|
72
72
|
def admin_show
|
73
73
|
return unless user_is_allowed('pages', 'edit')
|
74
74
|
block = Block.find(params[:id])
|
75
75
|
render :json => block
|
76
76
|
end
|
77
77
|
|
78
|
-
# GET /admin/pages/:page_id/blocks/tree
|
79
|
-
# GET /admin/pages/:page_id/blocks/:id/tree
|
80
|
-
# GET /admin/posts/:post_id/blocks/tree
|
81
|
-
# GET /admin/posts/:post_id/blocks/:id/tree
|
78
|
+
# @route GET /admin/pages/:page_id/blocks/tree
|
79
|
+
# @route GET /admin/pages/:page_id/blocks/:id/tree
|
80
|
+
# @route GET /admin/posts/:post_id/blocks/tree
|
81
|
+
# @route GET /admin/posts/:post_id/blocks/:id/tree
|
82
82
|
def admin_tree
|
83
83
|
return unless user_is_allowed('pages', 'edit')
|
84
84
|
|
@@ -103,8 +103,8 @@ module Caboose
|
|
103
103
|
return arr
|
104
104
|
end
|
105
105
|
|
106
|
-
# GET /admin/pages/:page_id/blocks/:id/render
|
107
|
-
# GET /admin/posts/:post_id/blocks/:id/render
|
106
|
+
# @route GET /admin/pages/:page_id/blocks/:id/render
|
107
|
+
# @route GET /admin/posts/:post_id/blocks/:id/render
|
108
108
|
def admin_render
|
109
109
|
return unless user_is_allowed('pages', 'edit')
|
110
110
|
b = Block.find(params[:id])
|
@@ -133,8 +133,8 @@ module Caboose
|
|
133
133
|
render :json => html
|
134
134
|
end
|
135
135
|
|
136
|
-
# GET /admin/pages/:page_id/blocks/render
|
137
|
-
# GET /admin/posts/:post_id/blocks/render
|
136
|
+
# @route GET /admin/pages/:page_id/blocks/render
|
137
|
+
# @route GET /admin/posts/:post_id/blocks/render
|
138
138
|
def admin_render_all
|
139
139
|
return unless user_is_allowed('pages', 'edit')
|
140
140
|
blocks = Block.where("#{page_or_post}_id = ? and parent_id is null", @p.id).reorder(:sort_order).collect do |b|
|
@@ -163,8 +163,8 @@ module Caboose
|
|
163
163
|
render :json => blocks
|
164
164
|
end
|
165
165
|
|
166
|
-
# GET /admin/pages/:page_id/blocks/render-second-level
|
167
|
-
# GET /admin/posts/:post_id/blocks/render-second-level
|
166
|
+
# @route GET /admin/pages/:page_id/blocks/render-second-level
|
167
|
+
# @route GET /admin/posts/:post_id/blocks/render-second-level
|
168
168
|
def admin_render_second_level
|
169
169
|
return unless user_is_allowed('pages', 'edit')
|
170
170
|
view = ActionView::Base.new(ActionController::Base.view_paths)
|
@@ -195,8 +195,8 @@ module Caboose
|
|
195
195
|
render :json => blocks
|
196
196
|
end
|
197
197
|
|
198
|
-
# GET /admin/pages/:page_id/blocks/:id/edit
|
199
|
-
# GET /admin/posts/:post_id/blocks/:id/edit
|
198
|
+
# @route GET /admin/pages/:page_id/blocks/:id/edit
|
199
|
+
# @route GET /admin/posts/:post_id/blocks/:id/edit
|
200
200
|
def admin_edit
|
201
201
|
return unless user_is_allowed('pages', 'edit')
|
202
202
|
@page = Page.find(params[:page_id]) if params[:page_id]
|
@@ -185,11 +185,22 @@ module Caboose
|
|
185
185
|
# GET /checkout/total
|
186
186
|
def verify_total
|
187
187
|
total = 0.00
|
188
|
-
if logged_in?
|
188
|
+
if logged_in?
|
189
189
|
@order.calculate
|
190
190
|
total = @order.total
|
191
191
|
end
|
192
|
-
render :json => total
|
192
|
+
#render :json => total.to_f
|
193
|
+
ap @order
|
194
|
+
|
195
|
+
render :json => {
|
196
|
+
:subtotal => @order.calculate_subtotal.to_f ,
|
197
|
+
:tax => @order.calculate_tax.to_f ,
|
198
|
+
:shipping => @order.calculate_shipping.to_f ,
|
199
|
+
:handling => @order.calculate_handling.to_f ,
|
200
|
+
:gift_wrap => @order.calculate_gift_wrap.to_f ,
|
201
|
+
:discount => @order.calculate_discount.to_f ,
|
202
|
+
:total => @order.calculate_total.to_f
|
203
|
+
}
|
193
204
|
end
|
194
205
|
|
195
206
|
# GET /checkout/address
|
@@ -356,10 +367,10 @@ module Caboose
|
|
356
367
|
# Take funds from any gift cards that were used on the order
|
357
368
|
order.take_gift_card_funds
|
358
369
|
|
359
|
-
# Send out emails
|
360
|
-
OrdersMailer.configure_for_site(@site.id).customer_new_order(order).deliver
|
361
|
-
OrdersMailer.configure_for_site(@site.id).fulfillment_new_order(order).deliver
|
362
|
-
|
370
|
+
# Send out emails
|
371
|
+
OrdersMailer.delay.configure_for_site(@site.id).customer_new_order(order).deliver
|
372
|
+
OrdersMailer.delay.configure_for_site(@site.id).fulfillment_new_order(order).deliver
|
373
|
+
|
363
374
|
# Emit order event
|
364
375
|
Caboose.plugin_hook('order_authorized', order)
|
365
376
|
else
|
@@ -2,63 +2,82 @@ module Caboose
|
|
2
2
|
class CommentRoutes
|
3
3
|
|
4
4
|
def CommentRoutes.parse_controllers
|
5
|
-
|
6
|
-
classes = []
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
route_priority
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
5
|
+
|
6
|
+
classes = {'zzz_all_domains' => []}
|
7
|
+
Rails.application.config.paths['app/controllers'].each do |controller_path|
|
8
|
+
files = Dir.glob(Rails.root.join(controller_path, '*.rb'))
|
9
|
+
for file in files
|
10
|
+
f = Rails.root.join('app', 'controllers', file)
|
11
|
+
f2 = File.open(f, "r")
|
12
|
+
|
13
|
+
domains = []
|
14
|
+
class_name = nil
|
15
|
+
class_priority = 20
|
16
|
+
route_priority = 20
|
17
|
+
uris = []
|
18
|
+
actions = []
|
19
|
+
f2.each_line do |line|
|
20
|
+
line = line.strip
|
21
|
+
if line =~ /^(.*?)class (.*?)Controller(.*?)$/
|
22
|
+
class_name = line.gsub(/^(.*?)class (.*?)Controller(.*?)$/, '\2').gsub(/([A-Z])/, '_\1').downcase
|
23
|
+
class_name[0] = '' if class_name[0] == '_'
|
24
|
+
elsif line =~ /# @route_domain (.*?)$/
|
25
|
+
domain = line.gsub(/# @route_domain (.*?)$/, '\1')
|
26
|
+
domains << domain if !domains.include?(domain)
|
27
|
+
elsif line =~ /# @class_route_priority \d/
|
28
|
+
class_priority = line.gsub(/# @class_route_priority (\d*?)$/, '\1').to_i
|
29
|
+
elsif line =~ /# @route_priority \d/
|
30
|
+
route_priority = line.gsub(/# @route_priority (\d*?)$/, '\1').to_i
|
31
|
+
elsif line.starts_with?('def ')
|
32
|
+
actions << [line.gsub('def ', ''), uris, route_priority]
|
33
|
+
uris = []
|
34
|
+
route_priority = 20
|
35
|
+
elsif line =~ /# @route GET (.*?)/ then uris << "get \"#{line.gsub(/# @route GET (.*?)/ , '\1')}\""
|
36
|
+
elsif line =~ /# @route POST (.*?)/ then uris << "post \"#{line.gsub(/# @route POST (.*?)/ , '\1')}\""
|
37
|
+
elsif line =~ /# @route PUT (.*?)/ then uris << "put \"#{line.gsub(/# @route PUT (.*?)/ , '\1')}\""
|
38
|
+
elsif line =~ /# @route DELETE (.*?)/ then uris << "delete \"#{line.gsub(/# @route DELETE (.*?)/ , '\1')}\""
|
39
|
+
end
|
40
|
+
end
|
41
|
+
if domains.count > 0
|
42
|
+
domains.each do |domain|
|
43
|
+
classes[domain] = [] if classes[domain].nil?
|
44
|
+
classes[domain] << [class_name, actions, class_priority]
|
45
|
+
end
|
46
|
+
else
|
47
|
+
classes['zzz_all_domains'] << [class_name, actions, class_priority]
|
34
48
|
end
|
35
|
-
end
|
36
|
-
classes << [class_name, actions, class_priority]
|
49
|
+
end
|
37
50
|
end
|
38
|
-
|
51
|
+
|
39
52
|
routes = []
|
40
|
-
classes.sort_by{ |
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
# Get the longest URI so we can make routes that line up vertically
|
46
|
-
longest = ''
|
47
|
-
actions.each{ |action, uris| uris.each{ |uri| longest = uri if uri.length > longest.length }}
|
48
|
-
length = longest.length + 1
|
53
|
+
classes.sort_by{ |domain, domain_classes| domain }.to_h.each do |domain, domain_classes|
|
54
|
+
|
55
|
+
routes << "constraints Caboose::DomainConstraint.new('#{domain}') do" if domain != 'zzz_all_domains'
|
56
|
+
domain_classes.sort_by{ |arr| arr[2] }.each do |carr|
|
49
57
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
58
|
+
class_name = carr[0]
|
59
|
+
actions = carr[1]
|
60
|
+
|
61
|
+
# Get the longest URI so we can make routes that line up vertically
|
62
|
+
longest = ''
|
63
|
+
actions.each{ |action, uris| uris.each{ |uri| longest = uri if uri.length > longest.length }}
|
64
|
+
length = longest.length + 1
|
65
|
+
|
66
|
+
# Make the route line
|
67
|
+
actions.sort_by{ |arr| arr[2] }.each do |arr|
|
68
|
+
action = arr[0]
|
69
|
+
uris = arr[1]
|
70
|
+
uris.each do |uri|
|
71
|
+
#puts "#{uri.ljust(length, ' ')} => \"#{class_name}\##{action}\""
|
72
|
+
routes << "#{uri.ljust(length, ' ')} => \"#{class_name}\##{action}\""
|
73
|
+
end
|
57
74
|
end
|
75
|
+
puts ""
|
58
76
|
end
|
59
|
-
|
77
|
+
routes << "end" if domain != 'zzz_all_domains'
|
60
78
|
end
|
61
|
-
|
79
|
+
puts routes
|
80
|
+
return routes.join("\n")
|
62
81
|
end
|
63
82
|
|
64
83
|
end
|
data/lib/caboose/engine.rb
CHANGED
@@ -144,24 +144,14 @@ module Caboose
|
|
144
144
|
g.helper false
|
145
145
|
end
|
146
146
|
|
147
|
+
#initializer 'caboose.site_mvc', :after => :finish_hook do |app|
|
148
|
+
# # Add the MVC files for each site
|
149
|
+
# Caboose::Site.reorder(:name).all.each do |site|
|
150
|
+
# Rails.application.config.paths['app/controllers'] << "sites/#{site.name}/controllers"
|
151
|
+
# Rails.application.config.paths['app/models'] << "sites/#{site.name}/models"
|
152
|
+
# Rails.application.config.paths['app/views'] << "sites/#{site.name}/views"
|
153
|
+
# end
|
154
|
+
#end
|
155
|
+
|
147
156
|
end
|
148
157
|
end
|
149
|
-
|
150
|
-
#initializer 'caboose_store.payment_processor', :after => :finish_hook do |app|
|
151
|
-
# case Caboose::payment_processor
|
152
|
-
# when 'authorize.net'
|
153
|
-
# Caboose::PaymentProcessor = Caboose::PaymentProcessors::Authorizenet
|
154
|
-
# when 'payscape'
|
155
|
-
# Caboose::PaymentProcessor = Caboose::PaymentProcessors::Payscape
|
156
|
-
# end
|
157
|
-
#end
|
158
|
-
#
|
159
|
-
#initializer 'caboose_store.cart', :after => :finish_hook do |app|
|
160
|
-
# ActiveSupport.on_load(:action_controller) do
|
161
|
-
# include Caboose::BootStrapper
|
162
|
-
# end
|
163
|
-
#
|
164
|
-
# Caboose::User.class_eval do
|
165
|
-
# self.primary_key = :id
|
166
|
-
# end
|
167
|
-
#end
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -791,6 +791,7 @@ files:
|
|
791
791
|
- app/models/caboose/database_session.rb
|
792
792
|
- app/models/caboose/discount.rb
|
793
793
|
- app/models/caboose/domain.rb
|
794
|
+
- app/models/caboose/domain_constraint.rb
|
794
795
|
- app/models/caboose/font.rb
|
795
796
|
- app/models/caboose/font_family.rb
|
796
797
|
- app/models/caboose/font_variant.rb
|