deluxe_publisher 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.rspec +1 -0
- data/Gemfile +29 -0
- data/LICENSE +20 -0
- data/README.rdoc +127 -0
- data/Rakefile +61 -0
- data/VERSION +1 -0
- data/app/controllers/deluxe_publisher/comments_controller.rb +93 -0
- data/app/controllers/deluxe_publisher/page_types_controller.rb +115 -0
- data/app/controllers/deluxe_publisher/pages_controller.rb +191 -0
- data/app/controllers/deluxe_publisher/presenter_controller.rb +185 -0
- data/app/controllers/deluxe_publisher/redirects_controller.rb +90 -0
- data/app/controllers/deluxe_publisher/sitemap_controller.rb +10 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/helpers/deluxe_publisher/comments_helper.rb +2 -0
- data/app/helpers/deluxe_publisher/page_types_helper.rb +13 -0
- data/app/helpers/deluxe_publisher/pages_helper.rb +41 -0
- data/app/helpers/deluxe_publisher/presenter_helper.rb +111 -0
- data/app/helpers/deluxe_publisher/redirects_helper.rb +2 -0
- data/app/helpers/deluxe_publisher/sitemap_helper.rb +2 -0
- data/app/models/ckeditor/asset.rb +88 -0
- data/app/models/ckeditor/attachment_file.rb +40 -0
- data/app/models/ckeditor/picture.rb +23 -0
- data/app/models/deluxe_publisher/comment.rb +6 -0
- data/app/models/deluxe_publisher/content.rb +6 -0
- data/app/models/deluxe_publisher/content_descriptor.rb +4 -0
- data/app/models/deluxe_publisher/page.rb +206 -0
- data/app/models/deluxe_publisher/page_type.rb +55 -0
- data/app/models/deluxe_publisher/redirect.rb +6 -0
- data/app/models/deluxe_publisher.rb +5 -0
- data/app/views/deluxe_publisher/comments/_form.html.erb +31 -0
- data/app/views/deluxe_publisher/comments/edit.html.erb +6 -0
- data/app/views/deluxe_publisher/comments/index.html.erb +31 -0
- data/app/views/deluxe_publisher/comments/new.html.erb +6 -0
- data/app/views/deluxe_publisher/comments/show.html.erb +30 -0
- data/app/views/deluxe_publisher/page_types/_content_descriptors.html.erb +15 -0
- data/app/views/deluxe_publisher/page_types/_form.html.erb +59 -0
- data/app/views/deluxe_publisher/page_types/content_areas_change.js.erb +3 -0
- data/app/views/deluxe_publisher/page_types/edit.html.erb +8 -0
- data/app/views/deluxe_publisher/page_types/index.html.erb +29 -0
- data/app/views/deluxe_publisher/page_types/new.html.erb +7 -0
- data/app/views/deluxe_publisher/page_types/show.html.erb +45 -0
- data/app/views/deluxe_publisher/pages/_form.html.erb +39 -0
- data/app/views/deluxe_publisher/pages/_general.html.erb +108 -0
- data/app/views/deluxe_publisher/pages/_page.html.erb +23 -0
- data/app/views/deluxe_publisher/pages/_page_content.html.erb +16 -0
- data/app/views/deluxe_publisher/pages/_page_links.html.erb +9 -0
- data/app/views/deluxe_publisher/pages/_seo.html.erb +27 -0
- data/app/views/deluxe_publisher/pages/edit.html.erb +5 -0
- data/app/views/deluxe_publisher/pages/index.html.erb +11 -0
- data/app/views/deluxe_publisher/pages/new.html.erb +6 -0
- data/app/views/deluxe_publisher/pages/page_type_change.js.erb +3 -0
- data/app/views/deluxe_publisher/pages/show.html.erb +115 -0
- data/app/views/deluxe_publisher/presenter/create_comment.js.erb +3 -0
- data/app/views/deluxe_publisher/presenter/create_comment_failed.js.erb +1 -0
- data/app/views/deluxe_publisher/presenter/new_comment.js.erb +7 -0
- data/app/views/deluxe_publisher/presenter/preview.html.erb +2 -0
- data/app/views/deluxe_publisher/redirects/_form.html.erb +29 -0
- data/app/views/deluxe_publisher/redirects/edit.html.erb +6 -0
- data/app/views/deluxe_publisher/redirects/index.html.erb +27 -0
- data/app/views/deluxe_publisher/redirects/new.html.erb +5 -0
- data/app/views/deluxe_publisher/redirects/show.html.erb +20 -0
- data/app/views/deluxe_publisher/sitemap/index.xml.builder +12 -0
- data/app/views/deluxe_publisher/templates/simple_blog.html.erb +19 -0
- data/app/views/deluxe_publisher/templates/simple_blog.rss.builder +23 -0
- data/app/views/deluxe_publisher/templates/simple_blog_story.html.erb +9 -0
- data/app/views/deluxe_publisher/templates/simple_page.html.erb +4 -0
- data/app/views/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
- data/app/views/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/app/views/layouts/deluxe_publisher.html.erb +36 -0
- data/app/views/layouts/deluxe_publisher_blog.html.erb +63 -0
- data/app/views/layouts/deluxe_publisher_simple.html.erb +30 -0
- data/config/routes.rb +49 -0
- data/deluxe_publisher.gemspec +466 -0
- data/lib/deluxe_publisher/deluxe_publisher_authentication.rb +37 -0
- data/lib/deluxe_publisher/engine.rb +5 -0
- data/lib/deluxe_publisher.rb +40 -0
- data/lib/generators/deluxe_publisher/base/USAGE +8 -0
- data/lib/generators/deluxe_publisher/base/base_generator.rb +45 -0
- data/lib/generators/deluxe_publisher/base/templates/images/add.png +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/btn_addNewPage.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/btn_cancel.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/btn_preview.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/btn_save.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/bullet.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/content_bg.jpg +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/delete.png +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/edit.png +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/header_background.jpg +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/icon_published.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/icon_unpublished.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/logo.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/minus.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/plus.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/show.png +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/tab_bg.gif +0 -0
- data/lib/generators/deluxe_publisher/base/templates/images/tabs_bg.jpg +0 -0
- data/lib/generators/deluxe_publisher/base/templates/initializer.rb +23 -0
- data/lib/generators/deluxe_publisher/base/templates/javascripts/deluxe_presenter.js +25 -0
- data/lib/generators/deluxe_publisher/base/templates/javascripts/deluxe_publisher.js +86 -0
- data/lib/generators/deluxe_publisher/base/templates/javascripts/jquery-rails.js +158 -0
- data/lib/generators/deluxe_publisher/base/templates/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
- data/lib/generators/deluxe_publisher/base/templates/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
- data/lib/generators/deluxe_publisher/base/templates/layouts/deluxe_publisher_blog.html.erb +74 -0
- data/lib/generators/deluxe_publisher/base/templates/layouts/deluxe_publisher_simple.html.erb +47 -0
- data/lib/generators/deluxe_publisher/base/templates/stylesheets/deluxe_presenter.css +458 -0
- data/lib/generators/deluxe_publisher/base/templates/stylesheets/deluxe_publisher.css +202 -0
- data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog.html.erb +19 -0
- data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog.rss.builder +23 -0
- data/lib/generators/deluxe_publisher/base/templates/templates/simple_blog_story.html.erb +12 -0
- data/lib/generators/deluxe_publisher/base/templates/templates/simple_page.html.erb +4 -0
- data/lib/generators/deluxe_publisher/migration/USAGE +0 -0
- data/lib/generators/deluxe_publisher/migration/migration_generator.rb +18 -0
- data/lib/generators/deluxe_publisher/migration/templates/migration.rb +98 -0
- data/lib/generators/deluxe_publisher/sample_site/sample_site_generator.rb +316 -0
- data/spec/controllers/deluxe_publisher/comments_controller_spec.rb +129 -0
- data/spec/controllers/deluxe_publisher/page_types_controller_spec.rb +125 -0
- data/spec/controllers/deluxe_publisher/pages_controller_spec.rb +129 -0
- data/spec/controllers/deluxe_publisher/presenter_controller_spec.rb +19 -0
- data/spec/controllers/deluxe_publisher/redirects_controller_spec.rb +118 -0
- data/spec/deluxe_publisher_spec.rb +7 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/deluxe_publisher/comments/_form.html.erb +31 -0
- data/spec/dummy/app/views/deluxe_publisher/comments/edit.html.erb +6 -0
- data/spec/dummy/app/views/deluxe_publisher/comments/index.html.erb +31 -0
- data/spec/dummy/app/views/deluxe_publisher/comments/new.html.erb +6 -0
- data/spec/dummy/app/views/deluxe_publisher/comments/show.html.erb +30 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/_content_descriptors.html.erb +15 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/_form.html.erb +59 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/content_areas_change.js.erb +3 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/edit.html.erb +8 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/index.html.erb +29 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/new.html.erb +7 -0
- data/spec/dummy/app/views/deluxe_publisher/page_types/show.html.erb +45 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_form.html.erb +36 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_general.html.erb +108 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_page.html.erb +23 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_page_content.html.erb +16 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_page_links.html.erb +9 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/_seo.html.erb +27 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/edit.html.erb +7 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/index.html.erb +10 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/new.html.erb +7 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/page_type_change.js.erb +3 -0
- data/spec/dummy/app/views/deluxe_publisher/pages/show.html.erb +115 -0
- data/spec/dummy/app/views/deluxe_publisher/presenter/create_comment.js.erb +3 -0
- data/spec/dummy/app/views/deluxe_publisher/presenter/create_comment_failed.js.erb +1 -0
- data/spec/dummy/app/views/deluxe_publisher/presenter/new_comment.js.erb +7 -0
- data/spec/dummy/app/views/deluxe_publisher/presenter/preview.html.erb +2 -0
- data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog.html.erb +19 -0
- data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog.rss.builder +23 -0
- data/spec/dummy/app/views/deluxe_publisher/templates/simple_blog_story.html.erb +9 -0
- data/spec/dummy/app/views/deluxe_publisher/templates/simple_page.html.erb +4 -0
- data/spec/dummy/app/views/layouts/_deluxe_publisher_comment_form.html.erb +29 -0
- data/spec/dummy/app/views/layouts/_deluxe_publisher_comments_list.html.erb +8 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/layouts/deluxe_publisher.html.erb +31 -0
- data/spec/dummy/app/views/layouts/deluxe_publisher_blog.html.erb +63 -0
- data/spec/dummy/app/views/layouts/deluxe_publisher_simple.html.erb +30 -0
- data/spec/dummy/config/application.rb +45 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +22 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +26 -0
- data/spec/dummy/config/environments/production.rb +49 -0
- data/spec/dummy/config/environments/test.rb +35 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/deluxe_publisher.rb +23 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +104 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/migrate/20110405190943_create_deluxe_publisher.rb +135 -0
- data/spec/dummy/db/schema.rb +130 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/application.js +2 -0
- data/spec/dummy/public/javascripts/controls.js +965 -0
- data/spec/dummy/public/javascripts/dragdrop.js +974 -0
- data/spec/dummy/public/javascripts/effects.js +1123 -0
- data/spec/dummy/public/javascripts/prototype.js +6001 -0
- data/spec/dummy/public/javascripts/rails.js +191 -0
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/factories/comment_factory.rb +4 -0
- data/spec/factories/content_descriptor_factory.rb +5 -0
- data/spec/factories/content_factory.rb +24 -0
- data/spec/factories/page_factory.rb +26 -0
- data/spec/factories/page_type_factory.rb +10 -0
- data/spec/factories/redirect_factory.rb +4 -0
- data/spec/helpers/deluxe_publisher/comments_helper_spec.rb +15 -0
- data/spec/helpers/deluxe_publisher/page_types_helper_spec.rb +26 -0
- data/spec/helpers/deluxe_publisher/pages_helper_spec.rb +65 -0
- data/spec/helpers/deluxe_publisher/presenter_helper_spec.rb +19 -0
- data/spec/helpers/deluxe_publisher/redirects_helper_spec.rb +15 -0
- data/spec/integration/navigation_spec.rb +9 -0
- data/spec/models/deluxe_publisher/comment_spec.rb +5 -0
- data/spec/models/deluxe_publisher/content_descriptor_spec.rb +5 -0
- data/spec/models/deluxe_publisher/content_spec.rb +5 -0
- data/spec/models/deluxe_publisher/page_spec.rb +358 -0
- data/spec/models/deluxe_publisher/page_type_spec.rb +62 -0
- data/spec/models/deluxe_publisher/redirect_spec.rb +17 -0
- data/spec/requests/deluxe_publisher/deluxe_publisher_comments_spec.rb +11 -0
- data/spec/requests/deluxe_publisher/deluxe_publisher_page_types_spec.rb +11 -0
- data/spec/requests/deluxe_publisher/deluxe_publisher_redirects_spec.rb +11 -0
- data/spec/requests/deluxe_publisher/pages_spec.rb +11 -0
- data/spec/routing/deluxe_publisher/comments_routing_spec.rb +35 -0
- data/spec/routing/deluxe_publisher/page_types_routing_spec.rb +47 -0
- data/spec/routing/deluxe_publisher/pages_routing_spec.rb +47 -0
- data/spec/routing/deluxe_publisher/presenter_routing_spec.rb +66 -0
- data/spec/routing/deluxe_publisher/redirects_routing_spec.rb +35 -0
- data/spec/spec_helper.rb +234 -0
- data/spec/views/deluxe_publisher/comments/edit.html.erb_spec.rb +24 -0
- data/spec/views/deluxe_publisher/comments/index.html.erb_spec.rb +32 -0
- data/spec/views/deluxe_publisher/comments/new.html.erb_spec.rb +24 -0
- data/spec/views/deluxe_publisher/comments/show.html.erb_spec.rb +24 -0
- data/spec/views/deluxe_publisher/page_types/edit.html.erb_spec.rb +32 -0
- data/spec/views/deluxe_publisher/page_types/index.html.erb_spec.rb +48 -0
- data/spec/views/deluxe_publisher/page_types/new.html.erb_spec.rb +32 -0
- data/spec/views/deluxe_publisher/page_types/show.html.erb_spec.rb +36 -0
- data/spec/views/deluxe_publisher/pages/edit.html.erb_spec.rb +58 -0
- data/spec/views/deluxe_publisher/pages/index.html.erb_spec.rb +100 -0
- data/spec/views/deluxe_publisher/pages/new.html.erb_spec.rb +81 -0
- data/spec/views/deluxe_publisher/pages/show.html.erb_spec.rb +75 -0
- data/spec/views/deluxe_publisher/presenter/present.html.erb_spec.rb +5 -0
- data/spec/views/deluxe_publisher/presenter/preview.html.erb_spec.rb +5 -0
- data/spec/views/deluxe_publisher/redirects/edit.html.erb_spec.rb +22 -0
- data/spec/views/deluxe_publisher/redirects/index.html.erb_spec.rb +28 -0
- data/spec/views/deluxe_publisher/redirects/new.html.erb_spec.rb +22 -0
- data/spec/views/deluxe_publisher/redirects/show.html.erb_spec.rb +21 -0
- metadata +1006 -0
data/.document
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
gem "rails", ">= 3.0.5"
|
4
|
+
gem "capybara", ">= 0.4.0"
|
5
|
+
gem "webrat"
|
6
|
+
gem "sqlite3"
|
7
|
+
|
8
|
+
#gem 'ckeditor', :git => 'git://github.com/galetahub/rails-ckeditor.git', :branch => 'rails3'
|
9
|
+
gem 'ckeditor', '3.5.2'
|
10
|
+
gem 'paperclip', "~> 2.3.8"
|
11
|
+
gem "haml", "~> 3.0.24"
|
12
|
+
gem 'nested_set', '~> 1.6.4'
|
13
|
+
gem 'acts-as-taggable-on', "~> 2.0.6"
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
group :development do
|
19
|
+
gem "rspec-rails", "~> 2.6.0"
|
20
|
+
gem "autotest", "~> 4.4.6"
|
21
|
+
gem 'factory_girl_rails', "~> 1.0.1"
|
22
|
+
gem 'jquery-rails', "~> 0.2.7"
|
23
|
+
gem 'jeweler', '~> 1.5.2'
|
24
|
+
end
|
25
|
+
# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
|
26
|
+
# gem 'ruby-debug'
|
27
|
+
# gem 'ruby-debug19'
|
28
|
+
|
29
|
+
gemspec
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2011 Paul Raupach
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
= DeluxePublisher
|
2
|
+
|
3
|
+
Deluxe Publisher Content Managament Sytem (CMS) Gem was created to easily allow the addition of a CMS to a Rails website
|
4
|
+
so that clients can update their own content pages inlcluding simple blog pages. While an entire website could be
|
5
|
+
created with only the Deluxe Publisher its designed to add CMS pages/features to sites that have other more complicated
|
6
|
+
features.
|
7
|
+
|
8
|
+
Deluxe Publisher is a Rails 3 Engine and therefore requires Rails 3.
|
9
|
+
|
10
|
+
<b>Alpha Alpha Alpha</b>, this CMS is under heavy development and not ready for prime time. Use at your own risk.
|
11
|
+
|
12
|
+
== Instilation
|
13
|
+
|
14
|
+
=== Gemfile
|
15
|
+
|
16
|
+
Crate a new rails project, change directory to that project, and don't forget to delete your index.html file.
|
17
|
+
|
18
|
+
rails new MyDeluxeWebsite
|
19
|
+
cd MyDeluxeWebsite
|
20
|
+
rm public/index.html
|
21
|
+
|
22
|
+
Or change directory to your rails project.
|
23
|
+
|
24
|
+
Add these to your Gem file
|
25
|
+
|
26
|
+
gem "deluxe_publisher", :git => "git://github.com/PaulRaye/Deluxe-Publisher.git"
|
27
|
+
gem "acts-as-taggable-on", "~> 2.0.6"
|
28
|
+
gem "nested_set", "~> 1.6.4"
|
29
|
+
gem "ckeditor", "3.5.2"
|
30
|
+
gem "paperclip", "~> 2.3.8"
|
31
|
+
gem "aws-s3"
|
32
|
+
|
33
|
+
and
|
34
|
+
bundle install
|
35
|
+
|
36
|
+
=== CKEditor
|
37
|
+
|
38
|
+
Deluxe Publisher uses CKEditor as it WYSIWYG edtor for content areas.
|
39
|
+
|
40
|
+
rails g ckeditor:base
|
41
|
+
rails g ckeditor:migration
|
42
|
+
rake db:migrate
|
43
|
+
|
44
|
+
See https://github.com/galetahub/rails-ckeditor for details
|
45
|
+
|
46
|
+
=== Set up S3
|
47
|
+
If you are using S3 for your uploaded images and files set up your S3.yml file and update your Picture and
|
48
|
+
AttachmentFile Models
|
49
|
+
See https://github.com/galetahub/rails-ckeditor for details
|
50
|
+
|
51
|
+
=== Acts as Taggable On
|
52
|
+
Deluxe Publisher uses Acts as Taggable On for tags in the blog pages, must be installed even if you are not useing blog
|
53
|
+
pages.
|
54
|
+
|
55
|
+
rails g acts_as_taggable_on:migration
|
56
|
+
rake db:migrate
|
57
|
+
|
58
|
+
See https://github.com/mbleigh/acts-as-taggable-on for details.
|
59
|
+
|
60
|
+
=== Deluxe Publisher
|
61
|
+
Now to Deluxe Publisher, we need to generate some javascript, CSS and images for the Content Management System as well
|
62
|
+
as example files you can use as a starting point for designing your site.
|
63
|
+
|
64
|
+
rails g deluxe_publisher:base
|
65
|
+
|
66
|
+
Generate the migration for the Deluxe Publisher Tables and migrate.
|
67
|
+
|
68
|
+
rails g deluxe_publisher:migration
|
69
|
+
rake db:migrate
|
70
|
+
|
71
|
+
=== Load Sample Site
|
72
|
+
Now lets load in a sample site so we're not starting with a black page.
|
73
|
+
rails g deluxe_publisher:sample_site
|
74
|
+
|
75
|
+
=== Routes
|
76
|
+
If you are not using any other engines with your rails application then Deluxe Publisher will use its default routes
|
77
|
+
including the wild card route that captures all routes not specified otherwise. You can add routes to your
|
78
|
+
routes.rb file that will take presidence over the Deluxe Publisher Routes. However if you are using other Rails
|
79
|
+
Engines that also have dedault routes you may need to move those engines routes into your /config/routes.rb file to
|
80
|
+
ensure they are called before Deluxe Publishers wildcard route.
|
81
|
+
|
82
|
+
|
83
|
+
=== Authentication
|
84
|
+
|
85
|
+
Deluxe Publisher designed to use your sites authentication, not force one on you.
|
86
|
+
|
87
|
+
Authentication is set up by selecting the authentication method for both the public facing pages and
|
88
|
+
the Administration tools. There are three authentication options:
|
89
|
+
|
90
|
+
* :none indicating no authentication
|
91
|
+
* :basic uses Rails authenticate_or_request_with_http_basic along with login and password you provide
|
92
|
+
* :method calls back to an authentication method you provide
|
93
|
+
|
94
|
+
The Authentication setting are set in the config/initializers/deluxe_publisher.rb file
|
95
|
+
|
96
|
+
# authentication procedure for public facing pages
|
97
|
+
#use :none, :basic, :method
|
98
|
+
config.publisher_authorization_procedure = :none
|
99
|
+
#for :basic authorization procedure
|
100
|
+
config.publisher_username = "Bob"
|
101
|
+
config.publisher_password = "isyouruncle"
|
102
|
+
#for :method authorization procedure
|
103
|
+
config.publisher_authorization_method = :your_authorization_method
|
104
|
+
|
105
|
+
#Authentication procedure for deluxe publisher admin pages
|
106
|
+
#use :none, :basic, :method
|
107
|
+
config.admin_authorization_procedure = :basic
|
108
|
+
#for :basic authorization procedure
|
109
|
+
config.admin_username = "admin" ########## Please Please Please ##########
|
110
|
+
config.admin_password = "nimda" ########## Change username and password ##########
|
111
|
+
#for :method authorization procedure ########## Or better yet use ##########
|
112
|
+
config.admin_authorization_method = :authenticate_admin! ########## an Authorization method ##########
|
113
|
+
|
114
|
+
Note that the default authentication for public is :none and the default authentication for publisher is :basic with
|
115
|
+
username and password of admin/nimda. These are intended to be bad so you're forced to change them.
|
116
|
+
|
117
|
+
== Its Installed!, now what?
|
118
|
+
|
119
|
+
Profit!
|
120
|
+
|
121
|
+
Detailed Instructions to come but you can create page types here:
|
122
|
+
|
123
|
+
http://yourapp.com/deluxe_publisher/page_types
|
124
|
+
|
125
|
+
And you can create pages here:
|
126
|
+
|
127
|
+
http://yourapp.com/deluxe_publisher/pages
|
data/Rakefile
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'rake'
|
11
|
+
|
12
|
+
require 'jeweler'
|
13
|
+
Jeweler::Tasks.new do |gem|
|
14
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
|
+
gem.name = "deluxe_publisher"
|
16
|
+
gem.homepage = "http://github.com/PaulRaye/deluxe_publisher"
|
17
|
+
gem.license = "MIT"
|
18
|
+
gem.summary = %Q{CMS for Rails 3#}
|
19
|
+
gem.description = %Q{Content Management System for Rails 3 Created by Paul @ Deluxe Digital Media}
|
20
|
+
gem.email = "paul@raupach.com"
|
21
|
+
gem.authors = ["Paul Raupach"]
|
22
|
+
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
+
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
+
#gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
25
|
+
gem.add_runtime_dependency 'ckeditor', '3.5.2'
|
26
|
+
gem.add_runtime_dependency 'paperclip', "~> 2.3.8"
|
27
|
+
gem.add_runtime_dependency "haml", "~> 3.0.24"
|
28
|
+
gem.add_runtime_dependency 'nested_set', '~> 1.6.4'
|
29
|
+
gem.add_runtime_dependency 'acts-as-taggable-on', "~> 2.0.6"
|
30
|
+
|
31
|
+
#gem.add_development_dependency 'rspec', '> 1.2.3'
|
32
|
+
gem.add_development_dependency "rspec-rails", "~> 2.6.0"
|
33
|
+
gem.add_development_dependency "autotest", "~> 4.4.6"
|
34
|
+
gem.add_development_dependency 'factory_girl_rails', "~> 1.0.1"
|
35
|
+
gem.add_development_dependency 'jquery-rails', "~> 0.2.7"
|
36
|
+
gem.add_development_dependency 'jeweler', '~> 1.5.2'
|
37
|
+
end
|
38
|
+
Jeweler::RubygemsDotOrgTasks.new
|
39
|
+
|
40
|
+
require 'rspec/core'
|
41
|
+
require 'rspec/core/rake_task'
|
42
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
43
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
44
|
+
end
|
45
|
+
|
46
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
47
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
48
|
+
spec.rcov = true
|
49
|
+
end
|
50
|
+
|
51
|
+
task :default => :spec
|
52
|
+
|
53
|
+
require 'rake/rdoctask'
|
54
|
+
Rake::RDocTask.new do |rdoc|
|
55
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
56
|
+
|
57
|
+
rdoc.rdoc_dir = 'rdoc'
|
58
|
+
rdoc.title = "deluxe_publisher #{version}"
|
59
|
+
rdoc.rdoc_files.include('README*')
|
60
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
61
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.3
|
@@ -0,0 +1,93 @@
|
|
1
|
+
class DeluxePublisher::CommentsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :load_page
|
4
|
+
layout "deluxe_publisher"
|
5
|
+
|
6
|
+
# GET /deluxe_publisher/comments
|
7
|
+
# GET /deluxe_publisher/comments.xml
|
8
|
+
def index
|
9
|
+
@deluxe_publisher_comments = @page.comments.all
|
10
|
+
|
11
|
+
respond_to do |format|
|
12
|
+
format.html # index.html.erb
|
13
|
+
format.xml { render :xml => @deluxe_publisher_comments }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /deluxe_publisher/comments/1
|
18
|
+
# GET /deluxe_publisher/comments/1.xml
|
19
|
+
def show
|
20
|
+
@deluxe_publisher_comment = @page.comments.find(params[:id])
|
21
|
+
|
22
|
+
respond_to do |format|
|
23
|
+
format.html # show.html.erb
|
24
|
+
format.xml { render :xml => @deluxe_publisher_comment }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# GET /deluxe_publisher/comments/new
|
29
|
+
# GET /deluxe_publisher/comments/new.xml
|
30
|
+
def new
|
31
|
+
@deluxe_publisher_comment = @page.comments.build
|
32
|
+
|
33
|
+
respond_to do |format|
|
34
|
+
format.html # new.html.erb
|
35
|
+
format.xml { render :xml => @deluxe_publisher_comment }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# GET /deluxe_publisher/comments/1/edit
|
40
|
+
def edit
|
41
|
+
@deluxe_publisher_comment = DeluxePublisher::Comment.find(params[:id])
|
42
|
+
end
|
43
|
+
|
44
|
+
# POST /deluxe_publisher/comments
|
45
|
+
# POST /deluxe_publisher/comments.xml
|
46
|
+
def create
|
47
|
+
@deluxe_publisher_comment = @page.comments.build(params[:deluxe_publisher_comment])
|
48
|
+
|
49
|
+
respond_to do |format|
|
50
|
+
if @deluxe_publisher_comment.save
|
51
|
+
format.html { redirect_to(deluxe_publisher_page_comments_path(@page), :notice => 'Comment was successfully created.') }
|
52
|
+
format.xml { render :xml => @deluxe_publisher_comment, :status => :created, :location => @deluxe_publisher_comment }
|
53
|
+
else
|
54
|
+
format.html { render :action => "new" }
|
55
|
+
format.xml { render :xml => @deluxe_publisher_comment.errors, :status => :unprocessable_entity }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# PUT /deluxe_publisher/comments/1
|
61
|
+
# PUT /deluxe_publisher/comments/1.xml
|
62
|
+
def update
|
63
|
+
@deluxe_publisher_comment = @page.comments.find(params[:id])
|
64
|
+
|
65
|
+
respond_to do |format|
|
66
|
+
if @deluxe_publisher_comment.update_attributes(params[:deluxe_publisher_comment])
|
67
|
+
format.html { redirect_to( deluxe_publisher_page_comments_path(@page), :notice => 'Comment was successfully updated.') }
|
68
|
+
format.xml { head :ok }
|
69
|
+
else
|
70
|
+
format.html { render :action => "edit" }
|
71
|
+
format.xml { render :xml => @deluxe_publisher_comment.errors, :status => :unprocessable_entity }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# DELETE /deluxe_publisher/comments/1
|
77
|
+
# DELETE /deluxe_publisher/comments/1.xml
|
78
|
+
def destroy
|
79
|
+
@deluxe_publisher_comment = @page.comments.find(params[:id])
|
80
|
+
@deluxe_publisher_comment.destroy
|
81
|
+
|
82
|
+
respond_to do |format|
|
83
|
+
format.html { redirect_to(deluxe_publisher_page_comments_url(@page)) }
|
84
|
+
format.xml { head :ok }
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
|
90
|
+
def load_page
|
91
|
+
@page = DeluxePublisher::Page.find(params[:page_id])
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
class DeluxePublisher::PageTypesController < ApplicationController
|
2
|
+
|
3
|
+
include DeluxePublisherAuthentication
|
4
|
+
|
5
|
+
before_filter :admin_authorize
|
6
|
+
|
7
|
+
layout "deluxe_publisher"
|
8
|
+
|
9
|
+
# GET /deluxe_publisher/page_types
|
10
|
+
# GET /deluxe_publisher/page_types.xml
|
11
|
+
def index
|
12
|
+
@deluxe_publisher_page_types = DeluxePublisher::PageType.all
|
13
|
+
|
14
|
+
respond_to do |format|
|
15
|
+
format.html # index.html.erb
|
16
|
+
format.xml { render :xml => @deluxe_publisher_page_types }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# GET /deluxe_publisher/page_types/1
|
21
|
+
# GET /deluxe_publisher/page_types/1.xml
|
22
|
+
def show
|
23
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.find(params[:id])
|
24
|
+
|
25
|
+
respond_to do |format|
|
26
|
+
format.html # show.html.erb
|
27
|
+
format.xml { render :xml => @deluxe_publisher_page_type }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# GET /deluxe_publisher/page_types/new
|
32
|
+
# GET /deluxe_publisher/page_types/new.xml
|
33
|
+
def new
|
34
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.new
|
35
|
+
|
36
|
+
respond_to do |format|
|
37
|
+
format.html # new.html.erb
|
38
|
+
format.xml { render :xml => @deluxe_publisher_page_type }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# GET /deluxe_publisher/page_types/1/edit
|
43
|
+
def edit
|
44
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.find(params[:id])
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
def content_areas_change
|
49
|
+
if params.has_key?(:id)
|
50
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.find(params[:id])
|
51
|
+
else
|
52
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.new
|
53
|
+
end
|
54
|
+
|
55
|
+
@deluxe_publisher_page_type.number_of_content_areas = params[:deluxe_publisher_page_type][:number_of_content_areas]
|
56
|
+
stash_descriptor_attributes
|
57
|
+
respond_to do |format|
|
58
|
+
format.js {render :layout => false}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# POST /deluxe_publisher/page_types
|
63
|
+
# POST /deluxe_publisher/page_types.xml
|
64
|
+
def create
|
65
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.new(params[:deluxe_publisher_page_type])
|
66
|
+
|
67
|
+
respond_to do |format|
|
68
|
+
if @deluxe_publisher_page_type.save
|
69
|
+
format.html { redirect_to(@deluxe_publisher_page_type, :notice => 'Page type was successfully created.') }
|
70
|
+
format.xml { render :xml => @deluxe_publisher_page_type, :status => :created, :location => @deluxe_publisher_page_type }
|
71
|
+
else
|
72
|
+
stash_descriptor_attributes
|
73
|
+
format.html { render :action => "new" }
|
74
|
+
format.xml { render :xml => @deluxe_publisher_page_type.errors, :status => :unprocessable_entity }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# PUT /deluxe_publisher/page_types/1
|
80
|
+
# PUT /deluxe_publisher/page_types/1.xml
|
81
|
+
def update
|
82
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.find(params[:id])
|
83
|
+
|
84
|
+
respond_to do |format|
|
85
|
+
if @deluxe_publisher_page_type.update_attributes(params[:deluxe_publisher_page_type])
|
86
|
+
format.html { redirect_to(@deluxe_publisher_page_type, :notice => 'Page type was successfully updated.') }
|
87
|
+
format.xml { head :ok }
|
88
|
+
else
|
89
|
+
stash_descriptor_attributes
|
90
|
+
format.html { render :action => "edit" }
|
91
|
+
format.xml { render :xml => @deluxe_publisher_page_type.errors, :status => :unprocessable_entity }
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
# DELETE /deluxe_publisher/page_types/1
|
97
|
+
# DELETE /deluxe_publisher/page_types/1.xml
|
98
|
+
def destroy
|
99
|
+
@deluxe_publisher_page_type = DeluxePublisher::PageType.find(params[:id])
|
100
|
+
@deluxe_publisher_page_type.destroy
|
101
|
+
|
102
|
+
respond_to do |format|
|
103
|
+
format.html { redirect_to(deluxe_publisher_page_types_url) }
|
104
|
+
format.xml { head :ok }
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
private
|
109
|
+
|
110
|
+
def stash_descriptor_attributes
|
111
|
+
unless params[:deluxe_publisher_page_type].nil? || params[:deluxe_publisher_page_type][:content_descriptors_attributes].nil?
|
112
|
+
@deluxe_publisher_page_type.stash_descriptor_attributes(params[:deluxe_publisher_page_type][:content_descriptors_attributes])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,191 @@
|
|
1
|
+
class DeluxePublisher::PagesController < ApplicationController
|
2
|
+
|
3
|
+
include DeluxePublisherAuthentication
|
4
|
+
|
5
|
+
layout "deluxe_publisher"
|
6
|
+
before_filter :load_root_page
|
7
|
+
|
8
|
+
before_filter :admin_authorize
|
9
|
+
|
10
|
+
# GET /pages
|
11
|
+
# GET /pages.xml
|
12
|
+
def index
|
13
|
+
|
14
|
+
@pages = @root_page.descendants.find(:all, :include => :page_type)
|
15
|
+
|
16
|
+
respond_to do |format|
|
17
|
+
format.html # index.html.erb
|
18
|
+
format.xml { render :xml => @pages }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# GET /pages/1
|
23
|
+
# GET /pages/1.xml
|
24
|
+
def show
|
25
|
+
@page = DeluxePublisher::Page.find(params[:id])
|
26
|
+
|
27
|
+
@root_page = @page.root
|
28
|
+
|
29
|
+
if @page.is_a_blog?
|
30
|
+
@blog = @page
|
31
|
+
@tags = DeluxePublisher::Page.tag_counts_on(:tags)
|
32
|
+
end
|
33
|
+
|
34
|
+
if @page.is_a_blog_story?
|
35
|
+
@blog = @page.parent
|
36
|
+
@tags = DeluxePublisher::Page.tag_counts_on(:tags)
|
37
|
+
end
|
38
|
+
|
39
|
+
respond_to do |format|
|
40
|
+
format.html do
|
41
|
+
if @page.page_type.layout.blank?
|
42
|
+
render :template => "/deluxe_publisher/templates/#{@page.page_type.template}", :layout => false
|
43
|
+
else
|
44
|
+
render :template => "/deluxe_publisher/templates/#{@page.page_type.template}", :layout => @page.page_type.layout
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
# GET /pages/new
|
52
|
+
# GET /pages/new.xml
|
53
|
+
def new
|
54
|
+
|
55
|
+
|
56
|
+
if params.has_key?(:copy_id)
|
57
|
+
subject = DeluxePublisher::Page.find(params[:copy_id])
|
58
|
+
@page = subject.clone
|
59
|
+
@page.is_published = false
|
60
|
+
(0..(subject.number_of_contents-1)).each do |position|
|
61
|
+
c = subject.contents[position].clone
|
62
|
+
c.page_id = nil
|
63
|
+
@page.stash_content(position, c)
|
64
|
+
end
|
65
|
+
else
|
66
|
+
@page = DeluxePublisher::Page.new
|
67
|
+
end
|
68
|
+
|
69
|
+
if params.has_key?(:parent_id)
|
70
|
+
@page.parent_id = params[:parent_id]
|
71
|
+
else
|
72
|
+
@page.parent_id = DeluxePublisher::Page.get_site_root(1).id
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
respond_to do |format|
|
77
|
+
format.html # new.html.erb
|
78
|
+
format.xml { render :xml => @page }
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# GET /pages/1/edit
|
83
|
+
def edit
|
84
|
+
@page = DeluxePublisher::Page.find_with_content(params[:id])
|
85
|
+
end
|
86
|
+
|
87
|
+
def page_type_change
|
88
|
+
if params.has_key?(:id)
|
89
|
+
@page = DeluxePublisher::Page.find_with_content(params[:id])
|
90
|
+
else
|
91
|
+
@page = DeluxePublisher::Page.new
|
92
|
+
end
|
93
|
+
page_type = DeluxePublisher::PageType.find(params[:deluxe_publisher_page][:page_type_id])
|
94
|
+
@page.page_type = page_type
|
95
|
+
stash_content
|
96
|
+
|
97
|
+
respond_to do |format|
|
98
|
+
format.js {render :layout => false}
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
# POST /pages
|
104
|
+
# POST /pages.xml
|
105
|
+
def create
|
106
|
+
@page = DeluxePublisher::Page.new(params[:deluxe_publisher_page])
|
107
|
+
@page.site_id = 1
|
108
|
+
respond_to do |format|
|
109
|
+
if @page.save
|
110
|
+
format.html { redirect_to(deluxe_publisher_pages_path, :notice => 'Page was successfully created.') }
|
111
|
+
format.xml { render :xml => @page, :status => :created, :location => @page }
|
112
|
+
else
|
113
|
+
format.html { render :action => "new" }
|
114
|
+
format.xml { render :xml => @page.errors, :status => :unprocessable_entity }
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
# PUT /pages/1
|
120
|
+
# PUT /pages/1.xml
|
121
|
+
def update
|
122
|
+
@page = DeluxePublisher::Page.find(params[:id])
|
123
|
+
|
124
|
+
respond_to do |format|
|
125
|
+
if @page.update_attributes(params[:deluxe_publisher_page])
|
126
|
+
format.html { redirect_to(deluxe_publisher_pages_path, :notice => 'Page was successfully updated.') }
|
127
|
+
format.xml { head :ok }
|
128
|
+
else
|
129
|
+
format.html { render :action => "edit" }
|
130
|
+
format.xml { render :xml => @page.errors, :status => :unprocessable_entity }
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
|
136
|
+
def preview
|
137
|
+
|
138
|
+
|
139
|
+
params[:deluxe_publisher_page][:contents_attributes].each do |content|
|
140
|
+
content[1]["id"] = nil
|
141
|
+
end
|
142
|
+
|
143
|
+
|
144
|
+
@page = DeluxePublisher::Page.new(params[:deluxe_publisher_page])
|
145
|
+
|
146
|
+
@root_page = @page.root
|
147
|
+
|
148
|
+
if @page.is_a_blog?
|
149
|
+
@blog = @page
|
150
|
+
@tags = DeluxePublisher::Page.tag_counts_on(:tags)
|
151
|
+
end
|
152
|
+
|
153
|
+
if @page.is_a_blog_story?
|
154
|
+
@blog = @page.parent
|
155
|
+
@tags = DeluxePublisher::Page.tag_counts_on(:tags)
|
156
|
+
end
|
157
|
+
|
158
|
+
|
159
|
+
if @page.page_type.layout.blank?
|
160
|
+
render :template => "/deluxe_publisher/templates/#{@page.page_type.template}", :layout => false
|
161
|
+
else
|
162
|
+
render :template => "/deluxe_publisher/templates/#{@page.page_type.template}", :layout => @page.page_type.layout
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
# DELETE /pages/1
|
167
|
+
# DELETE /pages/1.xml
|
168
|
+
def destroy
|
169
|
+
@page = DeluxePublisher::Page.find(params[:id])
|
170
|
+
@page.destroy
|
171
|
+
|
172
|
+
respond_to do |format|
|
173
|
+
format.html { redirect_to(deluxe_publisher_pages_url) }
|
174
|
+
format.xml { head :ok }
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
def load_root_page
|
179
|
+
site_id = 1
|
180
|
+
@root_page = DeluxePublisher::Page.get_site_root(site_id)
|
181
|
+
end
|
182
|
+
|
183
|
+
private
|
184
|
+
def stash_content
|
185
|
+
@page.stash_content_attributes(params[:deluxe_publisher_page][:contents_attributes])
|
186
|
+
|
187
|
+
end
|
188
|
+
|
189
|
+
|
190
|
+
end
|
191
|
+
|