caboose-cms 0.4.34 → 0.4.35
Sign up to get free protection for your applications and to get access to all the features.
- 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
|