spud_cms 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +71 -0
- data/app/assets/images/spud/admin/menus_thumb.png +0 -0
- data/app/assets/images/spud/admin/pages_thumb.png +0 -0
- data/app/assets/images/spud/admin/posts_thumb.png +0 -0
- data/app/assets/images/spud/admin/templates_thumb.png +0 -0
- data/app/assets/javascripts/pages.js +2 -0
- data/app/assets/javascripts/spud/admin/cms/application.js +24 -0
- data/app/assets/javascripts/spud/admin/templates.js +2 -0
- data/app/assets/javascripts/spud/cms/sitemaps.js +2 -0
- data/app/assets/stylesheets/pages.css +4 -0
- data/app/assets/stylesheets/spud/admin/cms/application.css +4 -0
- data/app/assets/stylesheets/spud/cms/sitemaps.css +4 -0
- data/app/controllers/pages_controller.rb +29 -0
- data/app/controllers/spud/admin/menu_items_controller.rb +118 -0
- data/app/controllers/spud/admin/menus_controller.rb +50 -0
- data/app/controllers/spud/admin/pages_controller.rb +149 -0
- data/app/controllers/spud/admin/templates_controller.rb +55 -0
- data/app/controllers/spud/cms/sitemaps_controller.rb +6 -0
- data/app/helpers/pages_helper.rb +2 -0
- data/app/helpers/spud/admin/contacts_helper.rb +2 -0
- data/app/helpers/spud/admin/media_helper.rb +2 -0
- data/app/helpers/spud/admin/menu_items_helper.rb +2 -0
- data/app/helpers/spud/admin/menus_helper.rb +2 -0
- data/app/helpers/spud/admin/pages_helper.rb +2 -0
- data/app/helpers/spud/admin/posts_helper.rb +2 -0
- data/app/helpers/spud/admin/templates_helper.rb +2 -0
- data/app/helpers/spud/admin/users_helper.rb +2 -0
- data/app/helpers/spud/cms/application_helper.rb +102 -0
- data/app/helpers/spud/cms/sitemaps_helper.rb +2 -0
- data/app/helpers/spud/user_sessions_helper.rb +2 -0
- data/app/models/spud_custom_field.rb +7 -0
- data/app/models/spud_menu.rb +6 -0
- data/app/models/spud_menu_item.rb +37 -0
- data/app/models/spud_page.rb +59 -0
- data/app/models/spud_page_partial.rb +3 -0
- data/app/models/spud_template.rb +7 -0
- data/app/views/layouts/spud/admin/cms/detail.html.erb +6 -0
- data/app/views/pages/show.html.erb +25 -0
- data/app/views/spud/admin/contacts/index.html.erb +0 -0
- data/app/views/spud/admin/menu_items/_form.html.erb +34 -0
- data/app/views/spud/admin/menu_items/_menu_item_row.html.erb +18 -0
- data/app/views/spud/admin/menu_items/edit.html.erb +13 -0
- data/app/views/spud/admin/menu_items/index.html.erb +12 -0
- data/app/views/spud/admin/menu_items/new.html.erb +13 -0
- data/app/views/spud/admin/menus/_form.html.erb +9 -0
- data/app/views/spud/admin/menus/edit.html.erb +13 -0
- data/app/views/spud/admin/menus/index.html.erb +24 -0
- data/app/views/spud/admin/menus/new.html.erb +13 -0
- data/app/views/spud/admin/pages/_form.html.erb +71 -0
- data/app/views/spud/admin/pages/_page_partials_form.html.erb +18 -0
- data/app/views/spud/admin/pages/_page_row.html.erb +18 -0
- data/app/views/spud/admin/pages/edit.html.erb +13 -0
- data/app/views/spud/admin/pages/index.html.erb +12 -0
- data/app/views/spud/admin/pages/new.html.erb +12 -0
- data/app/views/spud/admin/pages/show.html.erb +25 -0
- data/app/views/spud/admin/templates/_form.html.erb +31 -0
- data/app/views/spud/admin/templates/edit.html.erb +11 -0
- data/app/views/spud/admin/templates/index.html.erb +17 -0
- data/app/views/spud/admin/templates/new.html.erb +13 -0
- data/app/views/spud/cms/sitemaps/show.xml.builder +16 -0
- data/config/application.rb +48 -0
- data/config/boot.rb +6 -0
- data/config/routes.rb +22 -0
- data/lib/spud_cms.rb +7 -0
- data/lib/spud_cms/configuration.rb +15 -0
- data/lib/spud_cms/engine.rb +29 -0
- metadata +133 -0
data/README.markdown
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
Spud CMS
|
2
|
+
========
|
3
|
+
|
4
|
+
Spud CMS is a CMS Engine designed to be robust, easy to use, and light weight.
|
5
|
+
NOTE: This project is still in its early infancy.
|
6
|
+
|
7
|
+
Installation/Usage
|
8
|
+
------------------
|
9
|
+
|
10
|
+
1. In your Gemfile add the following
|
11
|
+
|
12
|
+
gem 'spud_admin', :git => "git://github.com/davydotcom/spud_core_admin.git"
|
13
|
+
gem 'spud_cms', :git => "git://github.com/davydotcom/spud_cms.git"
|
14
|
+
|
15
|
+
2. Run bundle install
|
16
|
+
3. Copy in database migrations to your new rails project
|
17
|
+
|
18
|
+
bundle exec rake spud_core:install:migrations
|
19
|
+
bundle exec rake spud_cms:install:migrations
|
20
|
+
rake db:migrate
|
21
|
+
|
22
|
+
4. run a rails server instance and point your browser to /spud/admin
|
23
|
+
|
24
|
+
Routing to the CMS Engine
|
25
|
+
--------------------------
|
26
|
+
Routing your home page to the CMS engine is fairly straight forward.
|
27
|
+
in your applications environment.rb file add a configure block as such
|
28
|
+
|
29
|
+
|
30
|
+
Spud::Cms.configure do |config|
|
31
|
+
config.menus_enabled = true
|
32
|
+
config.templates_enabled = false
|
33
|
+
config.root_page_name = "home"
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
Where "home" is the page name you wish to use.
|
39
|
+
|
40
|
+
Pages will default render to the 'application' layout of your application. You can change this by using templates to specify base layouts.
|
41
|
+
|
42
|
+
Using Menus
|
43
|
+
-----------
|
44
|
+
A lot of cms engines allow you to render your navigation links in a ul block by using your page tree structure. In a lot of cases this is insufficient as some sites have urls that redirect to pages outside of your cms. This is where menus come in. They can be built in the spud admin control panel.
|
45
|
+
In your application layout file or any erb template you can render a ul block like so
|
46
|
+
|
47
|
+
<%=sp_list_menu({:id => "navigation",:name => "Main"})%>
|
48
|
+
|
49
|
+
This will output a <ul id="navigation"></ul> block for the menu you created in admin named "Main"
|
50
|
+
|
51
|
+
|
52
|
+
Adding Your Own Engines
|
53
|
+
-----------------------
|
54
|
+
|
55
|
+
Creating a rails engine that ties into spud admin is fairly straight forward
|
56
|
+
In your new engine add spud_admin as a dependency and create an initializer inside your engine class as such:
|
57
|
+
|
58
|
+
initializer :admin do
|
59
|
+
Spud::Core.configure do |config|
|
60
|
+
config.admin_applications += [{:name => "Pages",:thumbnail => "spud/admin/pages_thumb.png",:url => "/spud/admin/pages",:order => 0}]
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
You can use the layouts provided with spud admin by using 'spud/admin/application' or 'spud/admin/detail' layouts
|
66
|
+
|
67
|
+
When creating controllers for the admin panel create them in the Spud::Admin Namespace and have them extend Spud::Admin::ApplicationController for automatic user authentication restrictions.
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
//= require codemirror
|
2
|
+
//= require codemirror/modes/xml
|
3
|
+
//= require codemirror/modes/javascript
|
4
|
+
//= require codemirror/modes/css
|
5
|
+
//= require codemirror/modes/htmlmixed
|
6
|
+
//= require codemirror/modes/htmlembedded
|
7
|
+
// Place all the behaviors and hooks related to the matching controller here.
|
8
|
+
// All this logic will automatically be available in application.js.
|
9
|
+
|
10
|
+
$(function() {
|
11
|
+
initWysiwym();
|
12
|
+
|
13
|
+
$("#spud_page_template_id").bind('change', function() {
|
14
|
+
var $this = $(this);
|
15
|
+
$.get($this.attr("data-source"), { template: $this.val() }, function(data) {
|
16
|
+
$('.formtabs').tabs('destroy');
|
17
|
+
$("#page_partials_form").replaceWith(data)
|
18
|
+
initFormTabs();
|
19
|
+
initWysiwym();
|
20
|
+
}, 'text').error(function(jqXHR) {
|
21
|
+
$('<p> Error: ' + jqXHR.responseText + '</p>').dialog();
|
22
|
+
});
|
23
|
+
});
|
24
|
+
});
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class PagesController < ApplicationController
|
2
|
+
def show
|
3
|
+
url_name = !params[:id].blank? ? params[:id] : Spud::Cms.root_page_name
|
4
|
+
@page = SpudPage.published_pages.where(:url_name => url_name).includes([:spud_template,:spud_page_partials]).first
|
5
|
+
if @page.blank?
|
6
|
+
flash[:error] = "Page not found"
|
7
|
+
if !params[:id].blank?
|
8
|
+
redirect_to root_url() and return
|
9
|
+
else
|
10
|
+
return
|
11
|
+
end
|
12
|
+
end
|
13
|
+
if @page.is_private?
|
14
|
+
before_filter :require_user
|
15
|
+
end
|
16
|
+
layout = Spud::Cms.default_page_layout
|
17
|
+
|
18
|
+
|
19
|
+
if !@page.spud_template.blank?
|
20
|
+
if !@page.spud_template.base_layout.blank?
|
21
|
+
layout = @page.spud_template.base_layout
|
22
|
+
end
|
23
|
+
@inline = @page.spud_template.content
|
24
|
+
|
25
|
+
end
|
26
|
+
render :layout => layout
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
class Spud::Admin::MenuItemsController < Spud::Admin::ApplicationController
|
2
|
+
add_breadcrumb "Menus", :spud_admin_menus_path
|
3
|
+
layout 'spud/admin/cms/detail'
|
4
|
+
before_filter :load_menu
|
5
|
+
before_filter :load_menu_item, :only => [:edit,:update,:show,:destroy]
|
6
|
+
|
7
|
+
def index
|
8
|
+
@page_thumbnail = "spud/admin/menus_thumb.png"
|
9
|
+
@page_name = "Menus"
|
10
|
+
@menu_items = @menu.spud_menu_items.order(:menu_order).includes(:spud_menu_items).paginate :page => params[:page]
|
11
|
+
end
|
12
|
+
|
13
|
+
def new
|
14
|
+
add_breadcrumb "New", :new_spud_admin_page_path
|
15
|
+
|
16
|
+
@page_thumbnail = "spud/admin/menus_thumb.png"
|
17
|
+
@page_name = "New Menu Item"
|
18
|
+
|
19
|
+
@menu_item = @menu.spud_menu_items.new
|
20
|
+
end
|
21
|
+
|
22
|
+
def create
|
23
|
+
add_breadcrumb "New", :new_spud_admin_page_path
|
24
|
+
@page_thumbnail = "spud/admin/menus_thumb.png"
|
25
|
+
@page_name = "New Menu Item"
|
26
|
+
@menu_item = SpudMenuItem.new(params[:spud_menu_item])
|
27
|
+
@menu_item.spud_menu_id = @menu.id
|
28
|
+
if params[:spud_menu_item][:parent_id].blank?
|
29
|
+
@menu_item.parent_id = @menu.id
|
30
|
+
@menu_item.parent_type = "SpudMenu"
|
31
|
+
else
|
32
|
+
@menu_item.parent_type = "SpudMenuItem"
|
33
|
+
end
|
34
|
+
if @menu_item.name.blank? && !@menu_item.spud_page.blank?
|
35
|
+
@menu_item.name = @menu_item.spud_page.name
|
36
|
+
end
|
37
|
+
if @menu_item.menu_order.blank?
|
38
|
+
highest_sibling = @menu_item.parent.spud_menu_items.order("menu_order desc").first
|
39
|
+
if !highest_sibling.blank?
|
40
|
+
@menu_item.menu_order = highest_sibling.menu_order + 1
|
41
|
+
end
|
42
|
+
end
|
43
|
+
if @menu_item.save
|
44
|
+
flash[:notice] = "Menu Created successfully!"
|
45
|
+
redirect_to spud_admin_menu_menu_items_url() and return
|
46
|
+
else
|
47
|
+
flash[:error] = "Error saving menu item"
|
48
|
+
@error_object_name = "menu_item"
|
49
|
+
render :action => "new"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def edit
|
54
|
+
add_breadcrumb "Edit #{@menu_item.name}", :edit_spud_admin_menu_menu_item_path
|
55
|
+
@page_thumbnail = "spud/admin/menus_thumb.png"
|
56
|
+
@page_name = "Edit #{@menu_item.name}"
|
57
|
+
if @menu_item.parent_type == "SpudMenu"
|
58
|
+
@menu_item.parent_id = nil
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def update
|
63
|
+
add_breadcrumb "Edit #{@menu_item.name}", :edit_spud_admin_menu_menu_item_path
|
64
|
+
@page_thumbnail = "spud/admin/menus_thumb.png"
|
65
|
+
@page_name = "Edit #{@menu_item.name}"
|
66
|
+
if params[:spud_menu_item][:parent_id].blank?
|
67
|
+
params[:spud_menu_item][:parent_type] = "SpudMenu"
|
68
|
+
params[:spud_menu_item][:parent_id] = @menu.id
|
69
|
+
else
|
70
|
+
params[:spud_menu_item][:parent_type] = "SpudMenuItem"
|
71
|
+
end
|
72
|
+
@menu_item.attributes = params[:spud_menu_item]
|
73
|
+
@menu_item.spud_menu_id = @menu.id
|
74
|
+
if @menu_item.save
|
75
|
+
|
76
|
+
flash[:notice] = "Menu saved successfully!"
|
77
|
+
redirect_to spud_admin_menu_menu_items_url() and return
|
78
|
+
|
79
|
+
else
|
80
|
+
flash[:error] = "Error saving menu item"
|
81
|
+
render :action => "edit"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def destroy
|
86
|
+
status = 500
|
87
|
+
if @menu_item.destroy
|
88
|
+
status = 200
|
89
|
+
end
|
90
|
+
respond_to do |format|
|
91
|
+
format.js { render :status => status}
|
92
|
+
format.html {
|
93
|
+
flash[:notice] = "Menu Item removed!" if status == 200
|
94
|
+
flash[:error] = "Error removing menu item!" if status == 500
|
95
|
+
redirect_to spud_admin_menu_menu_items_path() and return
|
96
|
+
}
|
97
|
+
end
|
98
|
+
end
|
99
|
+
private
|
100
|
+
def load_menu
|
101
|
+
|
102
|
+
@menu = SpudMenu.where(:id => params[:menu_id]).first
|
103
|
+
if @menu.blank?
|
104
|
+
flash[:error] = "Menu not found!"
|
105
|
+
redirect_to spud_admin_menus_url() and return false
|
106
|
+
end
|
107
|
+
add_breadcrumb "#{@menu.name}", :spud_admin_menu_menu_items_path
|
108
|
+
end
|
109
|
+
|
110
|
+
def load_menu_item
|
111
|
+
@menu_item = SpudMenuItem.where(:id => params[:id]).first
|
112
|
+
if @menu_item.blank?
|
113
|
+
flash[:error] = "Menu Item not found!"
|
114
|
+
redirect_to spud_admin_menu_menu_items_url() and return false
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class Spud::Admin::MenusController < Spud::Admin::ApplicationController
|
2
|
+
layout 'spud/admin/cms/detail'
|
3
|
+
belongs_to_spud_app :menus
|
4
|
+
add_breadcrumb "Menus", :spud_admin_menus_path
|
5
|
+
before_filter :load_menu,:only => [:edit,:update,:show,:destroy]
|
6
|
+
|
7
|
+
def index
|
8
|
+
@menus = SpudMenu.order(:name).paginate :page => params[:page]
|
9
|
+
respond_with @menus
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def new
|
14
|
+
add_breadcrumb "New", :new_spud_admin_menu_path
|
15
|
+
@menu = SpudMenu.new
|
16
|
+
respond_with @menu
|
17
|
+
end
|
18
|
+
|
19
|
+
def create
|
20
|
+
add_breadcrumb "New", :new_spud_admin_menu_path
|
21
|
+
@menu = SpudMenu.new(params[:spud_menu])
|
22
|
+
flash[:notice] = "New menu created" if @menu.save
|
23
|
+
respond_with @menu,:location => spud_admin_menu_menu_items_url(:menu_id => @menu.id)
|
24
|
+
end
|
25
|
+
|
26
|
+
def edit
|
27
|
+
add_breadcrumb "Edit #{@menu.name}", :edit_spud_admin_menu_path
|
28
|
+
respond_with @menu
|
29
|
+
end
|
30
|
+
|
31
|
+
def update
|
32
|
+
add_breadcrumb "Edit #{@menu.name}", :edit_spud_admin_menu_path
|
33
|
+
flash[:notice] = "Menu saved successfully" if @menu.update_attributes(params[:spud_menu])
|
34
|
+
respond_with @menu,:location => spud_admin_menu_menu_items_url(:menu_id => @menu.id)
|
35
|
+
end
|
36
|
+
|
37
|
+
def destroy
|
38
|
+
flash[:notice] = "Menu removed!" if @menu.destroy
|
39
|
+
respond_with @menu,:location => spud_admin_menus_url
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
def load_menu
|
44
|
+
@menu = SpudMenu.find(params[:id])
|
45
|
+
if @menu.blank?
|
46
|
+
flash[:error] = "Menu not found!"
|
47
|
+
redirect_to spud_admin_menus_url() and return false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
class Spud::Admin::PagesController < Spud::Admin::ApplicationController
|
2
|
+
layout 'spud/admin/cms/detail'
|
3
|
+
add_breadcrumb "Pages", :spud_admin_pages_path
|
4
|
+
belongs_to_spud_app :pages
|
5
|
+
before_filter :load_page,:only => [:edit,:update,:show,:destroy]
|
6
|
+
|
7
|
+
def index
|
8
|
+
|
9
|
+
@pages = SpudPage.where(:spud_page_id => nil).order(:page_order).includes(:spud_pages).paginate :page => params[:page]
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
|
14
|
+
|
15
|
+
if @page.blank?
|
16
|
+
flash[:error] = "Page not found"
|
17
|
+
if !params[:id].blank?
|
18
|
+
redirect_to spud_admin_pages_url() and return
|
19
|
+
else
|
20
|
+
return
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
layout = 'application'
|
25
|
+
|
26
|
+
|
27
|
+
if !@page.spud_template.blank?
|
28
|
+
if !@page.spud_template.base_layout.blank?
|
29
|
+
layout = @page.spud_template.base_layout
|
30
|
+
end
|
31
|
+
@inline = @page.spud_template.content
|
32
|
+
end
|
33
|
+
render :layout => layout
|
34
|
+
end
|
35
|
+
|
36
|
+
def new
|
37
|
+
add_breadcrumb "New", :new_spud_admin_page_path
|
38
|
+
|
39
|
+
|
40
|
+
@templates = SpudTemplate.all
|
41
|
+
@page = SpudPage.new
|
42
|
+
Spud::Cms.default_page_parts.each do |part|
|
43
|
+
@page.spud_page_partials.new(:name => part)
|
44
|
+
end
|
45
|
+
|
46
|
+
# @page.spud_page_partials.new(:name => "Sidebar")
|
47
|
+
end
|
48
|
+
|
49
|
+
def create
|
50
|
+
|
51
|
+
@page = SpudPage.new(params[:spud_page])
|
52
|
+
|
53
|
+
if @page.save
|
54
|
+
flash[:notice] = "Page Saved successfully"
|
55
|
+
redirect_to spud_admin_pages_url() and return
|
56
|
+
else
|
57
|
+
flash[:error] = "Error creating page"
|
58
|
+
@error_object_name = "page"
|
59
|
+
render :action => "new"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def edit
|
64
|
+
add_breadcrumb "#{@page.name}", :spud_admin_page_path
|
65
|
+
add_breadcrumb "Edit", :edit_spud_admin_page_path
|
66
|
+
|
67
|
+
@templates = SpudTemplate.all
|
68
|
+
if @page.spud_page_partials.blank?
|
69
|
+
Spud::Cms.default_page_parts.each do |part|
|
70
|
+
@page.spud_page_partials.new(:name => part)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
if !@page.spud_template.blank?
|
74
|
+
@page.spud_template.page_parts.split(",").each do |part|
|
75
|
+
partial = @page.spud_page_partials.select{|p| p.name == part}
|
76
|
+
if partial.blank?
|
77
|
+
@page.spud_page_partials.new(:name => part)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def update
|
84
|
+
if @page.update_attributes(params[:spud_page])
|
85
|
+
flash[:notice] = "Page updated successfully!"
|
86
|
+
redirect_to spud_admin_pages_url() and return
|
87
|
+
else
|
88
|
+
flash[:error] = "There was an error saving this page"
|
89
|
+
render :action => "edit"
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
def destroy
|
95
|
+
status = 500
|
96
|
+
if @page.destroy
|
97
|
+
flash[:notice] = "Page removed successfully!"
|
98
|
+
status = 200
|
99
|
+
else
|
100
|
+
flash[:error] = "Error removing page"
|
101
|
+
end
|
102
|
+
respond_to do |format|
|
103
|
+
format.js {render :status => status}
|
104
|
+
format.html { redirect_to spud_admin_pages_url()}
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def page_parts
|
109
|
+
template = params[:template] && !params[:template].blank? ? SpudTemplate.where(:id => params[:template]).first : nil
|
110
|
+
page = SpudPage.where(:id => params[:page]).includes(:spud_page_partials).first
|
111
|
+
page = SpudPage.new if page.blank?
|
112
|
+
old_page_partials = Array.new(page.spud_page_partials)
|
113
|
+
new_page_partials = []
|
114
|
+
if !template.blank? && !template.page_parts.blank?
|
115
|
+
template.page_parts.split(',').each do |page_part|
|
116
|
+
new_page_partials << page.spud_page_partials.build(:name => page_part.strip)
|
117
|
+
end
|
118
|
+
else
|
119
|
+
Spud::Cms.default_page_parts.each do |part|
|
120
|
+
new_page_partials << page.spud_page_partials.build(:name => part)
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
new_page_partials.each do |partial|
|
125
|
+
old_partial = old_page_partials.select {|pp| partial.name.strip.downcase == pp.name.strip.downcase }
|
126
|
+
partial.content = old_partial[0].content if !old_partial.blank?
|
127
|
+
end
|
128
|
+
|
129
|
+
respond_to do |format|
|
130
|
+
format.js {
|
131
|
+
if response.status == 200
|
132
|
+
render(:partial => 'page_partials_form', :locals => {:spud_page_partials => new_page_partials, :remove_page_partials => old_page_partials})
|
133
|
+
else
|
134
|
+
render(:text => message)
|
135
|
+
end
|
136
|
+
}
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
private
|
141
|
+
def load_page
|
142
|
+
@page = SpudPage.where(:id => params[:id]).includes(:spud_custom_fields,:spud_page_partials).first
|
143
|
+
if @page.blank?
|
144
|
+
flash[:error] = "Page not found!"
|
145
|
+
redirect_to spud_admin_pages_url() and return false
|
146
|
+
end
|
147
|
+
return true
|
148
|
+
end
|
149
|
+
end
|