caboose-cms 0.3.1 → 0.3.2
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/assets/javascripts/caboose/admin.js +1 -0
- data/app/assets/javascripts/caboose/application.js +1 -0
- data/app/assets/javascripts/caboose/modal.js +2 -0
- data/app/assets/javascripts/caboose/placeholder.js +25 -0
- data/app/assets/stylesheets/caboose/caboose.css +4 -0
- data/app/controllers/caboose/application_controller.rb +19 -0
- data/app/controllers/caboose/page_blocks_controller.rb +117 -0
- data/app/models/caboose/page_bar_generator.rb +56 -23
- data/app/models/caboose/page_block.rb +26 -48
- data/app/views/caboose/pages/admin_edit_content.html.erb +2 -18
- data/config/routes.rb +8 -0
- data/lib/caboose.rb +4 -0
- data/lib/caboose/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODM4ZDFiZWFmZDkxZDgxZWZhOWFhN2ZjNjg5Zjk5NTUyMDliNmEwNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZDFiNTRmZTVlOGZmZmZkYWU3YjhlYmE0OTQyODcyYWY5ZDY5ZmY4Yw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjZkZGZlMWRmNjZjMmJhOGIyY2NiMTFiNmI4YjY3NzFkZTk0ZDZlZmE2NjUy
|
10
|
+
ZGY2NjdiNTcwNjlkMjcxNDA1OTM4YzVhMzcyZDY4NTJjYTM2ZDZiNzdhYWZm
|
11
|
+
MjdhNmMxMjRhN2Y2YTg1ZmFhNGFjMTI0YTllZmE5OWE1OWU3YWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZWMyNDZmYzVjNzQ0ZWUwZDlmNTMxN2MxYjEzNTU4NGE0ODFmZGVmNjk1YTgz
|
14
|
+
MTNlZTgwY2E2ZjA5Mzc3NDBiNjJmMjZhNmY3YTc1N2U4ZjNlMWVmZTcwMzIy
|
15
|
+
Njk3NzI4MDRkYjgwNmRkZTg0ZTZiNmJkNjRmNTc1ZDYzYzM4ODA=
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// Placeholder IE Fix
|
2
|
+
|
3
|
+
$(document).ready(function() {
|
4
|
+
$('[placeholder]').focus(function() {
|
5
|
+
console.log("PH");
|
6
|
+
var input = $(this);
|
7
|
+
if (input.val() == input.attr('placeholder')) {
|
8
|
+
input.val('');
|
9
|
+
input.removeClass('placeholder_js');
|
10
|
+
}
|
11
|
+
}).blur(function() {
|
12
|
+
var input = $(this);
|
13
|
+
if (input.val() == '' || input.val() == input.attr('placeholder')) {
|
14
|
+
input.addClass('placeholder_js');
|
15
|
+
input.val(input.attr('placeholder'));
|
16
|
+
}
|
17
|
+
}).blur().parents('form').submit(function() {
|
18
|
+
$(this).find('[placeholder]').each(function() {
|
19
|
+
var input = $(this);
|
20
|
+
if (input.val() == input.attr('placeholder')) {
|
21
|
+
input.val('');
|
22
|
+
}
|
23
|
+
})
|
24
|
+
});
|
25
|
+
});
|
@@ -6,6 +6,9 @@ module Caboose
|
|
6
6
|
|
7
7
|
def before_before_action
|
8
8
|
|
9
|
+
# Modify the built-in params array with URL params if necessary
|
10
|
+
parse_url_params if Caboose.use_url_params
|
11
|
+
|
9
12
|
# Try to find the page
|
10
13
|
@page = Page.page_with_uri(request.fullpath)
|
11
14
|
|
@@ -24,6 +27,22 @@ module Caboose
|
|
24
27
|
before_action
|
25
28
|
end
|
26
29
|
|
30
|
+
# Parses any parameters in the URL and adds them to the params
|
31
|
+
def parse_url_params
|
32
|
+
return if !Caboose.use_url_params
|
33
|
+
url = "#{request.fullpath}"
|
34
|
+
url[0] = "" if url.starts_with?('/')
|
35
|
+
url = url.split('?')[0] if url.include?('?')
|
36
|
+
arr = url.split('/')
|
37
|
+
i = arr.count - 1
|
38
|
+
while i >= 1 do
|
39
|
+
k = arr[i-1]
|
40
|
+
v = arr[i]
|
41
|
+
params[k] = v if v && v.length > 0
|
42
|
+
i = i-2
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
27
46
|
# To be overridden by the child controllers
|
28
47
|
def before_action
|
29
48
|
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
|
2
|
+
module Caboose
|
3
|
+
class PagesBlocksController < ApplicationController
|
4
|
+
|
5
|
+
#===========================================================================
|
6
|
+
# Admin actions
|
7
|
+
#===========================================================================
|
8
|
+
|
9
|
+
# GET /admin/pages/:page_id/blocks
|
10
|
+
def admin_index
|
11
|
+
return if !user_is_allowed('pages', 'view')
|
12
|
+
blocks = PageBlock.where(:page_id => params[:page_id]).reorder(:sort_order)
|
13
|
+
render :json => blocks
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /admin/pages/:page_id/blocks/new
|
17
|
+
def admin_new
|
18
|
+
return unless user_is_allowed('pages', 'add')
|
19
|
+
@page = Page.find(params[:page_id])
|
20
|
+
@block = PageBlock.new(:page_id => params[:page_id])
|
21
|
+
render :layout => 'caboose/admin'
|
22
|
+
end
|
23
|
+
|
24
|
+
# GET /admin/pages/:page_id/blocks/:id
|
25
|
+
def admin_show
|
26
|
+
return unless user_is_allowed('pages', 'edit')
|
27
|
+
block = PageBlock.find(params[:id])
|
28
|
+
render :json => block
|
29
|
+
end
|
30
|
+
|
31
|
+
# GET /admin/pages/:page_id/blocks/:id/edit
|
32
|
+
def admin_edit
|
33
|
+
return unless user_is_allowed('pages', 'edit')
|
34
|
+
@page = Page.find(params[:page_id])
|
35
|
+
@block = PageBlock.find(params[:id])
|
36
|
+
render :layout => 'caboose/admin'
|
37
|
+
end
|
38
|
+
|
39
|
+
# POST /admin/pages/:page_id/blocks
|
40
|
+
def admin_create
|
41
|
+
return unless user_is_allowed('pages', 'add')
|
42
|
+
|
43
|
+
resp = Caboose::StdClass.new({
|
44
|
+
'error' => nil,
|
45
|
+
'redirect' => nil
|
46
|
+
})
|
47
|
+
|
48
|
+
b = PageBlock.new
|
49
|
+
b.page_id = params[:page_id]
|
50
|
+
b.block_type = params[:block_type]
|
51
|
+
b.sort_order = params[:sort_order].to_i
|
52
|
+
b.name = params[:name]
|
53
|
+
b.value = params[:value]
|
54
|
+
|
55
|
+
# Set the new page block order
|
56
|
+
p = Page.find(b.page_id)
|
57
|
+
if p.blocks && p.blocks.count > b.sort_order
|
58
|
+
i = b.sort_order + 1
|
59
|
+
PageBlock.where("sort_order >= ?", b.sort_order).reorder(:sort_order).each do |b2|
|
60
|
+
b2.sort_order = i
|
61
|
+
b2.save
|
62
|
+
i = i + 1
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# Save the block
|
67
|
+
b.save
|
68
|
+
|
69
|
+
# Send back the response
|
70
|
+
resp.redirect = "/admin/pages/#{page.id}/edit"
|
71
|
+
render json: resp
|
72
|
+
end
|
73
|
+
|
74
|
+
# PUT /admin/pages/:page_id/blocks/:id
|
75
|
+
def admin_update
|
76
|
+
return unless user_is_allowed('pages', 'edit')
|
77
|
+
|
78
|
+
resp = StdClass.new({'attributes' => {}})
|
79
|
+
b = PageBlock.find(params[:id])
|
80
|
+
|
81
|
+
save = true
|
82
|
+
user = logged_in_user
|
83
|
+
params.each do |name, value|
|
84
|
+
case name
|
85
|
+
when 'block_type'
|
86
|
+
b.block_type = value
|
87
|
+
when 'sort_order'
|
88
|
+
b.sort_order = value.to_i
|
89
|
+
i = b.sort_order + 1
|
90
|
+
PageBlock.where("page_id = ? and sort_order >= ?", b.page_id, b.sort_order).reorder(:sort_order).each do |b2|
|
91
|
+
b2.sort_order = i
|
92
|
+
b2.save
|
93
|
+
i = i + 1
|
94
|
+
end
|
95
|
+
when 'name'
|
96
|
+
b.name = value
|
97
|
+
when 'value'
|
98
|
+
b.value = value
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
resp.success = save && b.save
|
103
|
+
render :json => resp
|
104
|
+
end
|
105
|
+
|
106
|
+
# DELETE /admin/pages/:page_id/blocks/:id
|
107
|
+
def admin_delete
|
108
|
+
return unless user_is_allowed('pages', 'delete')
|
109
|
+
PageBlock.find(params[:id]).destroy
|
110
|
+
resp = StdClass.new({
|
111
|
+
'redirect' => "/admin/pages/#{params[:page_id]}/edit"
|
112
|
+
})
|
113
|
+
render :json => resp
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
end
|
@@ -21,8 +21,9 @@ module Caboose
|
|
21
21
|
# itemsPerPage: Number of items you want to show per page. Defaults to 10 if not present.
|
22
22
|
# page: Current page number. Defaults to 0 if not present.
|
23
23
|
#
|
24
|
-
attr_accessor :params, :options
|
24
|
+
attr_accessor :params, :options, :custom_url_vars
|
25
25
|
|
26
|
+
#def initialize(post_get, params = nil, options = nil, &custom_url_vars = nil)
|
26
27
|
def initialize(post_get, params = nil, options = nil)
|
27
28
|
|
28
29
|
params = {} if params.nil?
|
@@ -38,20 +39,29 @@ module Caboose
|
|
38
39
|
'base_url' => '',
|
39
40
|
'page' => 1,
|
40
41
|
'item_count' => 0,
|
41
|
-
'items_per_page' => 10,
|
42
|
+
'items_per_page' => 10,
|
43
|
+
'abbreviations' => {},
|
44
|
+
'skip' => [], # params to skip when printing the page bar
|
42
45
|
'includes' => nil # Hash of association includes
|
43
46
|
# {
|
44
47
|
# search_field_1 => [association_name, join_table, column_name],
|
45
48
|
# search_field_2 => [association_name, join_table, column_name]
|
46
|
-
# }
|
49
|
+
# }
|
47
50
|
}
|
48
51
|
params.each { |key, val| @params[key] = val }
|
49
|
-
options.each { |key, val| @options[key] = val }
|
50
|
-
@params.each { |key, val|
|
52
|
+
options.each { |key, val| @options[key] = val }
|
53
|
+
@params.each { |key, val|
|
54
|
+
k = @options['abbreviations'].include?(key) ? @options['abbreviations'][key] : key
|
55
|
+
@params[key] = post_get[key].nil? ? (post_get[k].nil? ? val : post_get[k]) : post_get[key]
|
56
|
+
}
|
51
57
|
@options.each { |key, val| @options[key] = post_get[key].nil? ? val : post_get[key] }
|
58
|
+
#@custom_url_vars = custom_url_vars if !custom_url_vars.nil?
|
52
59
|
fix_desc
|
53
|
-
|
54
|
-
|
60
|
+
set_item_count
|
61
|
+
end
|
62
|
+
|
63
|
+
def set_item_count
|
64
|
+
@options['item_count'] = model_with_includes.where(where).count
|
55
65
|
end
|
56
66
|
|
57
67
|
def model_with_includes
|
@@ -124,8 +134,6 @@ module Caboose
|
|
124
134
|
@options['items_per_page'] = 10 if @options["items_per_page"].nil?
|
125
135
|
@options['page'] = 1 if @options["page"].nil?
|
126
136
|
|
127
|
-
# Variables to make the search form work
|
128
|
-
vars = get_vars()
|
129
137
|
page = @options["page"].to_i
|
130
138
|
|
131
139
|
# Max links to show (must be odd)
|
@@ -149,24 +157,28 @@ module Caboose
|
|
149
157
|
end
|
150
158
|
end
|
151
159
|
|
152
|
-
base_url =
|
160
|
+
base_url = url_with_vars
|
161
|
+
base_url << (Caboose.use_url_params ? "/" : (base_url.include?("?") ? "&" : "?"))
|
162
|
+
keyval_delim = Caboose.use_url_params ? "/" : "="
|
163
|
+
var_delim = Caboose.use_url_params ? "/" : "&"
|
164
|
+
|
153
165
|
str = ''
|
154
166
|
str << "<p>Results: showing page #{page} of #{total_pages}</p>\n"
|
155
167
|
|
156
168
|
if (total_pages > 1)
|
157
169
|
str << "<div class='page_links'>\n"
|
158
170
|
if (page > 1)
|
159
|
-
str << "<a href='#{base_url}
|
171
|
+
str << "<a href='#{base_url}page#{keyval_delim}#{prev_page}'>Previous</a>"
|
160
172
|
end
|
161
173
|
for i in start..stop
|
162
174
|
if (page != i)
|
163
|
-
str << "<a href='#{base_url}
|
175
|
+
str << "<a href='#{base_url}page#{keyval_delim}#{i}'>#{i}</a>"
|
164
176
|
else
|
165
177
|
str << "<span class='current_page'>#{i}</span>"
|
166
178
|
end
|
167
179
|
end
|
168
180
|
if (page < total_pages)
|
169
|
-
str << "<a href='#{base_url}
|
181
|
+
str << "<a href='#{base_url}page#{keyval_delim}#{next_page}'>Next</a>"
|
170
182
|
end
|
171
183
|
str << "</div>\n"
|
172
184
|
end
|
@@ -174,29 +186,50 @@ module Caboose
|
|
174
186
|
return str
|
175
187
|
end
|
176
188
|
|
177
|
-
def
|
189
|
+
def url_with_vars()
|
190
|
+
if !@custom_url_vars.nil?
|
191
|
+
return @custom_url_vars.call @options['base_url'], @params
|
192
|
+
end
|
178
193
|
vars = []
|
179
194
|
@params.each do |k,v|
|
180
|
-
if
|
181
|
-
|
182
|
-
|
195
|
+
next if @options['skip'].include?(k)
|
196
|
+
k = @options['abbreviations'].include?(k) ? @options['abbreviations'][k] : k
|
197
|
+
if v.kind_of?(Array)
|
198
|
+
v.each do |v2|
|
199
|
+
if Caboose.use_url_params
|
200
|
+
vars.push("#{k}/#{v2}") if !v2.nil?
|
201
|
+
else
|
202
|
+
vars.push("#{k}[]=#{v2}") if !v2.nil?
|
203
|
+
end
|
183
204
|
end
|
184
205
|
else
|
185
206
|
next if v.nil? || (v.kind_of?(String) && v.length == 0)
|
186
|
-
|
207
|
+
if Caboose.use_url_params
|
208
|
+
vars.push("#{k}/#{v}")
|
209
|
+
else
|
210
|
+
vars.push("#{k}=#{v}")
|
211
|
+
end
|
187
212
|
end
|
188
213
|
end
|
189
|
-
return
|
214
|
+
return "#{@options['base_url']}" if vars.length == 0
|
215
|
+
if Caboose.use_url_params
|
216
|
+
vars = URI.escape(vars.join('/'))
|
217
|
+
return "#{@options['base_url']}/#{vars}"
|
218
|
+
end
|
219
|
+
vars = URI.escape(vars.join('&'))
|
220
|
+
return "#{@options['base_url']}?#{vars}"
|
190
221
|
end
|
191
222
|
|
192
223
|
def sortable_table_headings(cols)
|
193
|
-
|
224
|
+
base_url = url_with_vars
|
225
|
+
base_url << base_url.include?("?") ? "&" : "?"
|
194
226
|
str = ''
|
195
227
|
|
196
228
|
# key = sort field, value = text to display
|
197
229
|
cols.each do |sort, text|
|
198
|
-
arrow = @options['sort'] == sort ? (@options['desc'] == 1 ? ' ↑' : ' ↓') : ''
|
199
|
-
link = @options['base_url'] + "?#{vars}&sort=#{sort}&desc=" + (@options['desc'] == 1 ? "0" : "1")
|
230
|
+
arrow = @options['sort'] == sort ? (@options['desc'] == 1 ? ' ↑' : ' ↓') : ''
|
231
|
+
#link = @options['base_url'] + "?#{vars}&sort=#{sort}&desc=" + (@options['desc'] == 1 ? "0" : "1")
|
232
|
+
link = "#{base_url}sort=#{sort}&desc=" + (@options['desc'] == 1 ? "0" : "1")
|
200
233
|
str += "<th><a href='#{link}'>#{text}#{arrow}</a></th>\n"
|
201
234
|
end
|
202
235
|
return str
|
@@ -274,6 +307,6 @@ module Caboose
|
|
274
307
|
end
|
275
308
|
str << " desc" if @options['desc'] == 1
|
276
309
|
return str
|
277
|
-
end
|
310
|
+
end
|
278
311
|
end
|
279
312
|
end
|
@@ -18,53 +18,31 @@ class Caboose::PageBlock < ActiveRecord::Base
|
|
18
18
|
def render_h5() return "<h5>#{self.value}</h5>" end
|
19
19
|
def render_h6() return "<h6>#{self.value}</h6>" end
|
20
20
|
|
21
|
-
def render_posts
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
assoc = cat
|
49
|
-
if Caboose
|
50
|
-
|
51
|
-
|
52
|
-
if Caboose::PostCategoryMembership.exists?(:post_category_id => cat.id)
|
53
|
-
Caboose::PostCategoryMembership.where(:post_category_id => cat.id)
|
54
|
-
|
21
|
+
def render_posts
|
22
|
+
return ""
|
23
|
+
#obj = Caboose::StdClass(JSON.parse(self.value))
|
24
|
+
#defaults = {
|
25
|
+
# 'limit' => 10,
|
26
|
+
# 'no_posts_message' => "<p>There are no posts right now.</p>",
|
27
|
+
# 'invalid_category_message' => "<p>Invalid post category.</p>",
|
28
|
+
# 'body_character_limit' => 0
|
29
|
+
#}
|
30
|
+
#defaults.each { |k,v| obj[k] = v if obj[k].nil? }
|
31
|
+
#
|
32
|
+
#return obj.invalid_category_message if !Caboose::PostCategory.exists?(obj.category_id)
|
33
|
+
#cat = Caboose::PostCategory.find(obj.category_id)
|
34
|
+
#posts = obj.limit == 0 ? cat.posts.reorder('created_at DESC') : cat.posts.reorder('created_at DESC').limit(obj.limit)
|
35
|
+
#return obj.no_posts_message posts.nil? || posts.count == 0
|
36
|
+
#
|
37
|
+
#str = ""
|
38
|
+
#posts.each do |p|
|
39
|
+
# str = "<div class='post'>"
|
40
|
+
# str << "<h2>#{raw p.title}</h2>"
|
41
|
+
# str << "<div class='created_at'>#{p.created_at.strftime('%F %T')}</div>"
|
42
|
+
# str << "<div class='post_content'>"
|
43
|
+
# str << obj.body_character_limit > 0 ? Caboose.teaser_text(p.body, obj.body_character_limit) : p.body
|
44
|
+
# str << "</div>"
|
45
|
+
# str << "</div>"
|
46
|
+
#end
|
55
47
|
end
|
56
|
-
|
57
|
-
end
|
58
|
-
|
59
|
-
|
60
|
-
@_renderer = "Caboose::PageBlock#{self.block_type.upcase}Renderer".constantize.new
|
61
|
-
@_renderer.page_block = self
|
62
|
-
@_renderer.page_block = self
|
63
|
-
|
64
|
-
self.renderer.render
|
65
|
-
end
|
66
|
-
|
67
|
-
@_renderer = "Caboose::PageBlock#{self.block_type.upcase}Renderer".constantize.new
|
68
|
-
@_renderer.page_block = self
|
69
|
-
|
70
48
|
end
|
@@ -1,27 +1,11 @@
|
|
1
1
|
|
2
2
|
<%= render :partial => 'caboose/pages/admin_header' %>
|
3
|
-
|
4
|
-
<p><input type='button' value='Add Block' onclick="add_block_at_beginning();" /></p>
|
5
3
|
|
6
|
-
<% @page.blocks.each do |b| %>
|
7
|
-
<div
|
8
|
-
<div id='pageblock_<%= b.id %>_name'></div>
|
9
|
-
<div id='pageblock_<%= b.id %>_value'></div>
|
10
|
-
<div id='page_block_<%= b.id %>_message'></div>
|
11
|
-
<p><input type='button' value='Delete Block' class='delete' onclick="delete_block(<%= b.id %>);" /></p>
|
12
|
-
</div>
|
13
|
-
<p><input type='button' value='Add Block' onclick="add_block_after(<%= b.id %>);" /></p>
|
4
|
+
<% @page.blocks.each do |b| %>
|
5
|
+
<div id='pageblock_<%= b.id %>_value'></div>
|
14
6
|
<% end %>
|
15
7
|
|
16
8
|
<%= render :partial => 'caboose/pages/admin_footer' %>
|
17
|
-
<% content_for :caboose_css do %>
|
18
|
-
<style type='text/css'>
|
19
|
-
|
20
|
-
div.page_block { padding: 20px; border: #ccc 1px solid; background: #efefef; }
|
21
|
-
div.page_block p { padding-bottom: 0; margin-bottom: 0; }
|
22
|
-
|
23
|
-
</style>
|
24
|
-
<% end %>
|
25
9
|
<% content_for :caboose_js do %>
|
26
10
|
<script type='text/javascript'>
|
27
11
|
|
data/config/routes.rb
CHANGED
@@ -66,6 +66,14 @@ Caboose::Engine.routes.draw do
|
|
66
66
|
get "admin/pages" => "pages#admin_index"
|
67
67
|
post "admin/pages" => "pages#admin_create"
|
68
68
|
delete "admin/pages/:id" => "pages#admin_delete"
|
69
|
+
|
70
|
+
get "admin/pages/:page_id/blocks/new" => "page_blocks#admin_new"
|
71
|
+
get "admin/pages/:page_id/blocks/:id/edit" => "page_blocks#admin_edit"
|
72
|
+
get "admin/pages/:page_id/blocks/:id" => "page_blocks#admin_show"
|
73
|
+
get "admin/pages/:page_id/blocks" => "page_blocks#admin_index"
|
74
|
+
post "admin/pages/:page_id/blocks" => "page_blocks#admin_create"
|
75
|
+
put "admin/pages/:page_id/blocks/:id" => "page_blocks#admin_update"
|
76
|
+
delete "admin/pages/:page_id/blocks/:id" => "page_blocks#admin_delete"
|
69
77
|
|
70
78
|
get "posts" => "posts#index"
|
71
79
|
get "posts/:id" => "posts#detail"
|
data/lib/caboose.rb
CHANGED
@@ -25,5 +25,9 @@ module Caboose
|
|
25
25
|
# The login authenticator
|
26
26
|
mattr_accessor :authenticator_class
|
27
27
|
@@authenticator_class = 'Caboose::Authenticator'
|
28
|
+
|
29
|
+
# Whether or not to use URL parameters (parameters embedded in the URL before the querystring)
|
30
|
+
mattr_accessor :use_url_params
|
31
|
+
@@use_url_params = true
|
28
32
|
|
29
33
|
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.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- app/assets/javascripts/caboose/model/model_binder.js
|
146
146
|
- app/assets/javascripts/caboose/model.form.page.js
|
147
147
|
- app/assets/javascripts/caboose/model.form.user.js
|
148
|
+
- app/assets/javascripts/caboose/placeholder.js
|
148
149
|
- app/assets/javascripts/caboose/shortcut.js
|
149
150
|
- app/assets/javascripts/caboose/station.js
|
150
151
|
- app/assets/stylesheets/caboose/admin.css
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- app/controllers/caboose/application_controller.rb
|
166
167
|
- app/controllers/caboose/login_controller.rb
|
167
168
|
- app/controllers/caboose/logout_controller.rb
|
169
|
+
- app/controllers/caboose/page_blocks_controller.rb
|
168
170
|
- app/controllers/caboose/pages_controller.rb
|
169
171
|
- app/controllers/caboose/permissions_controller.rb
|
170
172
|
- app/controllers/caboose/posts_controller.rb
|