mcms_pages 0.0.1

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.
Files changed (172) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/images/layouts/one-column.png +0 -0
  5. data/app/assets/images/layouts/three-column.png +0 -0
  6. data/app/assets/images/layouts/two-column-with-left.png +0 -0
  7. data/app/assets/images/layouts/two-column-with-right.png +0 -0
  8. data/app/assets/images/mcms_pages/9.jpg +0 -0
  9. data/app/assets/images/mcms_pages/background.jpg +0 -0
  10. data/app/assets/images/mcms_pages/bamboo_love.jpg +0 -0
  11. data/app/assets/images/mcms_pages/branch-end.gif +0 -0
  12. data/app/assets/images/mcms_pages/branch-start.gif +0 -0
  13. data/app/assets/images/mcms_pages/branch.gif +0 -0
  14. data/app/assets/images/mcms_pages/content_bottom.jpg +0 -0
  15. data/app/assets/images/mcms_pages/icons/accept.png +0 -0
  16. data/app/assets/images/mcms_pages/icons/add.png +0 -0
  17. data/app/assets/images/mcms_pages/icons/ajax-loader.gif +0 -0
  18. data/app/assets/images/mcms_pages/icons/application_edit.png +0 -0
  19. data/app/assets/images/mcms_pages/icons/application_go.png +0 -0
  20. data/app/assets/images/mcms_pages/icons/arrow_left.png +0 -0
  21. data/app/assets/images/mcms_pages/icons/arrow_switch.png +0 -0
  22. data/app/assets/images/mcms_pages/icons/arrow_up.png +0 -0
  23. data/app/assets/images/mcms_pages/icons/bin.png +0 -0
  24. data/app/assets/images/mcms_pages/icons/bin_closed.png +0 -0
  25. data/app/assets/images/mcms_pages/icons/cancel.png +0 -0
  26. data/app/assets/images/mcms_pages/icons/cog_add.png +0 -0
  27. data/app/assets/images/mcms_pages/icons/cog_edit.png +0 -0
  28. data/app/assets/images/mcms_pages/icons/cross.png +0 -0
  29. data/app/assets/images/mcms_pages/icons/delete.png +0 -0
  30. data/app/assets/images/mcms_pages/icons/doc.png +0 -0
  31. data/app/assets/images/mcms_pages/icons/down.gif +0 -0
  32. data/app/assets/images/mcms_pages/icons/edit.png +0 -0
  33. data/app/assets/images/mcms_pages/icons/email.png +0 -0
  34. data/app/assets/images/mcms_pages/icons/email_edit.png +0 -0
  35. data/app/assets/images/mcms_pages/icons/email_go.png +0 -0
  36. data/app/assets/images/mcms_pages/icons/email_open.png +0 -0
  37. data/app/assets/images/mcms_pages/icons/eye.png +0 -0
  38. data/app/assets/images/mcms_pages/icons/folder.png +0 -0
  39. data/app/assets/images/mcms_pages/icons/folder_open.png +0 -0
  40. data/app/assets/images/mcms_pages/icons/folder_page_white.png +0 -0
  41. data/app/assets/images/mcms_pages/icons/image_add.png +0 -0
  42. data/app/assets/images/mcms_pages/icons/image_edit.png +0 -0
  43. data/app/assets/images/mcms_pages/icons/img.png +0 -0
  44. data/app/assets/images/mcms_pages/icons/information.png +0 -0
  45. data/app/assets/images/mcms_pages/icons/layout_add.png +0 -0
  46. data/app/assets/images/mcms_pages/icons/layout_edit.png +0 -0
  47. data/app/assets/images/mcms_pages/icons/music.png +0 -0
  48. data/app/assets/images/mcms_pages/icons/page.png +0 -0
  49. data/app/assets/images/mcms_pages/icons/page_add.png +0 -0
  50. data/app/assets/images/mcms_pages/icons/page_edit.png +0 -0
  51. data/app/assets/images/mcms_pages/icons/page_white_edit.png +0 -0
  52. data/app/assets/images/mcms_pages/icons/page_white_gear.png +0 -0
  53. data/app/assets/images/mcms_pages/icons/page_white_put.png +0 -0
  54. data/app/assets/images/mcms_pages/icons/pdf.png +0 -0
  55. data/app/assets/images/mcms_pages/icons/ppt.png +0 -0
  56. data/app/assets/images/mcms_pages/icons/star.png +0 -0
  57. data/app/assets/images/mcms_pages/icons/tick.png +0 -0
  58. data/app/assets/images/mcms_pages/icons/up.gif +0 -0
  59. data/app/assets/images/mcms_pages/icons/user_add.png +0 -0
  60. data/app/assets/images/mcms_pages/icons/user_comment.png +0 -0
  61. data/app/assets/images/mcms_pages/icons/user_edit.png +0 -0
  62. data/app/assets/images/mcms_pages/icons/xls.png +0 -0
  63. data/app/assets/images/mcms_pages/icons/zip.png +0 -0
  64. data/app/assets/images/mcms_pages/icons/zoom.png +0 -0
  65. data/app/assets/images/mcms_pages/tab_off.jpg +0 -0
  66. data/app/assets/images/mcms_pages/tab_on.jpg +0 -0
  67. data/app/assets/javascripts/menuPage.js +45 -0
  68. data/app/assets/javascripts/pageFormAdmin.js +192 -0
  69. data/app/assets/stylesheets/mcms_pages/layout.css.scss +16 -0
  70. data/app/assets/stylesheets/mcms_pages/page_styles.css +95 -0
  71. data/app/assets/stylesheets/mcms_pages/pages.css.scss +172 -0
  72. data/app/controllers/admin/layouts_controller.rb +51 -0
  73. data/app/controllers/admin/pages_controller.rb +303 -0
  74. data/app/controllers/admin_controller.rb +22 -0
  75. data/app/controllers/application_controller.rb +20 -0
  76. data/app/controllers/pages_controller.rb +151 -0
  77. data/app/helpers/pages_helper.rb +118 -0
  78. data/app/models/ckeditor/asset.rb +8 -0
  79. data/app/models/ckeditor/attachment_file.rb +13 -0
  80. data/app/models/ckeditor/picture.rb +14 -0
  81. data/app/models/layout.rb +64 -0
  82. data/app/models/page.rb +152 -0
  83. data/app/models/page_part.rb +99 -0
  84. data/app/models/page_parts_page.rb +52 -0
  85. data/app/views/mcms_pages/admin/layouts/index.html.erb +54 -0
  86. data/app/views/mcms_pages/admin/pages/_action.html.erb +19 -0
  87. data/app/views/mcms_pages/admin/pages/_error_messages.html.erb +42 -0
  88. data/app/views/mcms_pages/admin/pages/_form.html.erb +90 -0
  89. data/app/views/mcms_pages/admin/pages/_form.js.erb +55 -0
  90. data/app/views/mcms_pages/admin/pages/_page.html.erb +63 -0
  91. data/app/views/mcms_pages/admin/pages/_page_part_edit_form.html.erb +140 -0
  92. data/app/views/mcms_pages/admin/pages/_page_part_form.html.erb +133 -0
  93. data/app/views/mcms_pages/admin/pages/_page_part_form_field.html.erb +21 -0
  94. data/app/views/mcms_pages/admin/pages/_page_part_page_form_field.html.erb +39 -0
  95. data/app/views/mcms_pages/admin/pages/add_page_part.js.erb +25 -0
  96. data/app/views/mcms_pages/admin/pages/edit.html.erb +15 -0
  97. data/app/views/mcms_pages/admin/pages/find_child.html.erb +15 -0
  98. data/app/views/mcms_pages/admin/pages/index.html.erb +26 -0
  99. data/app/views/mcms_pages/admin/pages/new.html.erb +15 -0
  100. data/app/views/mcms_pages/layouts/_footer.html.erb +16 -0
  101. data/app/views/mcms_pages/layouts/_header.html.erb +16 -0
  102. data/app/views/mcms_pages/layouts/_javascript.html.erb +22 -0
  103. data/app/views/mcms_pages/layouts/_stylesheets.html.erb +23 -0
  104. data/app/views/mcms_pages/layouts/mcms_layout.html.erb +39 -0
  105. data/app/views/mcms_pages/pages/_left_side_body.html.erb +16 -0
  106. data/app/views/mcms_pages/pages/_main_body.html.erb +16 -0
  107. data/app/views/mcms_pages/pages/_menu.html.erb +18 -0
  108. data/app/views/mcms_pages/pages/_menubar.html.erb +24 -0
  109. data/app/views/mcms_pages/pages/_one_column_layout.html.erb +14 -0
  110. data/app/views/mcms_pages/pages/_right_side_body.html.erb +16 -0
  111. data/app/views/mcms_pages/pages/_three_column_layout.html.erb +20 -0
  112. data/app/views/mcms_pages/pages/_two_column_layout.html.erb +27 -0
  113. data/app/views/mcms_pages/pages/home.html.erb +26 -0
  114. data/app/views/mcms_pages/pages/show.html.erb +34 -0
  115. data/config/routes.rb +57 -0
  116. data/db/migrate/20120605100629_create_pages.rb +17 -0
  117. data/db/migrate/20120605100650_create_page_parts.rb +10 -0
  118. data/db/migrate/20120606150655_create_mcms_assets.rb +26 -0
  119. data/db/migrate/20120606150656_add_title_position_to_page_parts.rb +5 -0
  120. data/db/migrate/20120609055514_add_parent_id_to_pages.rb +5 -0
  121. data/db/migrate/20120612054659_add_lft_rgt_to_mcms_pages.rb +6 -0
  122. data/db/migrate/20120614125619_create_layouts.rb +16 -0
  123. data/db/migrate/20120614131633_add_layout_id_to_mcms_pages.rb +5 -0
  124. data/db/migrate/20120614134343_add_foreign_key_to_page.rb +6 -0
  125. data/db/migrate/20120618060815_drop_column_permalink_from_mcms_pages.rb +10 -0
  126. data/db/migrate/20120618102226_add_slug_to_mcms_pages.rb +6 -0
  127. data/db/migrate/20120625063039_create_page_associations.rb +14 -0
  128. data/db/migrate/20120625112225_add_header_footer_to_mcms_layouts.rb +6 -0
  129. data/db/seeds.rb +175 -0
  130. data/lib/generators/mcms_pages/USAGE +8 -0
  131. data/lib/generators/mcms_pages/assets_generator.rb +79 -0
  132. data/lib/generators/mcms_pages/mcms_pages_generator.rb +101 -0
  133. data/lib/generators/mcms_pages/templates/asset_manager.rb +160 -0
  134. data/lib/generators/mcms_pages/templates/ckeditor.rb +18 -0
  135. data/lib/generators/mcms_pages/views_generator.rb +79 -0
  136. data/lib/mcms_pages/engine.rb +13 -0
  137. data/lib/mcms_pages/version.rb +3 -0
  138. data/lib/mcms_pages.rb +7 -0
  139. data/lib/tasks/mcms_pages_tasks.rake +4 -0
  140. data/test/dummy/README.rdoc +261 -0
  141. data/test/dummy/Rakefile +7 -0
  142. data/test/dummy/app/assets/javascripts/application.js +15 -0
  143. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  144. data/test/dummy/app/controllers/application_controller.rb +3 -0
  145. data/test/dummy/app/helpers/application_helper.rb +2 -0
  146. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  147. data/test/dummy/config/application.rb +59 -0
  148. data/test/dummy/config/boot.rb +10 -0
  149. data/test/dummy/config/database.yml +25 -0
  150. data/test/dummy/config/environment.rb +5 -0
  151. data/test/dummy/config/environments/development.rb +37 -0
  152. data/test/dummy/config/environments/production.rb +67 -0
  153. data/test/dummy/config/environments/test.rb +37 -0
  154. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  155. data/test/dummy/config/initializers/inflections.rb +15 -0
  156. data/test/dummy/config/initializers/mime_types.rb +5 -0
  157. data/test/dummy/config/initializers/secret_token.rb +7 -0
  158. data/test/dummy/config/initializers/session_store.rb +8 -0
  159. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  160. data/test/dummy/config/locales/en.yml +5 -0
  161. data/test/dummy/config/routes.rb +58 -0
  162. data/test/dummy/config.ru +4 -0
  163. data/test/dummy/log/development.log +0 -0
  164. data/test/dummy/public/404.html +26 -0
  165. data/test/dummy/public/422.html +26 -0
  166. data/test/dummy/public/500.html +25 -0
  167. data/test/dummy/public/favicon.ico +0 -0
  168. data/test/dummy/script/rails +6 -0
  169. data/test/integration/navigation_test.rb +10 -0
  170. data/test/mcms_pages_test.rb +7 -0
  171. data/test/test_helper.rb +15 -0
  172. 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,10 @@
