mcms_pages 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +40 -0
- data/app/assets/images/layouts/one-column.png +0 -0
- data/app/assets/images/layouts/three-column.png +0 -0
- data/app/assets/images/layouts/two-column-with-left.png +0 -0
- data/app/assets/images/layouts/two-column-with-right.png +0 -0
- data/app/assets/images/mcms_pages/9.jpg +0 -0
- data/app/assets/images/mcms_pages/background.jpg +0 -0
- data/app/assets/images/mcms_pages/bamboo_love.jpg +0 -0
- data/app/assets/images/mcms_pages/branch-end.gif +0 -0
- data/app/assets/images/mcms_pages/branch-start.gif +0 -0
- data/app/assets/images/mcms_pages/branch.gif +0 -0
- data/app/assets/images/mcms_pages/content_bottom.jpg +0 -0
- data/app/assets/images/mcms_pages/icons/accept.png +0 -0
- data/app/assets/images/mcms_pages/icons/add.png +0 -0
- data/app/assets/images/mcms_pages/icons/ajax-loader.gif +0 -0
- data/app/assets/images/mcms_pages/icons/application_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/application_go.png +0 -0
- data/app/assets/images/mcms_pages/icons/arrow_left.png +0 -0
- data/app/assets/images/mcms_pages/icons/arrow_switch.png +0 -0
- data/app/assets/images/mcms_pages/icons/arrow_up.png +0 -0
- data/app/assets/images/mcms_pages/icons/bin.png +0 -0
- data/app/assets/images/mcms_pages/icons/bin_closed.png +0 -0
- data/app/assets/images/mcms_pages/icons/cancel.png +0 -0
- data/app/assets/images/mcms_pages/icons/cog_add.png +0 -0
- data/app/assets/images/mcms_pages/icons/cog_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/cross.png +0 -0
- data/app/assets/images/mcms_pages/icons/delete.png +0 -0
- data/app/assets/images/mcms_pages/icons/doc.png +0 -0
- data/app/assets/images/mcms_pages/icons/down.gif +0 -0
- data/app/assets/images/mcms_pages/icons/edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/email.png +0 -0
- data/app/assets/images/mcms_pages/icons/email_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/email_go.png +0 -0
- data/app/assets/images/mcms_pages/icons/email_open.png +0 -0
- data/app/assets/images/mcms_pages/icons/eye.png +0 -0
- data/app/assets/images/mcms_pages/icons/folder.png +0 -0
- data/app/assets/images/mcms_pages/icons/folder_open.png +0 -0
- data/app/assets/images/mcms_pages/icons/folder_page_white.png +0 -0
- data/app/assets/images/mcms_pages/icons/image_add.png +0 -0
- data/app/assets/images/mcms_pages/icons/image_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/img.png +0 -0
- data/app/assets/images/mcms_pages/icons/information.png +0 -0
- data/app/assets/images/mcms_pages/icons/layout_add.png +0 -0
- data/app/assets/images/mcms_pages/icons/layout_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/music.png +0 -0
- data/app/assets/images/mcms_pages/icons/page.png +0 -0
- data/app/assets/images/mcms_pages/icons/page_add.png +0 -0
- data/app/assets/images/mcms_pages/icons/page_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/page_white_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/page_white_gear.png +0 -0
- data/app/assets/images/mcms_pages/icons/page_white_put.png +0 -0
- data/app/assets/images/mcms_pages/icons/pdf.png +0 -0
- data/app/assets/images/mcms_pages/icons/ppt.png +0 -0
- data/app/assets/images/mcms_pages/icons/star.png +0 -0
- data/app/assets/images/mcms_pages/icons/tick.png +0 -0
- data/app/assets/images/mcms_pages/icons/up.gif +0 -0
- data/app/assets/images/mcms_pages/icons/user_add.png +0 -0
- data/app/assets/images/mcms_pages/icons/user_comment.png +0 -0
- data/app/assets/images/mcms_pages/icons/user_edit.png +0 -0
- data/app/assets/images/mcms_pages/icons/xls.png +0 -0
- data/app/assets/images/mcms_pages/icons/zip.png +0 -0
- data/app/assets/images/mcms_pages/icons/zoom.png +0 -0
- data/app/assets/images/mcms_pages/tab_off.jpg +0 -0
- data/app/assets/images/mcms_pages/tab_on.jpg +0 -0
- data/app/assets/javascripts/menuPage.js +45 -0
- data/app/assets/javascripts/pageFormAdmin.js +192 -0
- data/app/assets/stylesheets/mcms_pages/layout.css.scss +16 -0
- data/app/assets/stylesheets/mcms_pages/page_styles.css +95 -0
- data/app/assets/stylesheets/mcms_pages/pages.css.scss +172 -0
- data/app/controllers/admin/layouts_controller.rb +51 -0
- data/app/controllers/admin/pages_controller.rb +303 -0
- data/app/controllers/admin_controller.rb +22 -0
- data/app/controllers/application_controller.rb +20 -0
- data/app/controllers/pages_controller.rb +151 -0
- data/app/helpers/pages_helper.rb +118 -0
- data/app/models/ckeditor/asset.rb +8 -0
- data/app/models/ckeditor/attachment_file.rb +13 -0
- data/app/models/ckeditor/picture.rb +14 -0
- data/app/models/layout.rb +64 -0
- data/app/models/page.rb +152 -0
- data/app/models/page_part.rb +99 -0
- data/app/models/page_parts_page.rb +52 -0
- data/app/views/mcms_pages/admin/layouts/index.html.erb +54 -0
- data/app/views/mcms_pages/admin/pages/_action.html.erb +19 -0
- data/app/views/mcms_pages/admin/pages/_error_messages.html.erb +42 -0
- data/app/views/mcms_pages/admin/pages/_form.html.erb +90 -0
- data/app/views/mcms_pages/admin/pages/_form.js.erb +55 -0
- data/app/views/mcms_pages/admin/pages/_page.html.erb +63 -0
- data/app/views/mcms_pages/admin/pages/_page_part_edit_form.html.erb +140 -0
- data/app/views/mcms_pages/admin/pages/_page_part_form.html.erb +133 -0
- data/app/views/mcms_pages/admin/pages/_page_part_form_field.html.erb +21 -0
- data/app/views/mcms_pages/admin/pages/_page_part_page_form_field.html.erb +39 -0
- data/app/views/mcms_pages/admin/pages/add_page_part.js.erb +25 -0
- data/app/views/mcms_pages/admin/pages/edit.html.erb +15 -0
- data/app/views/mcms_pages/admin/pages/find_child.html.erb +15 -0
- data/app/views/mcms_pages/admin/pages/index.html.erb +26 -0
- data/app/views/mcms_pages/admin/pages/new.html.erb +15 -0
- data/app/views/mcms_pages/layouts/_footer.html.erb +16 -0
- data/app/views/mcms_pages/layouts/_header.html.erb +16 -0
- data/app/views/mcms_pages/layouts/_javascript.html.erb +22 -0
- data/app/views/mcms_pages/layouts/_stylesheets.html.erb +23 -0
- data/app/views/mcms_pages/layouts/mcms_layout.html.erb +39 -0
- data/app/views/mcms_pages/pages/_left_side_body.html.erb +16 -0
- data/app/views/mcms_pages/pages/_main_body.html.erb +16 -0
- data/app/views/mcms_pages/pages/_menu.html.erb +18 -0
- data/app/views/mcms_pages/pages/_menubar.html.erb +24 -0
- data/app/views/mcms_pages/pages/_one_column_layout.html.erb +14 -0
- data/app/views/mcms_pages/pages/_right_side_body.html.erb +16 -0
- data/app/views/mcms_pages/pages/_three_column_layout.html.erb +20 -0
- data/app/views/mcms_pages/pages/_two_column_layout.html.erb +27 -0
- data/app/views/mcms_pages/pages/home.html.erb +26 -0
- data/app/views/mcms_pages/pages/show.html.erb +34 -0
- data/config/routes.rb +57 -0
- data/db/migrate/20120605100629_create_pages.rb +17 -0
- data/db/migrate/20120605100650_create_page_parts.rb +10 -0
- data/db/migrate/20120606150655_create_mcms_assets.rb +26 -0
- data/db/migrate/20120606150656_add_title_position_to_page_parts.rb +5 -0
- data/db/migrate/20120609055514_add_parent_id_to_pages.rb +5 -0
- data/db/migrate/20120612054659_add_lft_rgt_to_mcms_pages.rb +6 -0
- data/db/migrate/20120614125619_create_layouts.rb +16 -0
- data/db/migrate/20120614131633_add_layout_id_to_mcms_pages.rb +5 -0
- data/db/migrate/20120614134343_add_foreign_key_to_page.rb +6 -0
- data/db/migrate/20120618060815_drop_column_permalink_from_mcms_pages.rb +10 -0
- data/db/migrate/20120618102226_add_slug_to_mcms_pages.rb +6 -0
- data/db/migrate/20120625063039_create_page_associations.rb +14 -0
- data/db/migrate/20120625112225_add_header_footer_to_mcms_layouts.rb +6 -0
- data/db/seeds.rb +175 -0
- data/lib/generators/mcms_pages/USAGE +8 -0
- data/lib/generators/mcms_pages/assets_generator.rb +79 -0
- data/lib/generators/mcms_pages/mcms_pages_generator.rb +101 -0
- data/lib/generators/mcms_pages/templates/asset_manager.rb +160 -0
- data/lib/generators/mcms_pages/templates/ckeditor.rb +18 -0
- data/lib/generators/mcms_pages/views_generator.rb +79 -0
- data/lib/mcms_pages/engine.rb +13 -0
- data/lib/mcms_pages/version.rb +3 -0
- data/lib/mcms_pages.rb +7 -0
- data/lib/tasks/mcms_pages_tasks.rake +4 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/mcms_pages_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- metadata +360 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : _javascript.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-09
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To render controller action specific javascript files.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!--
|
13
|
+
calling libray class method get_libraries of class AssetManager
|
14
|
+
to load specified js files listed in controller
|
15
|
+
-->
|
16
|
+
<% AssetManager.get_libraries.each do |library| %>
|
17
|
+
|
18
|
+
<!-- include specific javascript file to page -->
|
19
|
+
<%= javascript_include_tag library %>
|
20
|
+
|
21
|
+
<% end %>
|
22
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : _stylesheets.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-09
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To render controller action specific CSS files.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!--
|
13
|
+
calling libray class method get_css of class AssetManager
|
14
|
+
to load specified css files listed in controller
|
15
|
+
-->
|
16
|
+
<% AssetManager.get_css.each do |css| %>
|
17
|
+
|
18
|
+
<!-- loading specified css file -->
|
19
|
+
<%= stylesheet_link_tag css %>
|
20
|
+
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : application.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-05
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : This is main HTML file responsible for rendering of all view, including JS files and CSS files.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!DOCTYPE html>
|
13
|
+
|
14
|
+
<html>
|
15
|
+
|
16
|
+
<head>
|
17
|
+
|
18
|
+
<title>Mcms Pages</title>
|
19
|
+
|
20
|
+
<!-- render partial stylesheets -->
|
21
|
+
<%= render 'mcms_pages/layouts/stylesheets' %>
|
22
|
+
|
23
|
+
<!-- render partial javascript -->
|
24
|
+
<%= render 'mcms_pages/layouts/javascript' %>
|
25
|
+
|
26
|
+
<!-- rails method to prevent cross site request forgery -->
|
27
|
+
<%= csrf_meta_tags %>
|
28
|
+
|
29
|
+
</head>
|
30
|
+
|
31
|
+
<body>
|
32
|
+
|
33
|
+
<!-- Output of .erb file will be rendered here as yield, This is rails standard method. -->
|
34
|
+
<%= yield %>
|
35
|
+
|
36
|
+
</body>
|
37
|
+
|
38
|
+
</html>
|
39
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : _left_side_body.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To display the left side content of pages.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<div id="page-left-body">
|
13
|
+
|
14
|
+
<%= p.body.html_safe %>
|
15
|
+
|
16
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : _main_body.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To display the main body content of pages.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<div id="page-main-body">
|
13
|
+
|
14
|
+
<%= p.body.html_safe %>
|
15
|
+
|
16
|
+
</div
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : pages/_menubar.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-07-05
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To show the menu items.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<div class="pages-menu" id="pages-menu">
|
13
|
+
|
14
|
+
<!-- include menubar page for the application-->
|
15
|
+
<%= render :partial => 'mcms_pages/pages/menubar', :collection => @menu_pages.select{|p| p.parent_id.nil? and p.link_url != '/404'} %>
|
16
|
+
|
17
|
+
</div>
|
18
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : pages/_menubar.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-07-05
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To show the menu items.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<ul class="pages-menu-ul">
|
13
|
+
|
14
|
+
<li class="pages-menu-li">
|
15
|
+
|
16
|
+
<%= link_to menubar.title, menubar.slug %>
|
17
|
+
|
18
|
+
<!-- render partial _menubar.html.erb if pages have children -->
|
19
|
+
<%= render(:partial => 'mcms_pages/pages/menubar', :collection => menubar.children.select{|p| p.show_in_menu? and p.published?}) if menubar.children.present? %>
|
20
|
+
|
21
|
+
</li>
|
22
|
+
|
23
|
+
</ul>
|
24
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : one_column_layout.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified : 2012-06-15
|
7
|
+
@Last Modification Details : partial rendered and previous code deleted
|
8
|
+
@Purpose : The partial to display one column architecture
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!-- render partial _main_body.html.erb -->
|
13
|
+
<%= render "mcms_pages/pages/main_body", :p => page.page_parts[2] %>
|
14
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : _right_side_body.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To display the right side content of pages.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<div id="page-right-body">
|
13
|
+
|
14
|
+
<%= p.body.html_safe %>
|
15
|
+
|
16
|
+
</div>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : three_column_layout.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To display three column architecture layout.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!-- render partial _left_side_body.html.erb -->
|
13
|
+
<%= render "mcms_pages/pages/left_side_body", :p => page.page_parts[2] %>
|
14
|
+
|
15
|
+
<!-- render partial _right_side_body.html.erb -->
|
16
|
+
<%= render "mcms_pages/pages/right_side_body", :p => page.page_parts[3] %>
|
17
|
+
|
18
|
+
<!-- render partial _main_body.html.erb -->
|
19
|
+
<%= render "mcms_pages/pages/main_body", :p => page.page_parts[4] %>
|
20
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : two_column_layout.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-14
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To display two column(main and left or right) architecture layout
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!-- check which part is used in layout(left or right) -->
|
13
|
+
<% if page.layout.left %>
|
14
|
+
|
15
|
+
<!-- render partial _left_side_body.html.erb -->
|
16
|
+
<%= render "mcms_pages/pages/left_side_body", :p => page.page_parts[2] %>
|
17
|
+
|
18
|
+
<% else %>
|
19
|
+
|
20
|
+
<!-- render partial _right_side_body.html.erb -->
|
21
|
+
<%= render "mcms_pages/pages/right_side_body", :p => page.page_parts[2] %>
|
22
|
+
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<!-- render partial _main_body.html.erb -->
|
26
|
+
<%= render "mcms_pages/pages/main_body", :p => page.page_parts[3] %>
|
27
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : pages/show.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-19
|
6
|
+
@Date Modified :
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To show the home page to the user.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<!-- render notice/alert -->
|
13
|
+
<p><%= flash[:notice] || flash[:error] %></p>
|
14
|
+
|
15
|
+
<!-- render partial for header -->
|
16
|
+
<%= render 'mcms_pages/layouts/header', :p => @page.page_parts[0] %>
|
17
|
+
|
18
|
+
<!-- render menu page -->
|
19
|
+
<%= render 'mcms_pages/pages/menu' %>
|
20
|
+
|
21
|
+
<!-- render partial on the basis of layout name which is based on column count -->
|
22
|
+
<%= render "mcms_pages/pages/"+layout_name(@page.layout.column_count), :page => @page %>
|
23
|
+
|
24
|
+
<!-- render partial for footer -->
|
25
|
+
<%= render 'mcms_pages/layouts/footer', :p => @page.page_parts[1] %>
|
26
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<!--
|
2
|
+
@File Name : pages/show.html.erb
|
3
|
+
@Company Name : Mindfire Solutions Private Limited
|
4
|
+
@Creator Name : Vikram Kumar Mishra
|
5
|
+
@Date Created : 2012-06-05
|
6
|
+
@Date Modified : 2012-06-14
|
7
|
+
@Last Modification Details :
|
8
|
+
@Purpose : To show the individual page preview, on the basis of layout choosed.
|
9
|
+
|
10
|
+
-->
|
11
|
+
|
12
|
+
<% if @page.layout.name == "default" %>
|
13
|
+
|
14
|
+
<!-- render menu page -->
|
15
|
+
<%= render 'mcms_pages/pages/menu' %>
|
16
|
+
|
17
|
+
<%= render "mcms_pages/pages/main_body", :p => @page.page_parts[0] %>
|
18
|
+
|
19
|
+
<% else %>
|
20
|
+
|
21
|
+
<!-- render partial for header -->
|
22
|
+
<%= render 'mcms_pages/layouts/header', :p => @page.page_parts[0] %>
|
23
|
+
|
24
|
+
<!-- render menu page -->
|
25
|
+
<%= render 'mcms_pages/pages/menu' %>
|
26
|
+
|
27
|
+
<!-- render partial on the basis of layout name which is based on column count -->
|
28
|
+
<%= render "mcms_pages/pages/"+layout_name(@page.layout.column_count), :page => @page %>
|
29
|
+
|
30
|
+
<!-- render partial for footer -->
|
31
|
+
<%= render 'mcms_pages/layouts/footer', :p => @page.page_parts[1] %>
|
32
|
+
|
33
|
+
<% end %>
|
34
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
|
3
|
+
@File Name : routes.rb
|
4
|
+
@Company Name : Mindfire Solutions Private Limited
|
5
|
+
@Creator Name : Vikram Kumar Mishra
|
6
|
+
@Date Created : 2012-06-05
|
7
|
+
@Date Modified :
|
8
|
+
@Last Modification Details :
|
9
|
+
@Purpose : To redirect the pages throughout the application.
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
Rails.application.routes.draw do
|
14
|
+
|
15
|
+
mount Ckeditor::Engine => '/ckeditor'
|
16
|
+
|
17
|
+
resources :pages
|
18
|
+
|
19
|
+
# defining root path for the application
|
20
|
+
#root :to => "pages#home"
|
21
|
+
|
22
|
+
# post to page preview action
|
23
|
+
post 'pages/preview' => 'pages#preview', :as => :preview_pages
|
24
|
+
|
25
|
+
# match pages/**/preview to action preview of pages controller
|
26
|
+
match 'pages/*path/preview' => 'pages#preview', :as => :preview_page, :via => [:get, :put]
|
27
|
+
|
28
|
+
match '/:path', :to=> 'pages#show'
|
29
|
+
|
30
|
+
# define route for namespace admin for different resources to have
|
31
|
+
# path prefixed with "mcms"
|
32
|
+
namespace :admin, :path => "mcms" do
|
33
|
+
|
34
|
+
# matching pages/page_title OR id/find_child will be redirected to
|
35
|
+
# find_child action for pages controller within namespace admin
|
36
|
+
match 'pages/*path/find_child', :to => 'pages#find_child'
|
37
|
+
|
38
|
+
# get edit path for parent and child(url prepended with parent) page both
|
39
|
+
# and redirect to edit action
|
40
|
+
get 'pages/*path/edit', :to => 'pages#edit'
|
41
|
+
|
42
|
+
resources :layouts
|
43
|
+
|
44
|
+
resources :pages do
|
45
|
+
|
46
|
+
collection do
|
47
|
+
|
48
|
+
get 'add_page_part'
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end # end namespace
|
55
|
+
|
56
|
+
end
|
57
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreatePages < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :mcms_pages do |t|
|
4
|
+
t.string :title
|
5
|
+
t.string :link_url
|
6
|
+
t.string :permalink
|
7
|
+
t.boolean :show_in_menu
|
8
|
+
t.boolean :published
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :mcms_pages, :title, :unique => true
|
13
|
+
add_index :mcms_pages, :link_url, :unique => true
|
14
|
+
add_index :mcms_pages, :permalink, :unique => true
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateMcmsAssets < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :mcms_assets do |t|
|
4
|
+
t.string :data_file_name, :null => false
|
5
|
+
t.string :data_content_type
|
6
|
+
t.integer :data_file_size
|
7
|
+
|
8
|
+
t.integer :assetable_id
|
9
|
+
t.string :assetable_type, :limit => 30
|
10
|
+
t.string :type, :limit => 30
|
11
|
+
|
12
|
+
# Uncomment it to save images dimensions, if your need it
|
13
|
+
t.integer :width
|
14
|
+
t.integer :height
|
15
|
+
|
16
|
+
t.timestamps
|
17
|
+
end
|
18
|
+
|
19
|
+
add_index "mcms_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_ckeditor_assetable_type"
|
20
|
+
add_index "mcms_assets", ["assetable_type", "assetable_id"], :name => "idx_ckeditor_assetable"
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.down
|
24
|
+
drop_table :mcms_assets
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateLayouts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :mcms_layouts do |t|
|
4
|
+
t.string :name
|
5
|
+
t.boolean :left
|
6
|
+
t.boolean :right
|
7
|
+
t.boolean :main
|
8
|
+
t.integer :column_count
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
|
13
|
+
add_index :mcms_layouts, :name, :unique => true
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreatePageAssociations < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :mcms_page_parts_pages do |t|
|
4
|
+
t.references :page
|
5
|
+
t.references :page_part
|
6
|
+
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
|
10
|
+
add_foreign_key(:mcms_page_parts_pages, :mcms_pages, :column => 'page_id', :dependent => :delete)
|
11
|
+
add_foreign_key(:mcms_page_parts_pages, :mcms_page_parts, :column => 'page_part_id', :dependent => :delete)
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|