caboose-cms 0.4.34 → 0.4.35
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/block_type_sources_controller.rb +2 -2
- data/app/controllers/caboose/block_type_store_controller.rb +42 -0
- data/app/controllers/caboose/block_types_controller.rb +40 -0
- data/app/models/caboose/block_type.rb +19 -1
- data/app/models/caboose/block_type_source.rb +9 -23
- data/app/models/caboose/block_type_summary.rb +21 -0
- data/app/models/caboose/core_plugin.rb +1 -2
- data/app/models/caboose/schema.rb +5 -0
- data/app/views/caboose/block_type_sources/admin_edit.html.erb +5 -5
- data/app/views/caboose/block_type_sources/admin_index.html.erb +2 -2
- data/app/views/caboose/block_type_sources/admin_new.html.erb +3 -3
- data/app/views/caboose/block_type_store/admin_details.html.erb +14 -0
- data/app/views/caboose/block_type_store/admin_index.html.erb +39 -0
- data/app/views/caboose/block_types/admin_index.html.erb +5 -2
- data/config/routes.rb +14 -10
- data/lib/caboose/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Zjc3MDVlNjJiYmQzM2YwMmJlMjg2NmE3NDZmYTBlN2M2MGQ4ODAyZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzQ5ZWRmNDdlZGNjZDAyNTRjMDEzMzM1N2UyZjQ1ODVjZDVmZDdjOA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
M2ZjN2ZhMmY0YzQ4ODVlMTczYWU3YjIyNmI5OGEzYjNmNmI5NTRmYzY0ZWQx
|
10
|
+
M2NjNDcwN2Q0YjZkYWI5NzcxODZlM2RmNWY3MWVlOTg2YzhkZDViYWRjMzY3
|
11
|
+
MzY5ZDBlMzQwZDIxZjM2ODlkN2U2Y2Q4MDAzZTJjMmRhZjk4ZmQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzAwZGVmNjkzODhkZjY3MzgxZmVlNTg3MDlkNzRmNjdiYjQ2NDA4NjFjYWYx
|
14
|
+
ZDA0ODgwODFlNjczNzU3Yjc0ZjllNzY3ZWEwOWMzN2IzNWViMDI3NGQ2NjE4
|
15
|
+
YTEzNGRiMzJmNDQxOTMyYzUxYjk1ODA0MDM0MjI4NzQ4ZDRjZjQ=
|
@@ -71,7 +71,7 @@ module Caboose
|
|
71
71
|
return unless user_is_allowed('blocktypesources', 'delete')
|
72
72
|
BlockTypeSource.find(params[:id]).destroy
|
73
73
|
resp = StdClass.new({
|
74
|
-
'redirect' => "/admin/block-
|
74
|
+
'redirect' => "/admin/block-types/store/sources"
|
75
75
|
})
|
76
76
|
render :json => resp
|
77
77
|
end
|
@@ -83,7 +83,7 @@ module Caboose
|
|
83
83
|
resp = StdClass.new
|
84
84
|
|
85
85
|
bts = BlockTypeSource.find(params[:id])
|
86
|
-
if bts.
|
86
|
+
if bts.refresh_summaries
|
87
87
|
resp.success = "Block types from the source have been refreshed successfully."
|
88
88
|
else
|
89
89
|
resp.error = "There was an error refreshing block types from the source."
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
module Caboose
|
3
|
+
class BlockTypeStoreController < ApplicationController
|
4
|
+
|
5
|
+
# GET /admin/block-types/store
|
6
|
+
def admin_index
|
7
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
8
|
+
@pager = PageBarGenerator.new(params, {
|
9
|
+
'block_type_source_id' => '',
|
10
|
+
'name_like' => '',
|
11
|
+
'description_like' => ''
|
12
|
+
},{
|
13
|
+
'model' => 'Caboose::BlockTypeSummary',
|
14
|
+
'sort' => 'block_type_source_id, name',
|
15
|
+
'desc' => false,
|
16
|
+
'base_url' => '/admin/block-types/store',
|
17
|
+
'use_url_params' => false
|
18
|
+
})
|
19
|
+
@block_type_summaries = @pager.items
|
20
|
+
render :layout => 'caboose/admin'
|
21
|
+
end
|
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
|
31
|
+
def admin_download
|
32
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
33
|
+
|
34
|
+
bts = BlockTypeSummary::find(params[:block_type_summary_id])
|
35
|
+
bts.source.refresh(bts.name)
|
36
|
+
|
37
|
+
resp = StdClass.new('success' => 'The block type has been downloaded successfully.')
|
38
|
+
render :json => resp
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -159,6 +159,46 @@ module Caboose
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
|
+
#===========================================================================
|
163
|
+
# Store Actions
|
164
|
+
#===========================================================================
|
165
|
+
|
166
|
+
# GET /admin/block-types/store
|
167
|
+
def admin_store_index
|
168
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
169
|
+
@pager = PageBarGenerator.new(params, {
|
170
|
+
'block_type_source_id' => '',
|
171
|
+
'name_like' => '',
|
172
|
+
'description_like' => ''
|
173
|
+
},{
|
174
|
+
'model' => 'Caboose::BlockTypeSummary',
|
175
|
+
'sort' => 'block_type_source_id, name',
|
176
|
+
'desc' => false,
|
177
|
+
'base_url' => '/admin/block-types/store',
|
178
|
+
'use_url_params' => false
|
179
|
+
})
|
180
|
+
@block_type_summaries = @pager.items
|
181
|
+
render :layout => 'caboose/admin'
|
182
|
+
end
|
183
|
+
|
184
|
+
# GET /admin/block-types/store/:block_type_summary_id
|
185
|
+
def admin_store_details
|
186
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
187
|
+
@block_type_summary = BlockTypeSummary::find(params[:block_type_summary_id])
|
188
|
+
render :layout => 'caboose/admin'
|
189
|
+
end
|
190
|
+
|
191
|
+
# GET /admin/block-types/store/:block_type_summary_id/download
|
192
|
+
def admin_store_download
|
193
|
+
return unless user_is_allowed('blocktypestore', 'add')
|
194
|
+
|
195
|
+
bts = BlockTypeSummary::find(params[:block_type_summary_id])
|
196
|
+
bts.source.refresh(bts.name)
|
197
|
+
|
198
|
+
resp = StdClass.new('success' => 'The block type has been downloaded successfully.')
|
199
|
+
render :json => resp
|
200
|
+
end
|
201
|
+
|
162
202
|
#===========================================================================
|
163
203
|
# Public Repo Actions
|
164
204
|
#===========================================================================
|
@@ -29,6 +29,10 @@ class Caboose::BlockType < ActiveRecord::Base
|
|
29
29
|
return eval(self.options_function)
|
30
30
|
end
|
31
31
|
|
32
|
+
def child(name)
|
33
|
+
Caboose::BlockType.where("parent_id = ? and name = ?", self.id, name).first
|
34
|
+
end
|
35
|
+
|
32
36
|
def api_hash
|
33
37
|
return {
|
34
38
|
:name => self.name,
|
@@ -71,6 +75,20 @@ class Caboose::BlockType < ActiveRecord::Base
|
|
71
75
|
self.options = h['options']
|
72
76
|
self.options_function = h['options_function']
|
73
77
|
self.options_url = h['options_url']
|
78
|
+
self.save
|
79
|
+
|
80
|
+
# Remove any named children that don't exist in the given hash
|
81
|
+
new_child_names = h['children'].collect { |h2| h2['name'] }
|
82
|
+
Caboose::BlockType.where(:parent_id => self.id).all.each do |bt|
|
83
|
+
bt.destroy if bt.name && bt.name.strip.length > 0 && !new_child_names.include?(bt.name)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Now add/update all the children
|
87
|
+
h['children'].each do |h2|
|
88
|
+
bt = self.child(h2['name'])
|
89
|
+
bt = Caboose::BlockType.create(:parent_id => self.id) if bt.nil?
|
90
|
+
bt.parse_api_hash(h)
|
91
|
+
end
|
92
|
+
|
74
93
|
end
|
75
|
-
|
76
94
|
end
|
@@ -12,7 +12,7 @@ class Caboose::BlockTypeSource < ActiveRecord::Base
|
|
12
12
|
:active
|
13
13
|
|
14
14
|
# Just get the names and descriptions of all block types from the source
|
15
|
-
def
|
15
|
+
def refresh_summaries
|
16
16
|
resp = nil
|
17
17
|
begin
|
18
18
|
resp = HTTParty.get("#{self.url}/caboose/block-types?token=#{self.token}")
|
@@ -21,17 +21,19 @@ class Caboose::BlockTypeSource < ActiveRecord::Base
|
|
21
21
|
return false
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
summaries = nil
|
25
25
|
begin
|
26
|
-
|
26
|
+
summaries = JSON.parse(resp.body)
|
27
27
|
rescue
|
28
28
|
Caboose.log("Response body isn't valid JSON.")
|
29
29
|
return false
|
30
30
|
end
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
Caboose::
|
32
|
+
summaries.each do |h|
|
33
|
+
s = Caboose::BlockTypeSummary.where(:block_type_source_id => self.id, :name => h['name']).first
|
34
|
+
s = Caboose::BlockTypeSummary.create(:block_type_source_id => self.id)
|
35
|
+
s.parse_api_hash(h)
|
36
|
+
s.save
|
35
37
|
end
|
36
38
|
|
37
39
|
return true
|
@@ -64,26 +66,10 @@ class Caboose::BlockTypeSource < ActiveRecord::Base
|
|
64
66
|
return false
|
65
67
|
end
|
66
68
|
|
67
|
-
#
|
69
|
+
# Update the block type
|
68
70
|
bt.parse_api_hash(h)
|
69
|
-
bt.save
|
70
|
-
|
71
|
-
# Now add all the children
|
72
|
-
h['children'].each do |h2|
|
73
|
-
recursive_add(h2, bt.id)
|
74
|
-
end
|
75
71
|
|
76
72
|
return true
|
77
73
|
end
|
78
74
|
|
79
|
-
def self.recursive_add(h, parent_id = nil)
|
80
|
-
bt = Caboose::BlockType.new(:parent_id => parent_id)
|
81
|
-
bt.parse_api_hash(h)
|
82
|
-
bt.save
|
83
|
-
|
84
|
-
h['children'].each do |h2|
|
85
|
-
self.recursive_add(h2, bt.id)
|
86
|
-
end
|
87
|
-
return bt
|
88
|
-
end
|
89
75
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
|
3
|
+
class Caboose::BlockTypeSummary < ActiveRecord::Base
|
4
|
+
self.table_name = "block_type_summary"
|
5
|
+
|
6
|
+
belongs_to :block_type_source
|
7
|
+
attr_accessible :id,
|
8
|
+
:block_type_source_id,
|
9
|
+
:name,
|
10
|
+
:description
|
11
|
+
|
12
|
+
def source
|
13
|
+
self.block_type_source
|
14
|
+
end
|
15
|
+
|
16
|
+
def parse_api_hash(h)
|
17
|
+
self.name = h['name']
|
18
|
+
self.description = h['description']
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -26,8 +26,7 @@ class Caboose::CorePlugin < Caboose::CaboosePlugin
|
|
26
26
|
item['children'] << { 'id' => 'permissions' , 'text' => 'Permissions' , 'href' => '/admin/permissions' , 'modal' => false } if user.is_allowed('permissions' , 'view')
|
27
27
|
item['children'] << { 'id' => 'blocktypes' , 'text' => 'AB Test Variants' , 'href' => '/admin/ab-variants' , 'modal' => false } if user.is_allowed('abvariants' , 'view')
|
28
28
|
item['children'] << { 'id' => 'variables' , 'text' => 'Variables' , 'href' => '/admin/settings' , 'modal' => false } if user.is_allowed('settings' , 'view')
|
29
|
-
item['children'] << { 'id' => 'blocktypes' , 'text' => 'Block Types' , 'href' => '/admin/block-types' , 'modal' => false } if user.is_allowed('blocktypes' , 'view')
|
30
|
-
item['children'] << { 'id' => 'blocktypesources' , 'text' => 'Block Type Sources' , 'href' => '/admin/block-type-sources' , 'modal' => false } if user.is_allowed('blocktypesources' , 'view')
|
29
|
+
item['children'] << { 'id' => 'blocktypes' , 'text' => 'Block Types' , 'href' => '/admin/block-types' , 'modal' => false } if user.is_allowed('blocktypes' , 'view')
|
31
30
|
|
32
31
|
nav << item if item['children'].count > 0
|
33
32
|
|
@@ -165,6 +165,11 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
165
165
|
[ :priority , :integer, { :default => 0 }],
|
166
166
|
[ :active , :boolean, { :default => true }],
|
167
167
|
],
|
168
|
+
Caboose::BlockTypeSummary => [
|
169
|
+
[ :block_type_source_id , :integer ],
|
170
|
+
[ :name , :string ],
|
171
|
+
[ :description , :string ]
|
172
|
+
],
|
168
173
|
Caboose::Post => [
|
169
174
|
[ :title , :text ],
|
170
175
|
[ :body , :text ],
|
@@ -11,8 +11,8 @@ bts = @block_type_source
|
|
11
11
|
|
12
12
|
<div id='message'></div>
|
13
13
|
<p>
|
14
|
-
<input type='button' value='< Back' onclick="window.location='/admin/block-
|
15
|
-
<input type='button' value='Refresh Block
|
14
|
+
<input type='button' value='< Back' onclick="window.location='/admin/block-types/store/sources';" />
|
15
|
+
<input type='button' value='Refresh Block Type Summaries' onclick="refresh_block_types(<%= bts.id %>);" />
|
16
16
|
<input type='button' value='Delete Source' onclick="delete_block_type_source(<%= bts.id %>);" />
|
17
17
|
</p>
|
18
18
|
|
@@ -33,7 +33,7 @@ function delete_block_type_source(bts_id, confirm)
|
|
33
33
|
}
|
34
34
|
$('#message').empty().append($('<p/>').addClass('loading').html('Deleting source...'));
|
35
35
|
$.ajax({
|
36
|
-
url: '/admin/block-
|
36
|
+
url: '/admin/block-types/store/sources/' + bts_id,
|
37
37
|
type: 'delete',
|
38
38
|
success: function(resp) {
|
39
39
|
if (resp.error) $('#message').empty().append($('<p/>').addClass('note error').html(resp.error));
|
@@ -46,7 +46,7 @@ function refresh_block_types(bts_id)
|
|
46
46
|
{
|
47
47
|
$('#message').empty().append($('<p/>').addClass('loading').html('Refreshing block types from source...'));
|
48
48
|
$.ajax({
|
49
|
-
url: '/admin/block-type
|
49
|
+
url: '/admin/block-type/store/sources/' + bts_id + '/refresh',
|
50
50
|
type: 'get',
|
51
51
|
success: function(resp) {
|
52
52
|
if (resp.error) $('#message').empty().append($('<p/>').addClass('note error').html(resp.error));
|
@@ -59,7 +59,7 @@ $(document).ready(function() {
|
|
59
59
|
m = new ModelBinder({
|
60
60
|
name: 'BlockTypeSource',
|
61
61
|
id: <%= bts.id %>,
|
62
|
-
update_url: '/admin/block-
|
62
|
+
update_url: '/admin/block-types/store/sources/<%= bts.id %>',
|
63
63
|
authenticity_token: '<%= form_authenticity_token %>',
|
64
64
|
attributes: [
|
65
65
|
{ name: 'name' , nice_name: 'Name' , type: 'text' , value: <%= raw Caboose.json(bts.name) %>, width: 400 },
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<h1>Block Type Sources</h1>
|
2
2
|
|
3
|
-
<p><a href='/admin/block-
|
3
|
+
<p><a href='/admin/block-types/store/sources/new'>New Source</a></p>
|
4
4
|
|
5
5
|
<% if (@block_type_sources.count > 0) %>
|
6
6
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<th>URL</th>
|
11
11
|
</tr>
|
12
12
|
<% @block_type_sources.each do |bts| %>
|
13
|
-
<tr onclick="window.location='/admin/block-
|
13
|
+
<tr onclick="window.location='/admin/block-types/store/sources/<%= bts.id %>/edit';">
|
14
14
|
<td><%= bts.name %></td>
|
15
15
|
<td><%= bts.url %></td>
|
16
16
|
</tr>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
|
2
2
|
<h1>New Source</h1>
|
3
|
-
<form action='/admin/block-
|
3
|
+
<form action='/admin/block-types/store/sources' method='post' id='new_source_form'>
|
4
4
|
<input type='hidden' name='authenticity_token' value='<%= form_authenticity_token %>' />
|
5
5
|
<p><input type='text' id='name' name='name' placeholder='Name' /></p>
|
6
6
|
<div id='message'></div>
|
7
7
|
<p>
|
8
|
-
<input type='button' value='< Back' onclick="window.location='/admin/block-
|
8
|
+
<input type='button' value='< Back' onclick="window.location='/admin/block-types/store/sources';" />
|
9
9
|
<input type='button' value='Add Source' onclick="add_block_type_source();" />
|
10
10
|
</p>
|
11
11
|
</form>
|
@@ -17,7 +17,7 @@ function add_block_type_source()
|
|
17
17
|
{
|
18
18
|
$('#message').empty().append($('<p/>').addClass('loading').html('Adding source...'));
|
19
19
|
$.ajax({
|
20
|
-
url: '/admin/block-
|
20
|
+
url: '/admin/block-types/store/sources',
|
21
21
|
type: 'post',
|
22
22
|
data: $('#new_source_form').serialize(),
|
23
23
|
success: function(resp) {
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%
|
2
|
+
bts = @block_type_summary
|
3
|
+
%>
|
4
|
+
<div id='crumbtrail'>
|
5
|
+
<a href='/admin/block-types'>Page Block Types</a> >
|
6
|
+
<a href='/admin/block-types/store'>Store</a>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<h1>Block Type Details</h1>
|
10
|
+
|
11
|
+
<p>Name: <%= bts.name %></p>
|
12
|
+
<p>Description: <%= bts.description %></p>
|
13
|
+
<p>Status:
|
14
|
+
<p><a href='/admin/block-types/store'>< Back</a></p>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<h1>Block Type Store</h1>
|
2
|
+
|
3
|
+
<p><a href='/admin/block-types/store/sources'>Store Sources</a></p>
|
4
|
+
|
5
|
+
<form action='/admin/block-types/store' method='get'>
|
6
|
+
<table>
|
7
|
+
<tr><td>Source:</td><td>
|
8
|
+
<select name='block_type_source_id'>
|
9
|
+
<option value=''>-- Any Source --</option>
|
10
|
+
<% Caboose::BlockTypeSource.reorder(:name).all.each do |bts| %><option value='<%= bts.id %>'><%= bts.name %></option><% end %>
|
11
|
+
</select></td></tr>
|
12
|
+
<tr><td><p>Name: </td><td><input type='name_like' value="<%= @pager.params['name_like'] %>" /></td></tr>
|
13
|
+
<tr><td><p>Description: </td><td><input type='name_like' value="<%= @pager.params['name_like'] %>" /></td></tr>
|
14
|
+
</table>
|
15
|
+
<p><input type='submit' value='Search' /></p>
|
16
|
+
</form>
|
17
|
+
|
18
|
+
<% if (@block_type_summaries.count > 0) %>
|
19
|
+
|
20
|
+
<table class='data'>
|
21
|
+
<tr>
|
22
|
+
<th>Source</th>
|
23
|
+
<th>Name</th>
|
24
|
+
<th>Description</th>
|
25
|
+
</tr>
|
26
|
+
<% @block_type_summaries.each do |bts| %>
|
27
|
+
<tr onclick="window.location='/admin/block-types/store/<%= bts.id %>';">
|
28
|
+
<td><%= bts.source.name %></td>
|
29
|
+
<td><%= bts.name %></td>
|
30
|
+
<td><%= bts.description %></td>
|
31
|
+
</tr>
|
32
|
+
<% end %>
|
33
|
+
</table>
|
34
|
+
|
35
|
+
<% else %>
|
36
|
+
|
37
|
+
<p>There are no block types from any sources.</p>
|
38
|
+
|
39
|
+
<% end %>
|
@@ -1,6 +1,9 @@
|
|
1
|
-
<h1>
|
1
|
+
<h1>Block Types</h1>
|
2
2
|
|
3
|
-
<p
|
3
|
+
<p>
|
4
|
+
<a href='/admin/block-types/store'>Block Type Store</a> |
|
5
|
+
<a href='/admin/block-types/new'>New Block Type</a>
|
6
|
+
</p>
|
4
7
|
|
5
8
|
<% if (@block_types.count > 0) %>
|
6
9
|
|
data/config/routes.rb
CHANGED
@@ -123,6 +123,19 @@ Caboose::Engine.routes.draw do
|
|
123
123
|
#post "admin/blocks/:id/image" => "fields#admin_update_image"
|
124
124
|
#post "admin/blocks/:id/file" => "fields#admin_update_file"
|
125
125
|
|
126
|
+
get "admin/block-types/store/sources" => "block_type_sources#admin_index"
|
127
|
+
get "admin/block-types/store/sources/new" => "block_type_sources#admin_new"
|
128
|
+
get "admin/block-types/store/sources/options" => "block_type_sources#admin_options"
|
129
|
+
get "admin/block-types/store/sources/:id/edit" => "block_type_sources#admin_edit"
|
130
|
+
get "admin/block-types/store/sources/:id/refresh" => "block_type_sources#admin_refresh"
|
131
|
+
post "admin/block-types/store/sources" => "block_type_sources#admin_create"
|
132
|
+
put "admin/block-types/store/sources/:id" => "block_type_sources#admin_update"
|
133
|
+
delete "admin/block-types/store/sources/:id" => "block_type_sources#admin_delete"
|
134
|
+
|
135
|
+
get "admin/block-types/store/:block_type_summary_id/download" => "block_type_store#admin_download"
|
136
|
+
get "admin/block-types/store/:block_type_summary_id" => "block_type_store#admin_details"
|
137
|
+
get "admin/block-types/store" => "block_type_store#admin_index"
|
138
|
+
|
126
139
|
get "admin/block-types/field-type-options" => "block_types#admin_field_type_options"
|
127
140
|
get "admin/block-types/tree-options" => "block_types#admin_tree_options"
|
128
141
|
get "admin/block-types/options" => "block_types#admin_options"
|
@@ -137,16 +150,7 @@ Caboose::Engine.routes.draw do
|
|
137
150
|
delete "admin/block-types/:id" => "block_types#admin_delete"
|
138
151
|
|
139
152
|
get "admin/block-type-categories/tree-options" => "block_type_categories#admin_tree_options"
|
140
|
-
|
141
|
-
get "admin/block-type-sources" => "block_type_sources#admin_index"
|
142
|
-
get "admin/block-type-sources/new" => "block_type_sources#admin_new"
|
143
|
-
get "admin/block-type-sources/options" => "block_type_sources#admin_options"
|
144
|
-
get "admin/block-type-sources/:id/edit" => "block_type_sources#admin_edit"
|
145
|
-
get "admin/block-type-sources/:id/refresh" => "block_type_sources#admin_refresh"
|
146
|
-
post "admin/block-type-sources" => "block_type_sources#admin_create"
|
147
|
-
put "admin/block-type-sources/:id" => "block_type_sources#admin_update"
|
148
|
-
delete "admin/block-type-sources/:id" => "block_type_sources#admin_delete"
|
149
|
-
|
153
|
+
|
150
154
|
get "posts" => "posts#index"
|
151
155
|
get "posts/:id" => "posts#detail"
|
152
156
|
get "admin/posts/category-options" => "posts#admin_category_options"
|
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.4.
|
4
|
+
version: 0.4.35
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -249,6 +249,7 @@ files:
|
|
249
249
|
- app/controllers/caboose/application_controller.rb
|
250
250
|
- app/controllers/caboose/block_type_categories_controller.rb
|
251
251
|
- app/controllers/caboose/block_type_sources_controller.rb
|
252
|
+
- app/controllers/caboose/block_type_store_controller.rb
|
252
253
|
- app/controllers/caboose/block_types_controller.rb
|
253
254
|
- app/controllers/caboose/blocks_controller.rb
|
254
255
|
- app/controllers/caboose/login_controller.rb
|
@@ -279,6 +280,7 @@ files:
|
|
279
280
|
- app/models/caboose/block_type.rb
|
280
281
|
- app/models/caboose/block_type_category.rb
|
281
282
|
- app/models/caboose/block_type_source.rb
|
283
|
+
- app/models/caboose/block_type_summary.rb
|
282
284
|
- app/models/caboose/caboose_plugin.rb
|
283
285
|
- app/models/caboose/core_plugin.rb
|
284
286
|
- app/models/caboose/database_session.rb
|
@@ -311,6 +313,8 @@ files:
|
|
311
313
|
- app/views/caboose/block_type_sources/admin_edit.html.erb
|
312
314
|
- app/views/caboose/block_type_sources/admin_index.html.erb
|
313
315
|
- app/views/caboose/block_type_sources/admin_new.html.erb
|
316
|
+
- app/views/caboose/block_type_store/admin_details.html.erb
|
317
|
+
- app/views/caboose/block_type_store/admin_index.html.erb
|
314
318
|
- app/views/caboose/block_types/admin_edit.html.erb
|
315
319
|
- app/views/caboose/block_types/admin_index.html.erb
|
316
320
|
- app/views/caboose/block_types/admin_new.html.erb
|