pages_core 3.4.2

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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +29 -0
  3. data/Rakefile +10 -0
  4. data/app/assets/images/pages/admin/description-bg.gif +0 -0
  5. data/app/assets/images/pages/admin/drag-handle.gif +0 -0
  6. data/app/assets/images/pages/admin/drag-icon.png +0 -0
  7. data/app/assets/images/pages/admin/flash-error-bg.gif +0 -0
  8. data/app/assets/images/pages/admin/formelement-bg.gif +0 -0
  9. data/app/assets/images/pages/admin/header-tab-current-bg.gif +0 -0
  10. data/app/assets/images/pages/admin/icon.png +0 -0
  11. data/app/assets/images/pages/admin/image-editor-bg.png +0 -0
  12. data/app/assets/images/pages/admin/list-table-pin-blue.gif +0 -0
  13. data/app/assets/images/pages/admin/list-table-pin-disabled.gif +0 -0
  14. data/app/assets/images/pages/admin/list-table-pin-green.gif +0 -0
  15. data/app/assets/images/pages/admin/list-table-pin-red.gif +0 -0
  16. data/app/assets/images/pages/admin/list-table-pin-yellow.gif +0 -0
  17. data/app/assets/images/pages/admin/list-table-td-bg.gif +0 -0
  18. data/app/assets/images/pages/admin/loading-modal.gif +0 -0
  19. data/app/assets/images/pages/admin/sidebar-bg.gif +0 -0
  20. data/app/assets/images/pages/admin/textarea_controls.gif +0 -0
  21. data/app/assets/images/pages/admin/warning-icon.gif +0 -0
  22. data/app/assets/images/pages/favicon.gif +0 -0
  23. data/app/assets/images/pages/feed-icon-14x14.png +0 -0
  24. data/app/assets/javascripts/pages/admin/controllers/base.js.coffee +4 -0
  25. data/app/assets/javascripts/pages/admin/controllers/pages_controller.js.coffee +139 -0
  26. data/app/assets/javascripts/pages/admin/controllers/users_controller.js.coffee +9 -0
  27. data/app/assets/javascripts/pages/admin/features/content_tabs.js.coffee +47 -0
  28. data/app/assets/javascripts/pages/admin/features/editable_image.js.coffee.erb +122 -0
  29. data/app/assets/javascripts/pages/admin/features/modal.js.coffee +66 -0
  30. data/app/assets/javascripts/pages/admin/features/page_images.js +329 -0
  31. data/app/assets/javascripts/pages/admin/features/rich_text.js.coffee +40 -0
  32. data/app/assets/javascripts/pages/admin/features/tag_editor.js +159 -0
  33. data/app/assets/javascripts/pages/admin/lib/ajax_extensions.js.coffee +17 -0
  34. data/app/assets/javascripts/pages/admin/lib/center_on_screen.js.coffee +21 -0
  35. data/app/assets/javascripts/pages/admin/lib/jrichtextarea.js +57 -0
  36. data/app/assets/javascripts/pages/admin.js.coffee +54 -0
  37. data/app/assets/javascripts/pages/login_form.js.coffee +17 -0
  38. data/app/assets/stylesheets/pages/admin/buttons.css.erb +5 -0
  39. data/app/assets/stylesheets/pages/admin/controllers/artists.css.erb +94 -0
  40. data/app/assets/stylesheets/pages/admin/controllers/files.css.erb +58 -0
  41. data/app/assets/stylesheets/pages/admin/controllers/pages.css.scss.erb +178 -0
  42. data/app/assets/stylesheets/pages/admin/controllers/users.css.erb +3 -0
  43. data/app/assets/stylesheets/pages/admin/editable_image.css.erb +19 -0
  44. data/app/assets/stylesheets/pages/admin/forms.css.scss.erb +73 -0
  45. data/app/assets/stylesheets/pages/admin/header.css.erb +129 -0
  46. data/app/assets/stylesheets/pages/admin/images.css.scss.erb +160 -0
  47. data/app/assets/stylesheets/pages/admin/links.css.erb +34 -0
  48. data/app/assets/stylesheets/pages/admin/list_table.css.erb +56 -0
  49. data/app/assets/stylesheets/pages/admin/login.css.scss.erb +32 -0
  50. data/app/assets/stylesheets/pages/admin/modal.css.erb +14 -0
  51. data/app/assets/stylesheets/pages/admin/pagination.css.scss +22 -0
  52. data/app/assets/stylesheets/pages/admin/print.css.erb +17 -0
  53. data/app/assets/stylesheets/pages/admin/sidebar.css.erb +39 -0
  54. data/app/assets/stylesheets/pages/admin/sortable_images.css.erb +18 -0
  55. data/app/assets/stylesheets/pages/admin/tag_editor.css.scss.erb +48 -0
  56. data/app/assets/stylesheets/pages/admin/textarea.css.erb +55 -0
  57. data/app/assets/stylesheets/pages/admin.css.erb +404 -0
  58. data/app/assets/stylesheets/pages/errors.css +126 -0
  59. data/app/controller_dummies/admin/admin_controller.rb +6 -0
  60. data/app/controller_dummies/application_controller.rb +6 -0
  61. data/app/controller_dummies/frontend_controller.rb +4 -0
  62. data/app/controller_dummies/images_controller.rb +4 -0
  63. data/app/controller_dummies/page_files_controller.rb +4 -0
  64. data/app/controller_dummies/pages_controller.rb +4 -0
  65. data/app/controller_dummies/sitemaps_controller.rb +4 -0
  66. data/app/controllers/admin/categories_controller.rb +57 -0
  67. data/app/controllers/admin/images_controller.rb +48 -0
  68. data/app/controllers/admin/invites_controller.rb +79 -0
  69. data/app/controllers/admin/page_comments_controller.rb +61 -0
  70. data/app/controllers/admin/page_files_controller.rb +81 -0
  71. data/app/controllers/admin/page_images_controller.rb +116 -0
  72. data/app/controllers/admin/pages_controller.rb +179 -0
  73. data/app/controllers/admin/password_resets_controller.rb +83 -0
  74. data/app/controllers/admin/users_controller.rb +102 -0
  75. data/app/controllers/concerns/pages_core/authentication.rb +48 -0
  76. data/app/controllers/concerns/pages_core/domain_based_cache.rb +28 -0
  77. data/app/controllers/concerns/pages_core/exception_handler.rb +114 -0
  78. data/app/controllers/concerns/pages_core/policies_helper.rb +40 -0
  79. data/app/controllers/concerns/pages_core/process_titler.rb +44 -0
  80. data/app/controllers/errors_controller.rb +45 -0
  81. data/app/controllers/pages_core/admin_controller.rb +109 -0
  82. data/app/controllers/pages_core/application_controller.rb +31 -0
  83. data/app/controllers/pages_core/frontend/page_files_controller.rb +42 -0
  84. data/app/controllers/pages_core/frontend/pages_controller.rb +308 -0
  85. data/app/controllers/pages_core/frontend_controller.rb +34 -0
  86. data/app/controllers/pages_core/images_controller.rb +15 -0
  87. data/app/controllers/pages_core/sitemaps_controller.rb +73 -0
  88. data/app/controllers/sessions_controller.rb +38 -0
  89. data/app/formatters/pages_core/html_formatter.rb +86 -0
  90. data/app/helpers/admin/admin_helper.rb +7 -0
  91. data/app/helpers/admin/menu_helper.rb +65 -0
  92. data/app/helpers/admin/pages_helper.rb +74 -0
  93. data/app/helpers/application_helper.rb +5 -0
  94. data/app/helpers/frontend_helper.rb +5 -0
  95. data/app/helpers/pages_core/admin/admin_helper.rb +108 -0
  96. data/app/helpers/pages_core/admin/labelled_field_helper.rb +73 -0
  97. data/app/helpers/pages_core/admin/tag_editor_helper.rb +46 -0
  98. data/app/helpers/pages_core/application_helper.rb +65 -0
  99. data/app/helpers/pages_core/form_builder.rb +187 -0
  100. data/app/helpers/pages_core/frontend_helper.rb +21 -0
  101. data/app/helpers/pages_core/head_tags_helper.rb +270 -0
  102. data/app/helpers/pages_core/images_helper.rb +36 -0
  103. data/app/helpers/pages_core/login_helper.rb +14 -0
  104. data/app/indices/page_file_index.rb +9 -0
  105. data/app/indices/page_index.rb +29 -0
  106. data/app/indices/user_index.rb +11 -0
  107. data/app/jobs/pages_core/autopublish_job.rb +11 -0
  108. data/app/jobs/pages_core/sweep_cache_job.rb +11 -0
  109. data/app/mailers/admin_mailer.rb +46 -0
  110. data/app/models/autopublisher.rb +33 -0
  111. data/app/models/category.rb +23 -0
  112. data/app/models/concerns/pages_core/has_roles.rb +25 -0
  113. data/app/models/concerns/pages_core/humanizable_param.rb +17 -0
  114. data/app/models/concerns/pages_core/page_tree.rb +85 -0
  115. data/app/models/concerns/pages_core/searchable_page.rb +33 -0
  116. data/app/models/concerns/pages_core/sweepable.rb +23 -0
  117. data/app/models/concerns/pages_core/taggable.rb +46 -0
  118. data/app/models/concerns/pages_core/templateable.rb +85 -0
  119. data/app/models/image.rb +23 -0
  120. data/app/models/invite.rb +33 -0
  121. data/app/models/invite_role.rb +11 -0
  122. data/app/models/localization.rb +27 -0
  123. data/app/models/page.rb +281 -0
  124. data/app/models/page_builder.rb +61 -0
  125. data/app/models/page_comment.rb +18 -0
  126. data/app/models/page_file.rb +74 -0
  127. data/app/models/page_image.rb +62 -0
  128. data/app/models/password_reset_token.rb +38 -0
  129. data/app/models/role.rb +51 -0
  130. data/app/models/tag.rb +64 -0
  131. data/app/models/tagging.rb +22 -0
  132. data/app/models/user.rb +131 -0
  133. data/app/policies/invite_policy.rb +29 -0
  134. data/app/policies/page_file_policy.rb +25 -0
  135. data/app/policies/page_image_policy.rb +25 -0
  136. data/app/policies/page_policy.rb +33 -0
  137. data/app/policies/policy.rb +64 -0
  138. data/app/policies/user_policy.rb +49 -0
  139. data/app/serializers/admin/image_serializer.rb +10 -0
  140. data/app/serializers/admin/page_image_serializer.rb +6 -0
  141. data/app/serializers/page_image_serializer.rb +38 -0
  142. data/app/serializers/page_serializer.rb +21 -0
  143. data/app/views/admin/invites/new.html.erb +16 -0
  144. data/app/views/admin/invites/show.html.erb +25 -0
  145. data/app/views/admin/pages/_edit_comments.html.erb +21 -0
  146. data/app/views/admin/pages/_edit_content.html.erb +10 -0
  147. data/app/views/admin/pages/_edit_images.html.erb +84 -0
  148. data/app/views/admin/pages/_edit_metadata.html.erb +24 -0
  149. data/app/views/admin/pages/_edit_options.html.erb +72 -0
  150. data/app/views/admin/pages/_pagelisting.html.erb +63 -0
  151. data/app/views/admin/pages/edit.html.erb +161 -0
  152. data/app/views/admin/pages/index.html.erb +67 -0
  153. data/app/views/admin/pages/new.html.erb +48 -0
  154. data/app/views/admin/pages/news.html.erb +69 -0
  155. data/app/views/admin/password_resets/show.html.erb +24 -0
  156. data/app/views/admin/users/_access_control.html.erb +14 -0
  157. data/app/views/admin/users/_list.html.erb +62 -0
  158. data/app/views/admin/users/_login_form.html.erb +47 -0
  159. data/app/views/admin/users/deactivated.html.erb +12 -0
  160. data/app/views/admin/users/edit.html.erb +54 -0
  161. data/app/views/admin/users/index.html.erb +27 -0
  162. data/app/views/admin/users/login.html.erb +15 -0
  163. data/app/views/admin/users/new.html.erb +23 -0
  164. data/app/views/admin/users/new_password.html.erb +19 -0
  165. data/app/views/admin/users/show.html.erb +64 -0
  166. data/app/views/admin_mailer/comment_notification.text.erb +7 -0
  167. data/app/views/admin_mailer/error_report.html.erb +70 -0
  168. data/app/views/admin_mailer/invite.text.erb +9 -0
  169. data/app/views/admin_mailer/password_reset.text.erb +13 -0
  170. data/app/views/errors/403.html.erb +6 -0
  171. data/app/views/errors/404.html.erb +11 -0
  172. data/app/views/errors/405.html.erb +4 -0
  173. data/app/views/errors/500.html.erb +19 -0
  174. data/app/views/errors/500_critical.html.erb +7 -0
  175. data/app/views/errors/_generic_help.html.erb +21 -0
  176. data/app/views/errors/report.html.erb +4 -0
  177. data/app/views/feeds/pages.rss.builder +39 -0
  178. data/app/views/layouts/admin/_analytics.html.erb +18 -0
  179. data/app/views/layouts/admin/_header.html.erb +37 -0
  180. data/app/views/layouts/admin.html.erb +79 -0
  181. data/app/views/layouts/errors.html.erb +23 -0
  182. data/app/views/sitemaps/show.xml.builder +9 -0
  183. data/config/locales/en.yml +6 -0
  184. data/config/removed_migrations.yml +60 -0
  185. data/config/routes.rb +127 -0
  186. data/db/migrate/20111219033112_create_pages_tables.rb +281 -0
  187. data/db/migrate/20120627033112_rename_textbits.rb +19 -0
  188. data/db/migrate/20121010055412_drop_removed_tables.rb +83 -0
  189. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +11 -0
  190. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +11 -0
  191. data/db/migrate/20130303160632_remove_imagesets.rb +24 -0
  192. data/db/migrate/20130303161732_remove_sms_subscribers.rb +16 -0
  193. data/db/migrate/20130823133208_update_page_redirect_to.rb +25 -0
  194. data/db/migrate/20140203183900_create_roles.rb +63 -0
  195. data/db/migrate/20140414150500_change_locale_names.rb +13 -0
  196. data/db/migrate/20140515130100_remove_sphinx_deltas.rb +15 -0
  197. data/db/migrate/20140604142100_remove_openid_url.rb +9 -0
  198. data/db/migrate/20140920231700_convert_images_to_dis.rb +79 -0
  199. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +50 -0
  200. data/db/migrate/20141004003100_create_password_reset_tokens.rb +10 -0
  201. data/db/migrate/20141006181300_remove_user_cruft.rb +11 -0
  202. data/db/migrate/20141007173000_create_invites.rb +16 -0
  203. data/db/migrate/20150204130800_update_delayed_job_table.rb +9 -0
  204. data/db/migrate/20150401131300_localize_images.rb +39 -0
  205. data/db/migrate/20150520174300_add_meta_image_to_page.rb +5 -0
  206. data/db/migrate/20150904164200_add_pinned_to_tags.rb +5 -0
  207. data/lib/pages_core/admin_menu_item.rb +22 -0
  208. data/lib/pages_core/archive_finder.rb +75 -0
  209. data/lib/pages_core/cache_sweeper.rb +112 -0
  210. data/lib/pages_core/configuration/base.rb +85 -0
  211. data/lib/pages_core/configuration/pages.rb +23 -0
  212. data/lib/pages_core/configuration.rb +9 -0
  213. data/lib/pages_core/engine.rb +27 -0
  214. data/lib/pages_core/extensions/hash_extensions.rb +23 -0
  215. data/lib/pages_core/extensions/string_extensions.rb +17 -0
  216. data/lib/pages_core/extensions.rb +4 -0
  217. data/lib/pages_core/localizable/active_record_extension.rb +41 -0
  218. data/lib/pages_core/localizable/class_methods.rb +51 -0
  219. data/lib/pages_core/localizable/configuration.rb +50 -0
  220. data/lib/pages_core/localizable/instance_methods.rb +130 -0
  221. data/lib/pages_core/localizable/localizer.rb +72 -0
  222. data/lib/pages_core/localizable/scope_extension.rb +22 -0
  223. data/lib/pages_core/localizable.rb +49 -0
  224. data/lib/pages_core/pages_plugin.rb +14 -0
  225. data/lib/pages_core/paginates.rb +102 -0
  226. data/lib/pages_core/plugin.rb +118 -0
  227. data/lib/pages_core/templates/block_configuration.rb +17 -0
  228. data/lib/pages_core/templates/configuration.rb +81 -0
  229. data/lib/pages_core/templates/configuration_handler.rb +62 -0
  230. data/lib/pages_core/templates/configuration_proxy.rb +28 -0
  231. data/lib/pages_core/templates/controller_actions.rb +32 -0
  232. data/lib/pages_core/templates/template_configuration.rb +198 -0
  233. data/lib/pages_core/templates.rb +53 -0
  234. data/lib/pages_core/version.rb +5 -0
  235. data/lib/pages_core.rb +89 -0
  236. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +68 -0
  237. data/lib/rails/generators/pages_core/frontend/templates/application.css.scss.erb +3 -0
  238. data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +16 -0
  239. data/lib/rails/generators/pages_core/frontend/templates/base.css.scss.erb +3 -0
  240. data/lib/rails/generators/pages_core/frontend/templates/breakpoints.css.scss.erb +24 -0
  241. data/lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb +8 -0
  242. data/lib/rails/generators/pages_core/frontend/templates/layout.html.erb +15 -0
  243. data/lib/rails/generators/pages_core/frontend/templates/normalize.css.erb +425 -0
  244. data/lib/rails/generators/pages_core/install/install_generator.rb +135 -0
  245. data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +1 -0
  246. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +11 -0
  247. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +5 -0
  248. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +11 -0
  249. data/lib/rails/generators/pages_core/install/templates/default_page_template.html.erb +5 -0
  250. data/lib/rails/generators/pages_core/install/templates/delayed_job +7 -0
  251. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +3 -0
  252. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +6 -0
  253. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +5 -0
  254. data/lib/rails/generators/pages_core/install/templates/gitignore.erb +25 -0
  255. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +67 -0
  256. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +4 -0
  257. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +45 -0
  258. data/lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml +12 -0
  259. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +34 -0
  260. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +9 -0
  261. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +9 -0
  262. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +51 -0
  263. data/lib/tasks/db.rake +96 -0
  264. data/lib/tasks/pages/assets.rake +65 -0
  265. data/lib/tasks/pages/cache.rake +16 -0
  266. data/lib/tasks/pages/update.rake +19 -0
  267. data/lib/tasks/pages.rake +76 -0
  268. data/template.rb +19 -0
  269. data/vendor/assets/javascripts/jquery.dimscreen.js +77 -0
  270. data/vendor/assets/javascripts/jquery.fieldselection.js +59 -0
  271. metadata +690 -0