1
+ class CreatePageParts < ActiveRecord::Migration
2
+ def change
3
+ create_table :mcms_page_parts do |t|
4
+ t.text :body
5
+
6
+ t.timestamps
7
+ end
8
+
9
+ end
10
+ 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,5 @@
1
+ class AddTitlePositionToPageParts < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_page_parts, :title, :string
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddParentIdToPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_pages, :parent_id, :integer
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddLftRgtToMcmsPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_pages, :lft, :integer
4
+ add_column :mcms_pages, :rgt, :integer
5
+ end
6
+ 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,5 @@
1
+ class AddLayoutIdToMcmsPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_pages, :layout_id, :integer
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddForeignKeyToPage < ActiveRecord::Migration
2
+ def change
3
+ add_foreign_key(:mcms_pages, :mcms_pages, :column => 'parent_id', :dependent => :delete)
4
+ add_foreign_key(:mcms_pages, :mcms_layouts, :column => 'layout_id', :dependent => :delete)
5
+ end
6
+ end
@@ -0,0 +1,10 @@
1
+ class DropColumnPermalinkFromMcmsPages < ActiveRecord::Migration
2
+
3
+ def change
4
+
5
+ remove_column :mcms_pages, :permalink
6
+ remove_index :mcms_pages, :link_url
7
+
8
+ end
9
+
10
+ end
@@ -0,0 +1,6 @@
1
+ class AddSlugToMcmsPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_pages, :slug, :string
4
+ add_index :mcms_pages, :slug, :unique => true
5
+ end
6
+ 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
@@ -0,0 +1,6 @@
1
+ class AddHeaderFooterToMcmsLayouts < ActiveRecord::Migration
2
+ def change
3
+ add_column :mcms_layouts, :header, :boolean
4
+ add_column :mcms_layouts, :footer, :boolean
5
+ end
6
+ end