caboose-cms 0.2.5 → 0.2.6
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.
- data/app/assets/javascripts/caboose/modal.js +4 -0
- data/app/assets/javascripts/caboose/modal_integration.js +10 -0
- data/app/assets/javascripts/caboose/model/all.js +9 -0
- data/app/assets/javascripts/caboose/model/attribute.js +63 -0
- data/app/assets/javascripts/caboose/model/bound_checkbox.js +90 -0
- data/app/assets/javascripts/caboose/model/bound_checkbox_multiple.js +106 -0
- data/app/assets/javascripts/caboose/model/bound_control.js +68 -0
- data/app/assets/javascripts/caboose/model/bound_select.js +108 -0
- data/app/assets/javascripts/caboose/model/bound_text.js +87 -0
- data/app/assets/javascripts/caboose/model/bound_textarea.js +134 -0
- data/app/assets/javascripts/caboose/model/class.js +64 -0
- data/app/assets/javascripts/caboose/model/model.js +37 -0
- data/app/assets/javascripts/caboose/model/model_binder.js +61 -0
- data/app/assets/javascripts/caboose/shortcut.js +11 -0
- data/app/assets/javascripts/caboose/station.js +7 -5
- data/app/assets/stylesheets/caboose/modal.css +106 -1
- data/app/controllers/caboose/admin_controller.rb +1 -9
- data/app/controllers/caboose/pages_controller.rb +43 -14
- data/app/controllers/caboose/station_controller.rb +3 -0
- data/app/models/caboose/page_plugin.rb +1 -1
- data/app/models/caboose/user_plugin.rb +1 -1
- data/app/views/caboose/admin/index.html.erb +0 -4
- data/app/views/caboose/pages/edit.html.erb +6 -19
- data/app/views/caboose/pages/edit_content.html.erb +48 -0
- data/app/views/caboose/pages/edit_css.html.erb +36 -0
- data/app/views/caboose/pages/edit_js.html.erb +36 -0
- data/app/views/caboose/pages/edit_seo.html.erb +39 -0
- data/app/views/caboose/pages/edit_settings.html.erb +35 -24
- data/app/views/caboose/pages/edit_title.html.erb +29 -0
- data/app/views/caboose/pages/show.html.erb +2 -2
- data/app/views/caboose/station/index.html.erb +5 -2
- data/app/views/caboose/users/edit.html.erb +1 -1
- data/app/views/layouts/caboose/_admin_top_nav.html.erb +1 -3
- data/app/views/layouts/caboose/_top_nav.html.erb +1 -1
- data/app/views/layouts/caboose/application.html.erb +2 -2
- data/config/routes.rb +6 -1
- data/lib/caboose/version.rb +1 -1
- metadata +19 -3
- data/app/assets/javascripts/caboose/bound_input.js +0 -198
@@ -4,15 +4,7 @@ module Caboose
|
|
4
4
|
|
5
5
|
# GET /admin
|
6
6
|
def index
|
7
|
-
return if !user_is_allowed('admin', 'view')
|
8
|
-
|
9
|
-
@mods = [
|
10
|
-
{ 'href' => '/admin/users' , 'text' => 'Users' },
|
11
|
-
{ 'href' => '/admin/roles' , 'text' => 'Roles' },
|
12
|
-
{ 'href' => '/admin/permissions' , 'text' => 'Permissions' }
|
13
|
-
]
|
14
|
-
@mods = Caboose.plugin_hook('admin_nav', @mods)
|
15
|
-
|
7
|
+
return if !user_is_allowed('admin', 'view')
|
16
8
|
end
|
17
9
|
|
18
10
|
# GET /station
|
@@ -40,6 +40,7 @@ module Caboose
|
|
40
40
|
page.content = Caboose.plugin_hook('page_content', page.content)
|
41
41
|
@page = page
|
42
42
|
@user = user
|
43
|
+
@editmode = !params['edit'].nil? && user.is_allowed('pages', 'edit') ? true : false
|
43
44
|
@crumb_trail = Caboose::Page.crumb_trail(@page)
|
44
45
|
@subnav = Caboose::Page.subnav(@page, session['use_redirect_urls'], @user)
|
45
46
|
|
@@ -108,24 +109,48 @@ module Caboose
|
|
108
109
|
def edit
|
109
110
|
return if !user_is_allowed('pages', 'edit')
|
110
111
|
@page = Page.find(params[:id])
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
112
|
+
end
|
113
|
+
|
114
|
+
# GET /pages/1/edit-title
|
115
|
+
def edit_title
|
116
|
+
return if !user_is_allowed('pages', 'edit')
|
117
|
+
@page = Page.find(params[:id])
|
118
|
+
render :layout => 'caboose/modal'
|
119
|
+
end
|
120
|
+
|
121
|
+
# GET /pages/1/edit-content
|
122
|
+
def edit_content
|
123
|
+
return if !user_is_allowed('pages', 'edit')
|
124
|
+
@page = Page.find(params[:id])
|
125
|
+
render :layout => 'caboose/modal'
|
117
126
|
end
|
118
127
|
|
119
128
|
# GET /pages/1/edit-settings
|
120
129
|
def edit_settings
|
121
130
|
return if !user_is_allowed('pages', 'edit')
|
122
131
|
@page = Page.find(params[:id])
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
132
|
+
render :layout => 'caboose/modal'
|
133
|
+
end
|
134
|
+
|
135
|
+
# GET /pages/1/edit-css
|
136
|
+
def edit_css
|
137
|
+
return if !user_is_allowed('pages', 'edit')
|
138
|
+
@page = Page.find(params[:id])
|
139
|
+
render :layout => 'caboose/modal'
|
140
|
+
end
|
141
|
+
|
142
|
+
# GET /pages/1/edit-js
|
143
|
+
def edit_js
|
144
|
+
return if !user_is_allowed('pages', 'edit')
|
145
|
+
@page = Page.find(params[:id])
|
146
|
+
render :layout => 'caboose/modal'
|
147
|
+
end
|
148
|
+
|
149
|
+
# GET /pages/1/edit-seo
|
150
|
+
def edit_seo
|
151
|
+
return if !user_is_allowed('pages', 'edit')
|
152
|
+
@page = Page.find(params[:id])
|
153
|
+
render :layout => 'caboose/modal'
|
129
154
|
end
|
130
155
|
|
131
156
|
# POST /pages
|
@@ -210,12 +235,16 @@ module Caboose
|
|
210
235
|
resp.attributes['parent_id'] = { 'text' => parent.title }
|
211
236
|
end
|
212
237
|
|
213
|
-
when 'title', 'menu_title', 'alias', '
|
214
|
-
'
|
238
|
+
when 'title', 'menu_title', 'alias', 'hide',
|
239
|
+
'custom_css', 'custom_js', 'layout', 'redirect_url',
|
215
240
|
'seo_title', 'meta_description', 'fb_description', 'gp_description', 'canonical_url'
|
216
241
|
|
217
242
|
page[name.to_sym] = value
|
218
243
|
|
244
|
+
when 'content_format'
|
245
|
+
page.content_format = value
|
246
|
+
resp.attributes['content_format'] = { 'text' => value }
|
247
|
+
|
219
248
|
when 'meta_robots'
|
220
249
|
if (value.include?('index') && value.include?('noindex'))
|
221
250
|
resp.error = "You can't have both index and noindex"
|
@@ -6,6 +6,9 @@ module Caboose
|
|
6
6
|
# GET /station
|
7
7
|
def index
|
8
8
|
@user = logged_in_user
|
9
|
+
page_id = params['page_id'].nil? ? 1 : params['page_id']
|
10
|
+
@page = Page.find(page_id)
|
11
|
+
@tab = params['tab']
|
9
12
|
|
10
13
|
if (@user.nil? || @user == Caboose::User.logged_out_user)
|
11
14
|
redirect_to "/login"
|
@@ -15,7 +15,7 @@ class Caboose::PagePlugin < Caboose::CaboosePlugin
|
|
15
15
|
if (actions.include?('edit') || is_admin)
|
16
16
|
item['children'] << { 'href' => "/pages/#{page.id}/sitemap" , 'text' => 'Site Map This Page' }
|
17
17
|
item['children'] << { 'href' => "/pages/#{page.id}/edit" , 'text' => 'Edit Page Content' }
|
18
|
-
item['children'] << { 'href' => "/pages/#{page.id}/edit-settings" , 'text' => 'Edit Page Settings'
|
18
|
+
item['children'] << { 'href' => "/pages/#{page.id}/edit-settings" , 'text' => 'Edit Page Settings', 'modal' => true }
|
19
19
|
|
20
20
|
#uru = session['use_redirect_urls'].nil? ? true : session['use_redirect_urls']
|
21
21
|
#item['children'] << { 'id' => 'use_redirect_urls', 'href' => '#', 'text' => '' + (uru ? 'Disable' : 'Enable') + ' Redirect Urls' }
|
@@ -1,25 +1,12 @@
|
|
1
|
-
|
2
|
-
<
|
3
|
-
<p class='current_page_editing'>Currently editing: /<%= @page.uri %></p>
|
4
|
-
|
5
|
-
<div id='page_<%= @page.id %>_container'></div>
|
6
|
-
|
1
|
+
<% content_for :page_title do %><%= raw "<span id='editmode_title_container'>#{@page.title}</span>" %><% end %>
|
2
|
+
<% content_for :page_content do %><%= raw "<div id='editmode_content_container'>#{@page.content}</div>" %><% end %>
|
7
3
|
<% content_for :caboose_js do %>
|
8
|
-
|
9
|
-
<script type="text/javascript">
|
4
|
+
<script type='text/javascript'>
|
10
5
|
|
11
6
|
$(document).ready(function() {
|
12
|
-
|
13
|
-
|
14
|
-
id: <%= @page.id %>,
|
15
|
-
form: 'Model.Form.Page',
|
16
|
-
attributes: [
|
17
|
-
{ name: 'title' , type: 'h1' , value: <%= raw Caboose.json(@page.title ) %>, width: '500px' },
|
18
|
-
{ name: 'content' , type: 'rich-text' , value: <%= raw Caboose.json(@page.content ) %> }
|
19
|
-
]
|
20
|
-
});
|
7
|
+
$('#editmode_title_container' ).click(function() { $.colorbox({ href: '/pages/<%= @page.id %>/edit-title' , iframe: true, initialWidth: 500, initialHeight: 80, innerWidth: 500, innerHeight: 80, scrolling: false, transition: 'fade', closeButton: false, onComplete: fix_colorbox, opacity: 0.50 }); });
|
8
|
+
$('#editmode_content_container').click(function() { $.colorbox({ href: '/pages/<%= @page.id %>/edit-content' , iframe: true, initialWidth: 600, initialHeight: 400, innerWidth: 600, innerHeight: 400, scrolling: false, transition: 'fade', closeButton: false, onComplete: fix_colorbox, opacity: 0.50 }); });
|
21
9
|
});
|
22
10
|
|
23
11
|
</script>
|
24
|
-
|
25
|
-
<% end %>
|
12
|
+
<% end %>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
<p><textarea id='page_<%= @page.id %>_content' placeholder='Content' style='width: 600px; height: 400px;' class='tinymce'><%= raw @page.content %></textarea></p>
|
3
|
+
<div id='message'></div>
|
4
|
+
<div id='controls'>
|
5
|
+
<input type='button' value='Close' onclick="modal.close();" />
|
6
|
+
<input type='button' value='Update' onclick="updateContent();" />
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<% content_for :caboose_css do %>
|
10
|
+
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<% content_for :caboose_js do %>
|
14
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
15
|
+
<%= javascript_include_tag "tinymce/preinit.js" %>
|
16
|
+
<%= javascript_include_tag "tinymce/tinymce_jquery.js" %>
|
17
|
+
<%= javascript_include_tag "tinymce/jquery.tinymce.js" %>
|
18
|
+
<%= javascript_include_tag "tinymce-jquery.js" %>
|
19
|
+
<script type="text/javascript">
|
20
|
+
|
21
|
+
var modal = false;
|
22
|
+
$(document).ready(function() {
|
23
|
+
modal = new CabooseModal(600, 475);
|
24
|
+
});
|
25
|
+
|
26
|
+
function updateContent()
|
27
|
+
{
|
28
|
+
tinymce.triggerSave();
|
29
|
+
$.ajax({
|
30
|
+
url: '/pages/<%= @page.id %>',
|
31
|
+
type: 'put',
|
32
|
+
data: {
|
33
|
+
content: $('#page_<%= @page.id %>_content').val()
|
34
|
+
},
|
35
|
+
success: function(resp) {
|
36
|
+
if (resp.success)
|
37
|
+
{
|
38
|
+
parent.$('#editmode_content_container').html($('#page_<%= @page.id %>_content').val());
|
39
|
+
modal.close();
|
40
|
+
}
|
41
|
+
if (resp.error)
|
42
|
+
modal.autosize("<p class='note success'>" + resp.error + "</p>");
|
43
|
+
}
|
44
|
+
});
|
45
|
+
}
|
46
|
+
</script>
|
47
|
+
<%= tinymce :caboose %>
|
48
|
+
<% end %>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
<h1>Page Settings</h1>
|
3
|
+
<div class='top_right_controls'>
|
4
|
+
<input type='button' value='General' onclick="window.location='/pages/<%= @page.id %>/edit-settings';" />
|
5
|
+
<input type='button' value='CSS' disabled='true' onclick="window.location='/pages/<%= @page.id %>/edit-css';" />
|
6
|
+
<input type='button' value='JS' onclick="window.location='/pages/<%= @page.id %>/edit-js';" />
|
7
|
+
<input type='button' value='SEO' onclick="window.location='/pages/<%= @page.id %>/edit-seo';" />
|
8
|
+
</div>
|
9
|
+
<p><div id='page_<%= @page.id %>_custom_css'></div></p>
|
10
|
+
|
11
|
+
<% content_for :caboose_js do %>
|
12
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
13
|
+
<script type="text/javascript">
|
14
|
+
|
15
|
+
var modal = false;
|
16
|
+
$(document).ready(function() {
|
17
|
+
m = new ModelBinder({
|
18
|
+
name: 'Page',
|
19
|
+
id: <%= @page.id %>,
|
20
|
+
update_url: '/pages/<%= @page.id %>',
|
21
|
+
attributes: [
|
22
|
+
{
|
23
|
+
name: 'custom_css',
|
24
|
+
nice_name: 'Custom CSS',
|
25
|
+
type: 'textarea',
|
26
|
+
width: 580,
|
27
|
+
height: 400,
|
28
|
+
value: <%= raw Caboose.json(@page.custom_css) %>
|
29
|
+
}
|
30
|
+
]
|
31
|
+
});
|
32
|
+
modal = new CabooseModal(600, 460);
|
33
|
+
});
|
34
|
+
|
35
|
+
</script>
|
36
|
+
<% end %>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
<h1>Page Settings</h1>
|
3
|
+
<div class='top_right_controls'>
|
4
|
+
<input type='button' value='General' onclick="window.location='/pages/<%= @page.id %>/edit-settings';" />
|
5
|
+
<input type='button' value='CSS' onclick="window.location='/pages/<%= @page.id %>/edit-css';" />
|
6
|
+
<input type='button' value='JS' disabled='true' onclick="window.location='/pages/<%= @page.id %>/edit-js';" />
|
7
|
+
<input type='button' value='SEO' onclick="window.location='/pages/<%= @page.id %>/edit-seo';" />
|
8
|
+
</div>
|
9
|
+
<p><div id='page_<%= @page.id %>_custom_js'></div></p>
|
10
|
+
|
11
|
+
<% content_for :caboose_js do %>
|
12
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
13
|
+
<script type="text/javascript">
|
14
|
+
|
15
|
+
var modal = false;
|
16
|
+
$(document).ready(function() {
|
17
|
+
m = new ModelBinder({
|
18
|
+
name: 'Page',
|
19
|
+
id: <%= @page.id %>,
|
20
|
+
update_url: '/pages/<%= @page.id %>',
|
21
|
+
attributes: [
|
22
|
+
{
|
23
|
+
name: 'custom_js',
|
24
|
+
nice_name: 'Custom Javascript',
|
25
|
+
type: 'textarea',
|
26
|
+
width: 580,
|
27
|
+
height: 400,
|
28
|
+
value: <%= raw Caboose.json(@page.custom_js) %>
|
29
|
+
}
|
30
|
+
]
|
31
|
+
});
|
32
|
+
modal = new CabooseModal(600, 460);
|
33
|
+
});
|
34
|
+
|
35
|
+
</script>
|
36
|
+
<% end %>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
<h1>Page Settings</h1>
|
3
|
+
<div class='top_right_controls'>
|
4
|
+
<input type='button' value='General' onclick="window.location='/pages/<%= @page.id %>/edit-settings';" />
|
5
|
+
<input type='button' value='CSS' onclick="window.location='/pages/<%= @page.id %>/edit-css';" />
|
6
|
+
<input type='button' value='JS' onclick="window.location='/pages/<%= @page.id %>/edit-js';" />
|
7
|
+
<input type='button' value='SEO' disabled='true' onclick="window.location='/pages/<%= @page.id %>/edit-seo';" />
|
8
|
+
</div>
|
9
|
+
<p><div id='page_<%= @page.id %>_seo_title'></div></p>
|
10
|
+
<p><div id='page_<%= @page.id %>_meta_description'></div></p>
|
11
|
+
<p><div id='page_<%= @page.id %>_meta_robots'></div></p>
|
12
|
+
<p><div id='page_<%= @page.id %>_canonical_url'></div></p>
|
13
|
+
<p><div id='page_<%= @page.id %>_fb_description'></div></p>
|
14
|
+
<p><div id='page_<%= @page.id %>_gp_description'></div></p>
|
15
|
+
|
16
|
+
<% content_for :caboose_js do %>
|
17
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
18
|
+
<script type="text/javascript">
|
19
|
+
|
20
|
+
var modal = false;
|
21
|
+
$(document).ready(function() {
|
22
|
+
m = new ModelBinder({
|
23
|
+
name: 'Page',
|
24
|
+
id: <%= @page.id %>,
|
25
|
+
update_url: '/pages/<%= @page.id %>',
|
26
|
+
attributes: [
|
27
|
+
{ name: 'seo_title' , nice_name: 'SEO Title' , type: 'text' , value: <%= raw Caboose.json(@page.seo_title) %>, width: 580 },
|
28
|
+
{ name: 'meta_robots' , nice_name: 'Meta Robots' , type: 'text' , value: <%= raw Caboose.json(@page.meta_robots) %>, width: 580 },
|
29
|
+
{ name: 'canonical_url' , nice_name: 'Canonical URL' , type: 'text' , value: <%= raw Caboose.json(@page.canonical_url) %>, width: 580 },
|
30
|
+
{ name: 'meta_description' , nice_name: 'Meta Description' , type: 'textarea' , value: <%= raw Caboose.json(@page.meta_description) %>, width: 580, height: 80 },
|
31
|
+
{ name: 'fb_description' , nice_name: 'Facebook Description' , type: 'textarea' , value: <%= raw Caboose.json(@page.fb_description) %>, width: 580, height: 80 },
|
32
|
+
{ name: 'gp_description' , nice_name: 'Google+ Description' , type: 'textarea' , value: <%= raw Caboose.json(@page.gp_description) %>, width: 580, height: 80 }
|
33
|
+
]
|
34
|
+
});
|
35
|
+
modal = new CabooseModal(600, 540);
|
36
|
+
});
|
37
|
+
|
38
|
+
</script>
|
39
|
+
<% end %>
|
@@ -1,38 +1,49 @@
|
|
1
1
|
|
2
|
-
<h1>
|
3
|
-
<
|
4
|
-
|
5
|
-
<
|
2
|
+
<h1>Page Settings</h1>
|
3
|
+
<div class='top_right_controls'>
|
4
|
+
<input type='button' value='General' disabled='true' onclick="window.location='/pages/<%= @page.id %>/edit-settings';" />
|
5
|
+
<input type='button' value='CSS' onclick="window.location='/pages/<%= @page.id %>/edit-css';" />
|
6
|
+
<input type='button' value='JS' onclick="window.location='/pages/<%= @page.id %>/edit-js';" />
|
7
|
+
<input type='button' value='SEO' onclick="window.location='/pages/<%= @page.id %>/edit-seo';" />
|
8
|
+
</div>
|
9
|
+
<div style='float: left; width: 310px;'>
|
10
|
+
<p><div id='page_<%= @page.id %>_parent_id' ></div></p>
|
11
|
+
<p><div id='page_<%= @page.id %>_menu_title' ></div></p>
|
12
|
+
<p><div id='page_<%= @page.id %>_slug' ></div></p>
|
13
|
+
<p><div id='page_<%= @page.id %>_alias' ></div></p>
|
14
|
+
<p><div id='page_<%= @page.id %>_redirect_url' ></div></p>
|
15
|
+
</div>
|
16
|
+
<div style='float: left;'>
|
17
|
+
<p><div id='page_<%= @page.id %>_hide' ></div></p>
|
18
|
+
<p><div id='page_<%= @page.id %>_layout' ></div></p>
|
19
|
+
<p><div id='page_<%= @page.id %>_custom_sort_children' ></div></p>
|
20
|
+
<p><div id='page_<%= @page.id %>_content_format' ></div></p>
|
21
|
+
</div>
|
6
22
|
|
7
23
|
<% content_for :caboose_js do %>
|
24
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
8
25
|
<script type="text/javascript">
|
9
26
|
|
27
|
+
var modal = false;
|
10
28
|
$(document).ready(function() {
|
11
|
-
|
29
|
+
m = new ModelBinder({
|
12
30
|
name: 'Page',
|
13
31
|
id: <%= @page.id %>,
|
32
|
+
update_url: '/pages/<%= @page.id %>',
|
14
33
|
attributes: [
|
15
|
-
{ name: 'parent_id' , nice_name: 'Parent' , type: 'select'
|
16
|
-
{ name: 'menu_title' , nice_name: 'Menu title' , type: 'text'
|
17
|
-
{ name: 'slug' , nice_name: 'Slug' , type: 'text'
|
18
|
-
{ name: 'alias' , nice_name: 'Alias' , type: 'text'
|
19
|
-
{ name: 'redirect_url' , nice_name: 'Redirect URL' , type: 'text'
|
20
|
-
{ name: 'hide' , nice_name: 'Hide' , type: 'checkbox'
|
21
|
-
{ name: '
|
22
|
-
{ name: '
|
23
|
-
{ name: '
|
24
|
-
{ name: 'layout' , nice_name: 'Layout' , type: 'text' , value: <%= raw Caboose.json(@page.layout ) %> },
|
25
|
-
{ name: 'custom_sort_children' , nice_name: 'Custom sort child pages' , type: 'checkbox' , value: <%= raw @page.custom_sort_children%> },
|
26
|
-
{ name: 'seo_title' , nice_name: 'SEO title' , type: 'text' , value: <%= raw Caboose.json(@page.seo_title ) %> },
|
27
|
-
{ name: 'meta_description' , nice_name: 'Meta description' , type: 'text' , value: <%= raw Caboose.json(@page.meta_description ) %> },
|
28
|
-
{ name: 'meta_robots' , nice_name: 'Meta robots' , type: 'checkbox-multiple' , value: <%= raw (@page.meta_robots.nil? ? [] : @page.meta_robots.split(', ')).to_json %>, text: <%= raw (@page.meta_robots.nil? ? "[Empty]" : @page.meta_robots).to_json %>, options_url: '/pages/robots-options' },
|
29
|
-
{ name: 'canonical_url' , nice_name: 'Canonical URL' , type: 'text' , value: <%= raw Caboose.json(@page.canonical_url ) %> },
|
30
|
-
{ name: 'fb_description' , nice_name: 'Facebook description' , type: 'text' , value: <%= raw Caboose.json(@page.fb_description ) %> },
|
31
|
-
{ name: 'gp_description' , nice_name: 'Google+ description' , type: 'text' , value: <%= raw Caboose.json(@page.gp_description ) %> }
|
34
|
+
{ name: 'parent_id' , nice_name: 'Parent' , type: 'select' , value: <%= @page.parent_id %> , width: 270, text: <%= raw (@page.parent_id == -1 ? "[No Parent]" : @page.parent.title).to_json %>, options_url: '/pages/sitemap-options' },
|
35
|
+
{ name: 'menu_title' , nice_name: 'Menu title' , type: 'text' , value: <%= raw Caboose.json(@page.menu_title ) %> , width: 270 },
|
36
|
+
{ name: 'slug' , nice_name: 'Slug' , type: 'text' , value: <%= raw Caboose.json(@page.slug ) %> , width: 270 },
|
37
|
+
{ name: 'alias' , nice_name: 'Alias' , type: 'text' , value: <%= raw Caboose.json(@page.alias ) %> , width: 270 },
|
38
|
+
{ name: 'redirect_url' , nice_name: 'Redirect URL' , type: 'text' , value: <%= raw Caboose.json(@page.redirect_url ) %> , width: 270 },
|
39
|
+
{ name: 'hide' , nice_name: 'Hide' , type: 'checkbox' , value: <%= raw @page.hide %> , width: 270 },
|
40
|
+
{ name: 'layout' , nice_name: 'Layout' , type: 'text' , value: <%= raw Caboose.json(@page.layout ) %> , width: 270 },
|
41
|
+
{ name: 'custom_sort_children' , nice_name: 'Custom sort children' , type: 'checkbox' , value: <%= raw @page.custom_sort_children %> , width: 270 },
|
42
|
+
{ name: 'content_format' , nice_name: 'Content format' , type: 'select' , value: <%= raw Caboose.json(@page.content_format) %>, width: 270, text: <%= raw Caboose.json(@page.content_format) %>, options_url: '/pages/format-options' },
|
32
43
|
]
|
33
|
-
});
|
44
|
+
});
|
45
|
+
modal = new CabooseModal(600, 344);
|
34
46
|
});
|
35
47
|
|
36
48
|
</script>
|
37
|
-
<%= tinymce :caboose %>
|
38
49
|
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<p><div id='page_<%= @page.id %>_title'></div></p>
|
2
|
+
|
3
|
+
<% content_for :caboose_js do %>
|
4
|
+
<%= javascript_include_tag "caboose/model/all" %>
|
5
|
+
<script type="text/javascript">
|
6
|
+
|
7
|
+
var modal = false;
|
8
|
+
$(document).ready(function() {
|
9
|
+
m = new ModelBinder({
|
10
|
+
name: 'Page',
|
11
|
+
id: <%= @page.id %>,
|
12
|
+
update_url: '/pages/<%= @page.id %>',
|
13
|
+
attributes: [{
|
14
|
+
name: 'title',
|
15
|
+
nice_name: 'Title',
|
16
|
+
type: 'text',
|
17
|
+
value: <%= raw Caboose.json(@page.title) %>,
|
18
|
+
width: 480
|
19
|
+
}],
|
20
|
+
success: function(control) {
|
21
|
+
parent.$.fn.colorbox.close();
|
22
|
+
parent.$('#editmode_title_container').html(control.attribute.value);
|
23
|
+
}
|
24
|
+
});
|
25
|
+
modal = new CabooseModal(500, 80);
|
26
|
+
});
|
27
|
+
|
28
|
+
</script>
|
29
|
+
<% end %>
|