@@ -0,0 +1,79 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>
6
+ Pages
7
+ <% if @page_title %>
8
+ : <%= @page_title %>
9
+ <% end %>
10
+ </title>
11
+
12
+ <link rel="shortcut icon"
13
+ href="<%= asset_path 'pages/favicon.gif' %>"
14
+ type="image/gif" />
15
+ <link rel="icon"
16
+ href="<%= asset_path 'pages/favicon.gif' %>"
17
+ type="image/gif" />
18
+
19
+ <%= stylesheet_link_tag "pages/admin" %>
20
+ <%= stylesheet_link_tag "pages/admin/print", media: 'print' %>
21
+
22
+ <% if Dir.glob(Rails.root.join("app/assets/stylesheets/admin.*")).any? %>
23
+ <%= stylesheet_link_tag "admin" %>
24
+ <% end %>
25
+
26
+ <%= javascript_include_tag "pages/admin" %>
27
+ <% if Dir.glob(Rails.root.join("app/assets/javascripts/admin.*")).any? %>
28
+ <%= javascript_include_tag "admin" %>
29
+ <% end %>
30
+
31
+ <%= csrf_meta_tag %>
32
+ </head>
33
+
34
+ <body class="<%= body_classes %>"
35
+ data-controller="<%= controller.class.to_s %>"
36
+ data-action="<%= controller.action_name %>"
37
+ data-locale="<%= @locale %>">
38
+
39
+ <%= render partial: "layouts/admin/header" %>
40
+
41
+ <% if content_for?(:sidebar) %>
42
+ <div id="sidebar">
43
+ <%= content_for(:sidebar) %>
44
+ </div>
45
+ <% end %>
46
+
47
+ <div id="main">
48
+ <% if @page_description || @content_tabs %>
49
+ <div id="page-description"<% if @content_tabs %> class="with_content_tabs"<% end %>>
50
+ <% if @page_description_links -%>
51
+ <div class="links">
52
+ <%= @page_description_links.html_safe %>
53
+ </div>
54
+ <% end %>
55
+ <h3>
56
+ <%= (@page_description || @page_title).html_safe %>
57
+ </h3>
58
+ <% if @content_tabs %>
59
+ <ul id="content-tabs">
60
+ <% @content_tabs.map do |t| %>
61
+ <li id="content-tab-link-<%= t[:key] %>" data-tab-name="<%= t[:key] %>">
62
+ <% if t[:options][:disabled] == true %>
63
+ <%= t[:name] %>
64
+ <% else %>
65
+ <%= link_to(t[:name], anchor: "#{t[:key]}") %>
66
+ <% end %>
67
+ </li>
68
+ <% end %>
69
+ </ul>
70
+ <% end %>
71
+ </div>
72
+ <% end %>
73
+
74
+ <%= yield %>
75
+ </div>
76
+
77
+ <%= render partial: "layouts/admin/analytics" %>
78
+ </body>
79
+ </html>
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
+ <title><%= @page_title || "We're sorry" %></title>
8
+ <%= stylesheet_link_tag "pages/errors" %>
9
+ </head>
10
+ <body>
11
+ <div id="content">
12
+ <% if @page_title -%>
13
+ <h1><%= @page_title %></h1>
14
+ <% end -%>
15
+ <%= yield %>
16
+ <% if @error_id %>
17
+ <p class="error_id">
18
+ Error ID: <%= @error_id %>
19
+ </p>
20
+ <% end %>
21
+ </content>
22
+ </body>
23
+ </html>
@@ -0,0 +1,9 @@
1
+ xml.instruct!
2
+ xml.urlset xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9" do |urlset|
3
+ @entries.each do |entry|
4
+ urlset.url do |url|
5
+ url.loc entry[:loc]
6
+ url.lastmod entry[:lastmod]
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ en:
2
+ activerecord:
3
+ attributes:
4
+ user:
5
+ email: Email address
6
+ image: Profile picture
@@ -0,0 +1,60 @@
1
+ ---
2
+ - "20120823033112_pinned_pages.rb"
3
+ - "20121010055412_drop_newsletter_tables.rb"
4
+ - "20121011014712_drop_feeds.rb"
5
+ - "20121011020112_drop_accounts.rb"
6
+ - "20121011023512_drop_partials.rb"
7
+ - "20090114130552_create_sessions.rb"
8
+ - "20090114130553_add_tag_support.rb"
9
+ - "20090114130554_create_images.rb"
10
+ - "20090114130555_create_imagesets.rb"
11
+ - "20090114130556_create_feeds.rb"
12
+ - "20090114130557_create_users.rb"
13
+ - "20090114130558_create_textbits.rb"
14
+ - "20090114130559_create_pages.rb"
15
+ - "20090114130600_create_binaries.rb"
16
+ - "20090114130602_create_mail_subscribers.rb"
17
+ - "20090114130603_pages_published_at.rb"
18
+ - "20090114130604_create_page_fragments.rb"
19
+ - "20090114130605_add_page_image.rb"
20
+ - "20090114130606_add_sms_flag.rb"
21
+ - "20090114130607_image_binaries.rb"
22
+ - "20090114130608_image_title_to_name.rb"
23
+ - "20090114130609_drop_extra_binary_columns.rb"
24
+ - "20090114130610_update_users.rb"
25
+ - "20090114130611_create_user_logins.rb"
26
+ - "20090114130612_create_mailings.rb"
27
+ - "20090114130614_create_partials.rb"
28
+ - "20090114130615_create_accounts.rb"
29
+ - "20090114130616_add_reviewer_flag.rb"
30
+ - "20090114130617_add_indexes.rb"
31
+ - "20090114130618_update_accounts.rb"
32
+ - "20090114130619_create_page_comments.rb"
33
+ - "20090114130620_add_feed_item_fields.rb"
34
+ - "20090114130621_add_mail_subscriber_group.rb"
35
+ - "20090114130622_add_page_image_link.rb"
36
+ - "20090114130623_create_sms_subscriber.rb"
37
+ - "20090114130624_create_page_files.rb"
38
+ - "20090114130625_mailing_content_type.rb"
39
+ - "20090114130626_create_mailouts.rb"
40
+ - "20090114130627_add_newsletter_image.rb"
41
+ - "20090114130628_drop_cached_dynamic_images.rb"
42
+ - "20090114130629_create_categories.rb"
43
+ - "20090114130630_add_news_flag.rb"
44
+ - "20090211140305_cropped_images.rb"
45
+ - "20090212113806_autopublish_page.rb"
46
+ - "20090427131345_add_sphinx_deltas.rb"
47
+ - "20090515130917_page_unique_name.rb"
48
+ - "20090519161958_open_id_login.rb"
49
+ - "20091118121627_mailing_in_progress.rb"
50
+ - "20100205140826_mailout_recipients.rb"
51
+ - "20100205140827_delayed_jobs.rb"
52
+ - "20100212061701_dynamic_image_binary_objects.rb"
53
+ - "20100427180610_page_comments_counter_cache.rb"
54
+ - "20100428153152_page_has_been_published.rb"
55
+ - "20100802210833_misc_indexes.rb"
56
+ - "20101027020110_remove_user_logins.rb"
57
+ - "20111011182907_dynamic_image_add_original_binary_to_images.rb"
58
+ - "20111103122938_rename_page_images.rb"
59
+ - "20111104195653_remove_autopublish_at.rb"
60
+ - "20111219033112_image_updated_at.rb"
data/config/routes.rb ADDED
@@ -0,0 +1,127 @@
1
+ # encoding: utf-8
2
+
3
+ Rails.application.routes.draw do
4
+ image_resources :images, path: "dynamic_images/:digest(/:size)"
5
+
6
+ # Pages
7
+ scope path: PagesCore.config.pages_path_scope do
8
+ resources :pages, path: ":locale/pages" do
9
+ collection do
10
+ get "search"
11
+ post "search"
12
+ end
13
+ member do
14
+ post "add_comment"
15
+ put "preview"
16
+ end
17
+ resources :files, controller: "page_files"
18
+ end
19
+
20
+ get(
21
+ "/:locale/pages/:id/:page" => "pages#show",
22
+ constraints: { page: /\d+/ }, as: :paginated_page
23
+ )
24
+
25
+ # Redirect hack for backwards compatibility
26
+ get "pages/:locale" => redirect("/%{locale}/pages"), locale: /\w\w\w/
27
+ get "pages/:locale/*glob" => redirect("/%{locale}/pages/%{glob}"),
28
+ locale: /\w\w\w/
29
+
30
+ get "(/:locale)" => "pages#index" if PagesCore.config.pages_path_scope?
31
+ end
32
+
33
+ # Authentication
34
+ resource :session, only: [:create, :destroy]
35
+
36
+ # Sitemap
37
+ resource :sitemap, only: [:show]
38
+
39
+ namespace :admin do
40
+ # Invites
41
+ resources :invites do
42
+ member do
43
+ post :accept
44
+ end
45
+ end
46
+ controller :invites do
47
+ get "/invites/:id/:token" => :show, as: :invite_with_token
48
+ end
49
+
50
+ # Password resets
51
+ resources :password_resets, only: [:create, :show, :update]
52
+ controller :password_resets do
53
+ get "/password_resets/:id/:token" => :show, as: :password_reset_with_token
54
+ end
55
+
56
+ # Images
57
+ resources :images
58
+
59
+ # Users
60
+ resources :users do
61
+ collection do
62
+ get "deactivated"
63
+ get "login"
64
+ end
65
+ member do
66
+ delete "delete_image"
67
+ end
68
+ end
69
+
70
+ # Categories
71
+ resources :categories
72
+
73
+ # Pages
74
+ scope ":locale" do
75
+ resources :pages do
76
+ collection do
77
+ get "news"
78
+ get "new_news" # TODO: Should be refactored
79
+ get "reorder_pages"
80
+ end
81
+
82
+ member do
83
+ delete "delete_meta_image"
84
+ end
85
+
86
+ get "new/:parent", action: "new"
87
+
88
+ # Page Images
89
+ resources :images, controller: "page_images" do
90
+ collection do
91
+ put "reorder"
92
+ end
93
+ end
94
+
95
+ # Page Files
96
+ resources :files, controller: "page_files" do
97
+ collection do
98
+ post "reorder"
99
+ end
100
+ end
101
+
102
+ # Page Files
103
+ resources :comments, controller: "page_comments" do
104
+ end
105
+ end
106
+ end
107
+ end
108
+
109
+ # Default admin route
110
+ get(
111
+ "/admin" => redirect do |_env, _req|
112
+ "/admin/#{I18n.default_locale}/pages/news"
113
+ end,
114
+ as: "admin_default"
115
+ )
116
+ # get '/admin' => 'admin#redirect', as: 'admin_default'
117
+
118
+ # Errors
119
+ resources :errors do
120
+ collection do
121
+ post "report"
122
+ end
123
+ end
124
+
125
+ # Legacy routes
126
+ get "/comments/:action/:type/:id", controller: "comments"
127
+ end
@@ -0,0 +1,281 @@
1
+ # encoding: utf-8
2
+
3
+ class CreatePagesTables < ActiveRecord::Migration
4
+ def change
5
+ create_table "accounts" do |t|
6
+ t.string "name"
7
+ t.string "plan"
8
+ t.string "key"
9
+ t.text "billing_address"
10
+ t.integer "account_holder_id"
11
+ t.datetime "created_at"
12
+ t.datetime "updated_at"
13
+ t.datetime "last_billed_at"
14
+ t.boolean "is_activated", default: true, null: false
15
+ t.string "domain"
16
+ end
17
+
18
+ create_table "binaries" do |t|
19
+ t.string "sha1_hash"
20
+ end
21
+
22
+ create_table "categories" do |t|
23
+ t.string "name"
24
+ t.string "slug"
25
+ t.integer "position"
26
+ t.datetime "created_at", null: false
27
+ t.datetime "updated_at", null: false
28
+ end
29
+
30
+ add_index "categories", ["slug"], name: "index_categories_on_slug"
31
+
32
+ create_table "delayed_jobs" do |t|
33
+ t.integer "priority", default: 0
34
+ t.integer "attempts", default: 0
35
+ t.text "handler"
36
+ t.string "last_error"
37
+ t.datetime "run_at"
38
+ t.datetime "locked_at"
39
+ t.datetime "failed_at"
40
+ t.string "locked_by"
41
+ t.datetime "created_at", null: false
42
+ t.datetime "updated_at", null: false
43
+ end
44
+
45
+ create_table "feed_items" do |t|
46
+ t.integer "feed_id"
47
+ t.string "guid"
48
+ t.string "title"
49
+ t.string "link"
50
+ t.text "description"
51
+ t.datetime "pubdate"
52
+ t.string "author"
53
+ end
54
+
55
+ add_index "feed_items", ["feed_id"], name: "index_feed_items_on_feed_id"
56
+
57
+ create_table "feeds" do |t|
58
+ t.string "url"
59
+ t.string "link"
60
+ t.string "title"
61
+ t.text "description"
62
+ t.datetime "refreshed_at"
63
+ end
64
+
65
+ add_index "feeds", ["url"], name: "index_feeds_on_url"
66
+
67
+ create_table "images" do |t|
68
+ t.string "name"
69
+ t.string "byline"
70
+ t.text "description"
71
+ t.string "filename"
72
+ t.string "content_type"
73
+ t.integer "folder"
74
+ t.integer "user_id"
75
+ t.datetime "created_at"
76
+ t.text "filters"
77
+ t.string "original_size"
78
+ t.string "hotspot"
79
+ t.integer "binary_id"
80
+ t.string "url"
81
+ t.boolean "cropped", default: false, null: false
82
+ t.string "crop_start"
83
+ t.string "crop_size"
84
+ t.integer "original_binary_id"
85
+ t.datetime "updated_at"
86
+ end
87
+
88
+ create_table "images_imagesets" do |t|
89
+ t.integer "relation_id"
90
+ t.integer "imageset_id"
91
+ t.integer "image_id"
92
+ t.integer "position"
93
+ end
94
+
95
+ create_table "imagesets" do |t|
96
+ t.string "name"
97
+ t.text "description"
98
+ t.datetime "created_at"
99
+ t.integer "user_id"
100
+ end
101
+
102
+ create_table "mail_subscribers" do |t|
103
+ t.string "email"
104
+ t.datetime "created_at"
105
+ t.string "group", default: "Default"
106
+ end
107
+
108
+ create_table "mailings" do |t|
109
+ t.string "recipients"
110
+ t.string "sender"
111
+ t.string "subject"
112
+ t.text "body"
113
+ t.datetime "created_at"
114
+ t.boolean "failed", default: false
115
+ t.string "content_type"
116
+ t.boolean "in_progress", default: false, null: false
117
+ end
118
+
119
+ create_table "mailouts" do |t|
120
+ t.string "subject"
121
+ t.string "sender"
122
+ t.string "template"
123
+ t.text "body"
124
+ t.datetime "created_at"
125
+ t.datetime "updated_at"
126
+ t.integer "image_id"
127
+ t.text "groups"
128
+ t.string "host"
129
+ end
130
+
131
+ create_table "page_comments" do |t|
132
+ t.integer "page_id"
133
+ t.string "remote_ip"
134
+ t.string "name"
135
+ t.string "email"
136
+ t.string "url"
137
+ t.text "body"
138
+ t.datetime "created_at"
139
+ t.datetime "updated_at"
140
+ end
141
+
142
+ create_table "page_files" do |t|
143
+ t.integer "page_id"
144
+ t.integer "position"
145
+ t.string "name"
146
+ t.string "filename"
147
+ t.string "content_type"
148
+ t.integer "filesize"
149
+ t.integer "binary_id"
150
+ t.datetime "created_at"
151
+ t.datetime "updated_at"
152
+ end
153
+
154
+ create_table "page_images" do |t|
155
+ t.integer "page_id"
156
+ t.integer "image_id"
157
+ t.integer "position"
158
+ t.boolean "primary", default: false, null: false
159
+ end
160
+
161
+ add_index "page_images", %w(page_id primary), name: "index_page_images_on_page_id_and_primary"
162
+ add_index "page_images", ["page_id"], name: "index_page_images_on_page_id"
163
+
164
+ create_table "pages" do |t|
165
+ t.integer "parent_page_id"
166
+ t.integer "position"
167
+ t.string "byline"
168
+ t.string "template"
169
+ t.datetime "created_at"
170
+ t.datetime "updated_at"
171
+ t.integer "user_id"
172
+ t.integer "status", default: 0, null: false
173
+ t.string "content_order"
174
+ t.boolean "feed_enabled", default: false, null: false
175
+ t.datetime "published_at"
176
+ t.text "redirect_to"
177
+ t.integer "image_id"
178
+ t.boolean "comments_allowed", default: true, null: false
179
+ t.string "image_link"
180
+ t.boolean "news_page", default: false, null: false
181
+ t.boolean "autopublish", default: false, null: false
182
+ t.boolean "delta", default: false, null: false
183
+ t.string "unique_name"
184
+ t.integer "comments_count", default: 0, null: false
185
+ t.datetime "last_comment_at"
186
+ t.boolean "pinned", default: false, null: false
187
+ end
188
+
189
+ add_index "pages", ["delta"], name: "delta_index"
190
+ add_index "pages", ["parent_page_id"], name: "index_pages_on_parent_page_id"
191
+ add_index "pages", ["position"], name: "index_pages_on_position"
192
+ add_index "pages", %w(status parent_page_id position), name: "for_find_page"
193
+ add_index "pages", ["status"], name: "index_pages_on_status"
194
+ add_index "pages", ["user_id"], name: "index_pages_on_user_id"
195
+
196
+ create_table "pages_categories", id: false do |t|
197
+ t.integer "page_id"
198
+ t.integer "category_id"
199
+ end
200
+
201
+ add_index "pages_categories", ["category_id"], name: "index_pages_categories_on_category_id"
202
+ add_index "pages_categories", ["page_id"], name: "index_pages_categories_on_page_id"
203
+
204
+ create_table "partials" do |t|
205
+ t.string "name"
206
+ t.datetime "created_at"
207
+ t.datetime "updated_at"
208
+ end
209
+
210
+ create_table "sessions" do |t|
211
+ t.string "session_id"
212
+ t.text "data"
213
+ t.datetime "updated_at"
214
+ end
215
+
216
+ add_index "sessions", ["session_id"], name: "index_sessions_on_session_id"
217
+ add_index "sessions", ["updated_at"], name: "index_sessions_on_updated_at"
218
+
219
+ create_table "sms_subscribers" do |t|
220
+ t.string "msisdn"
221
+ t.string "group", default: "Default"
222
+ t.datetime "created_at"
223
+ t.datetime "updated_at"
224
+ end
225
+
226
+ create_table "taggings" do |t|
227
+ t.integer "tag_id"
228
+ t.integer "taggable_id"
229
+ t.string "taggable_type"
230
+ end
231
+
232
+ add_index "taggings", ["tag_id"], name: "by_tag_id"
233
+ add_index "taggings", %w(taggable_type taggable_id), name: "by_taggable"
234
+
235
+ create_table "tags" do |t|
236
+ t.string "name"
237
+ end
238
+
239
+ add_index "tags", ["name"], name: "index_tags_on_name"
240
+
241
+ create_table "textbits" do |t|
242
+ t.integer "textable_id"
243
+ t.string "textable_type"
244
+ t.string "name"
245
+ t.string "language"
246
+ t.string "filter"
247
+ t.text "body"
248
+ t.datetime "created_at"
249
+ t.datetime "updated_at"
250
+ end
251
+
252
+ add_index "textbits", %w(textable_id textable_type name language), name: "by_foreign_key", unique: true
253
+ add_index "textbits", %w(textable_id textable_type), name: "by_association"
254
+
255
+ create_table "users" do |t|
256
+ t.string "username"
257
+ t.string "hashed_password"
258
+ t.string "realname"
259
+ t.string "email"
260
+ t.datetime "last_login_at"
261
+ t.integer "created_by"
262
+ t.datetime "created_at"
263
+ t.boolean "is_admin"
264
+ t.text "persistent_data"
265
+ t.boolean "sms_sender"
266
+ t.boolean "is_activated", default: false, null: false
267
+ t.boolean "is_deleted", default: false, null: false
268
+ t.string "token"
269
+ t.date "born_on"
270
+ t.string "mobile"
271
+ t.string "web_link"
272
+ t.integer "image_id"
273
+ t.boolean "is_reviewer", default: false, null: false
274
+ t.boolean "is_super_admin", default: false, null: false
275
+ t.boolean "delta", default: false, null: false
276
+ t.string "openid_url"
277
+ end
278
+
279
+ add_index "users", ["delta"], name: "delta_index"
280
+ end
281
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ class RenameTextbits < ActiveRecord::Migration
4
+ def self.up
5
+ rename_table :textbits, :localizations
6
+ rename_column :localizations, :language, :locale
7
+ rename_column :localizations, :textable_id, :localizable_id
8
+ rename_column :localizations, :textable_type, :localizable_type
9
+ rename_column :localizations, :body, :value
10
+ end
11
+
12
+ def self.down
13
+ rename_table :localizations, :textbits
14
+ rename_column :textbits, :locale, :language
15
+ rename_column :textbits, :localizable_id, :textable_id
16
+ rename_column :textbits, :localizable_type, :textable_type
17
+ rename_column :textbits, :value, :body
18
+ end
19
+ end
@@ -0,0 +1,83 @@
1
+ # encoding: utf-8
2
+
3
+ class DropRemovedTables < ActiveRecord::Migration
4
+ def self.up
5
+ drop_table :mail_subscribers
6
+ drop_table :mailouts
7
+ drop_table :mailings
8
+ drop_table :feeds
9
+ drop_table :feed_items
10
+ drop_table :accounts
11
+ drop_table :partials
12
+ end
13
+
14
+ def self.down
15
+ create_table :mail_subscribers do |t|
16
+ t.string :email
17
+ t.datetime :created_at
18
+ t.string :group, default: "Default"
19
+ end
20
+
21
+ create_table :mailings do |t|
22
+ t.string :recipients
23
+ t.string :sender
24
+ t.string :subject
25
+ t.text :body
26
+ t.datetime :created_at
27
+ t.boolean :failed, default: false
28
+ t.string :content_type
29
+ t.boolean :in_progress, default: false, null: false
30
+ end
31
+
32
+ create_table :mailouts do |t|
33
+ t.string :subject
34
+ t.string :sender
35
+ t.string :template
36
+ t.text :body
37
+ t.datetime :created_at
38
+ t.datetime :updated_at
39
+ t.integer :image_id
40
+ t.text :groups
41
+ t.string :host
42
+ end
43
+
44
+ create_table :feed_items do |t|
45
+ t.integer :feed_id
46
+ t.string :guid
47
+ t.string :title
48
+ t.string :link
49
+ t.text :description
50
+ t.datetime :pubdate
51
+ t.string :author
52
+ end
53
+ add_index :feed_items, [:feed_id], name: :index_feed_items_on_feed_id
54
+
55
+ create_table :feeds do |t|
56
+ t.string :url
57
+ t.string :link
58
+ t.string :title
59
+ t.text :description
60
+ t.datetime :refreshed_at
61
+ end
62
+ add_index :feeds, [:url], name: :index_feeds_on_url
63
+
64
+ create_table :accounts do |t|
65
+ t.string :name
66
+ t.string :plan
67
+ t.string :key
68
+ t.text :billing_address
69
+ t.integer :account_holder_id
70
+ t.datetime :created_at
71
+ t.datetime :updated_at
72
+ t.datetime :last_billed_at
73
+ t.boolean :is_activated, default: true, null: false
74
+ t.string :domain
75
+ end
76
+
77
+ create_table :partials do |t|
78
+ t.string :name
79
+ t.datetime :created_at
80
+ t.datetime :updated_at
81
+ end
82
+ end
83
+ end