pages_core 3.6.2 → 3.7.0

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/Rakefile +3 -1
  4. data/app/assets/javascripts/pages/admin/components/grid_image.jsx +1 -1
  5. data/app/assets/javascripts/pages/admin/components/image_editor.jsx +5 -5
  6. data/app/assets/javascripts/pages/admin/components/image_grid.jsx +10 -5
  7. data/app/assets/javascripts/pages/admin/components/image_uploader.jsx +10 -5
  8. data/app/assets/javascripts/pages/admin/components/page_tree.jsx +9 -9
  9. data/app/assets/javascripts/pages/admin/components/page_tree_node.jsx +11 -11
  10. data/app/assets/javascripts/pages/admin/components/rich_text_area.jsx +5 -4
  11. data/app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx +54 -21
  12. data/app/assets/javascripts/pages/admin/components/toast.jsx +0 -3
  13. data/app/assets/javascripts/pages/admin/components/toast_store.jsx +1 -1
  14. data/app/assets/javascripts/pages/admin/features/edit_page.jsx +3 -3
  15. data/app/assets/javascripts/pages/admin/features/rich_text.jsx +1 -1
  16. data/app/assets/javascripts/pages/admin/features/tag_editor.jsx +28 -28
  17. data/app/assets/javascripts/pages/admin/lib/tree.jsx +9 -9
  18. data/app/assets/javascripts/pages/login_form.jsx +8 -8
  19. data/app/assets/stylesheets/pages/admin/components/forms.scss +20 -0
  20. data/app/assets/stylesheets/pages/errors.css +2 -0
  21. data/app/controller_dummies/admin/admin_controller.rb +2 -0
  22. data/app/controller_dummies/application_controller.rb +2 -0
  23. data/app/controller_dummies/attachments_controller.rb +2 -0
  24. data/app/controller_dummies/frontend_controller.rb +2 -0
  25. data/app/controller_dummies/images_controller.rb +2 -0
  26. data/app/controller_dummies/page_files_controller.rb +2 -0
  27. data/app/controller_dummies/pages_controller.rb +2 -0
  28. data/app/controller_dummies/sitemaps_controller.rb +2 -0
  29. data/app/controllers/admin/attachments_controller.rb +4 -2
  30. data/app/controllers/admin/categories_controller.rb +2 -0
  31. data/app/controllers/admin/images_controller.rb +10 -5
  32. data/app/controllers/admin/invites_controller.rb +4 -1
  33. data/app/controllers/admin/pages_controller.rb +7 -19
  34. data/app/controllers/admin/password_resets_controller.rb +9 -5
  35. data/app/controllers/admin/users_controller.rb +10 -4
  36. data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +13 -11
  37. data/app/controllers/concerns/pages_core/admin/persistent_params.rb +75 -0
  38. data/app/controllers/concerns/pages_core/authentication.rb +4 -1
  39. data/app/controllers/concerns/pages_core/error_renderer.rb +3 -0
  40. data/app/controllers/concerns/pages_core/error_reporting.rb +36 -0
  41. data/app/controllers/concerns/pages_core/policies_helper.rb +4 -1
  42. data/app/controllers/concerns/pages_core/preview_pages_controller.rb +3 -0
  43. data/app/controllers/concerns/pages_core/process_titler.rb +2 -0
  44. data/app/controllers/concerns/pages_core/rss_controller.rb +2 -0
  45. data/app/controllers/concerns/pages_core/static_cache_controller.rb +48 -0
  46. data/app/controllers/errors_controller.rb +5 -53
  47. data/app/controllers/pages_core/admin_controller.rb +7 -67
  48. data/app/controllers/pages_core/attachments_controller.rb +10 -6
  49. data/app/controllers/pages_core/base_controller.rb +11 -17
  50. data/app/controllers/pages_core/frontend/page_files_controller.rb +6 -2
  51. data/app/controllers/pages_core/frontend/pages_controller.rb +9 -15
  52. data/app/controllers/pages_core/frontend_controller.rb +3 -0
  53. data/app/controllers/pages_core/images_controller.rb +3 -1
  54. data/app/controllers/pages_core/sitemaps_controller.rb +11 -5
  55. data/app/controllers/sessions_controller.rb +2 -0
  56. data/app/formatters/pages_core/html_formatter.rb +13 -63
  57. data/app/formatters/pages_core/image_embedder.rb +79 -0
  58. data/app/formatters/pages_core/link_renderer.rb +2 -0
  59. data/app/helpers/admin/admin_helper.rb +2 -0
  60. data/app/helpers/admin/menu_helper.rb +6 -4
  61. data/app/helpers/admin/pages_helper.rb +4 -57
  62. data/app/helpers/application_helper.rb +2 -0
  63. data/app/helpers/frontend_helper.rb +2 -0
  64. data/app/helpers/pages_core/admin/admin_helper.rb +22 -106
  65. data/app/helpers/pages_core/admin/content_tabs_helper.rb +28 -0
  66. data/app/helpers/pages_core/admin/date_range_helper.rb +55 -0
  67. data/app/helpers/pages_core/admin/form_builder.rb +8 -0
  68. data/app/helpers/pages_core/admin/image_uploads_helper.rb +48 -0
  69. data/app/helpers/pages_core/admin/labelled_field_helper.rb +12 -9
  70. data/app/helpers/pages_core/admin/page_blocks_helper.rb +66 -0
  71. data/app/helpers/pages_core/admin/page_json_helper.rb +23 -0
  72. data/app/helpers/pages_core/admin/tag_editor_helper.rb +11 -9
  73. data/app/helpers/pages_core/application_helper.rb +3 -0
  74. data/app/helpers/pages_core/attachments_helper.rb +31 -27
  75. data/app/helpers/pages_core/form_builder.rb +17 -13
  76. data/app/helpers/pages_core/frontend_helper.rb +3 -3
  77. data/app/helpers/pages_core/head_tags_helper.rb +7 -2
  78. data/app/helpers/pages_core/images_helper.rb +3 -0
  79. data/app/helpers/pages_core/meta_tags_helper.rb +3 -1
  80. data/app/helpers/pages_core/open_graph_tags_helper.rb +7 -5
  81. data/app/helpers/pages_core/page_path_helper.rb +24 -3
  82. data/app/jobs/pages_core/autopublish_job.rb +3 -1
  83. data/app/jobs/pages_core/sweep_cache_job.rb +4 -2
  84. data/app/mailers/admin_mailer.rb +4 -14
  85. data/app/models/attachment.rb +10 -8
  86. data/app/models/autopublisher.rb +3 -0
  87. data/app/models/category.rb +3 -1
  88. data/app/models/concerns/pages_core/has_roles.rb +2 -0
  89. data/app/models/concerns/pages_core/humanizable_param.rb +9 -6
  90. data/app/models/concerns/pages_core/page_model/attachments.rb +2 -0
  91. data/app/models/concerns/pages_core/page_model/autopublishable.rb +2 -0
  92. data/app/models/concerns/pages_core/page_model/dated_page.rb +11 -11
  93. data/app/models/concerns/pages_core/page_model/images.rb +5 -1
  94. data/app/models/concerns/pages_core/page_model/localizable.rb +2 -0
  95. data/app/models/concerns/pages_core/page_model/pathable.rb +26 -25
  96. data/app/models/concerns/pages_core/page_model/redirectable.rb +3 -1
  97. data/app/models/concerns/pages_core/page_model/sortable.rb +6 -5
  98. data/app/models/concerns/pages_core/page_model/status.rb +2 -0
  99. data/app/models/concerns/pages_core/page_model/templateable.rb +7 -2
  100. data/app/models/concerns/pages_core/page_model/tree.rb +27 -20
  101. data/app/models/concerns/pages_core/sweepable.rb +4 -2
  102. data/app/models/concerns/pages_core/taggable.rb +8 -2
  103. data/app/models/image.rb +14 -1
  104. data/app/models/invite.rb +3 -1
  105. data/app/models/invite_role.rb +5 -3
  106. data/app/models/page.rb +4 -3
  107. data/app/models/page_builder.rb +2 -0
  108. data/app/models/page_category.rb +3 -1
  109. data/app/models/page_exporter.rb +22 -9
  110. data/app/models/page_file.rb +3 -1
  111. data/app/models/page_image.rb +3 -1
  112. data/app/models/page_path.rb +13 -5
  113. data/app/models/password_reset_token.rb +3 -1
  114. data/app/models/role.rb +8 -5
  115. data/app/models/tag.rb +8 -6
  116. data/app/models/tagging.rb +4 -2
  117. data/app/models/user.rb +7 -4
  118. data/app/policies/invite_policy.rb +2 -0
  119. data/app/policies/page_file_policy.rb +2 -0
  120. data/app/policies/page_image_policy.rb +2 -0
  121. data/app/policies/page_policy.rb +2 -0
  122. data/app/policies/policy.rb +2 -0
  123. data/app/policies/user_policy.rb +2 -0
  124. data/app/serializers/admin/attachment_serializer.rb +4 -2
  125. data/app/serializers/admin/image_serializer.rb +4 -2
  126. data/app/serializers/admin/page_file_serializer.rb +2 -0
  127. data/app/serializers/admin/page_image_serializer.rb +2 -0
  128. data/app/serializers/page_export_serializer.rb +2 -0
  129. data/app/serializers/page_file_export_serializer.rb +2 -0
  130. data/app/serializers/page_image_export_serializer.rb +2 -0
  131. data/app/serializers/page_image_serializer.rb +2 -0
  132. data/app/serializers/page_serializer.rb +2 -0
  133. data/app/services/pages_core/create_user_service.rb +5 -2
  134. data/app/services/pages_core/destroy_invite_service.rb +25 -0
  135. data/app/services/pages_core/invite_service.rb +2 -0
  136. data/app/views/admin/images/show.json.jbuilder +2 -0
  137. data/app/views/admin/pages/news.html.erb +1 -1
  138. data/app/views/errors/500.html.erb +2 -20
  139. data/app/views/errors/_generic_help.html.erb +1 -1
  140. data/app/views/feeds/pages.rss.builder +2 -0
  141. data/app/views/sitemaps/show.xml.builder +2 -0
  142. data/config/routes.rb +5 -5
  143. data/db/migrate/20111219033112_create_pages_tables.rb +192 -271
  144. data/lib/pages_core.rb +10 -0
  145. data/lib/pages_core/admin_menu_item.rb +3 -0
  146. data/lib/pages_core/archive_finder.rb +12 -16
  147. data/lib/pages_core/attachment_embedder.rb +4 -6
  148. data/lib/pages_core/cache_sweeper.rb +10 -108
  149. data/lib/pages_core/configuration.rb +2 -0
  150. data/lib/pages_core/configuration/base.rb +5 -0
  151. data/lib/pages_core/configuration/pages.rb +4 -2
  152. data/lib/pages_core/digest_verifier.rb +5 -5
  153. data/lib/pages_core/engine.rb +52 -0
  154. data/lib/pages_core/extensions.rb +2 -0
  155. data/lib/pages_core/extensions/string_extensions.rb +3 -1
  156. data/lib/pages_core/page_path_constraint.rb +2 -0
  157. data/lib/pages_core/pages_plugin.rb +3 -1
  158. data/lib/pages_core/plugin.rb +4 -52
  159. data/lib/pages_core/pub_sub.rb +2 -0
  160. data/lib/pages_core/static_cache.rb +26 -0
  161. data/lib/pages_core/static_cache/null_handler.rb +17 -0
  162. data/lib/pages_core/static_cache/page_cache_handler.rb +56 -0
  163. data/lib/pages_core/static_cache/varnish_handler.rb +55 -0
  164. data/lib/pages_core/templates.rb +5 -3
  165. data/lib/pages_core/templates/block_configuration.rb +3 -0
  166. data/lib/pages_core/templates/configuration.rb +5 -1
  167. data/lib/pages_core/templates/configuration_handler.rb +4 -2
  168. data/lib/pages_core/templates/configuration_proxy.rb +2 -0
  169. data/lib/pages_core/templates/controller_actions.rb +2 -0
  170. data/lib/pages_core/templates/template_configuration.rb +18 -13
  171. data/lib/pages_core/version.rb +3 -1
  172. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +2 -0
  173. data/lib/rails/generators/pages_core/install/install_generator.rb +3 -7
  174. data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +2 -0
  175. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +2 -0
  176. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +2 -0
  177. data/lib/rails/generators/pages_core/install/templates/delayed_job +1 -0
  178. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +17 -0
  179. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +2 -0
  180. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +2 -0
  181. data/lib/rails/generators/pages_core/install/templates/gitignore.erb +12 -1
  182. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +2 -0
  183. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +2 -0
  184. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +2 -6
  185. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +18 -14
  186. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +3 -8
  187. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +2 -0
  188. data/lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb +26 -0
  189. data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +91 -0
  190. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +89 -36
  191. data/lib/tasks/pages.rake +3 -2
  192. data/lib/tasks/pages/cache.rake +8 -5
  193. data/lib/tasks/pages/export.rake +3 -1
  194. data/lib/tasks/pages/page_paths.rake +2 -0
  195. data/template.rb +2 -0
  196. metadata +127 -77
  197. data/app/controllers/concerns/pages_core/domain_based_cache.rb +0 -26
  198. data/app/views/admin_mailer/error_report.html.erb +0 -70
  199. data/app/views/errors/500_critical.html.erb +0 -7
  200. data/app/views/errors/report.html.erb +0 -4
  201. data/config/removed_migrations.yml +0 -60
  202. data/db/migrate/20120627033112_rename_textbits.rb +0 -17
  203. data/db/migrate/20121010055412_drop_removed_tables.rb +0 -81
  204. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +0 -9
  205. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +0 -9
  206. data/db/migrate/20130303160632_remove_imagesets.rb +0 -22
  207. data/db/migrate/20130303161732_remove_sms_subscribers.rb +0 -14
  208. data/db/migrate/20130823133208_update_page_redirect_to.rb +0 -10
  209. data/db/migrate/20140203183900_create_roles.rb +0 -66
  210. data/db/migrate/20140414150500_change_locale_names.rb +0 -11
  211. data/db/migrate/20140604142100_remove_openid_url.rb +0 -9
  212. data/db/migrate/20140920231700_convert_images_to_dis.rb +0 -81
  213. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +0 -50
  214. data/db/migrate/20141004003100_create_password_reset_tokens.rb +0 -10
  215. data/db/migrate/20141006181300_remove_user_cruft.rb +0 -11
  216. data/db/migrate/20141007173000_create_invites.rb +0 -16
  217. data/db/migrate/20150204130800_update_delayed_job_table.rb +0 -9
  218. data/db/migrate/20150401131300_localize_images.rb +0 -38
  219. data/db/migrate/20150520174300_add_meta_image_to_page.rb +0 -5
  220. data/db/migrate/20150904164200_add_pinned_to_tags.rb +0 -5
  221. data/db/migrate/20151002174800_create_page_paths.rb +0 -10
  222. data/db/migrate/20151021103400_drop_binaries_table.rb +0 -7
  223. data/db/migrate/20151204151000_remove_page_content_order.rb +0 -5
  224. data/db/migrate/20160330220900_rename_pages_categories.rb +0 -6
  225. data/db/migrate/20160405202700_change_localization_limit.rb +0 -9
  226. data/db/migrate/20170716040500_remove_page_comments.rb +0 -23
  227. data/db/migrate/20170716213400_remove_sessions.rb +0 -15
  228. data/db/migrate/20180207134000_add_dates_to_pages.rb +0 -11
  229. data/db/migrate/20190211154800_create_attachments.rb +0 -73
  230. data/db/migrate/20190318115000_fix_page_file_ids.rb +0 -34
  231. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +0 -6
  232. data/lib/tasks/pages/update.rake +0 -17
@@ -1,26 +0,0 @@
1
- module PagesCore
2
- module DomainBasedCache
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- before_action :set_domain_based_cache_path
7
- end
8
-
9
- module ClassMethods
10
- def default_page_cache_directory
11
- @default_page_cache_directory ||=
12
- ActionController::Base.page_cache_directory
13
- end
14
- end
15
-
16
- protected
17
-
18
- def set_domain_based_cache_path
19
- return unless PagesCore.config(:domain_based_cache)
20
- ActionController::Base.page_cache_directory = File.join(
21
- ApplicationController.default_page_cache_directory,
22
- request.domain
23
- )
24
- end
25
- end
26
- end
@@ -1,70 +0,0 @@
1
- <style type="text/css">
2
- h3 {
3
- margin-top: 20px;
4
- margin-bottom: 10px;
5
- font-size: 18px;
6
- }
7
- pre {
8
- background: #eee;
9
- border: 1px solid #ccc;
10
- padding: 8px;
11
- background: #f8f8f8;
12
- }
13
- table {
14
- border-collapse: collapse;
15
- }
16
- td {
17
- border: 1px solid #ccc;
18
- padding: 4px 20px 4px 8px;
19
- }
20
- </style>
21
-
22
- <table>
23
- <tr>
24
- <td><strong>Requested URL</strong></td>
25
- <td><a href="<%= @error_report[:url] %>"><%= @error_report[:url] %></td>
26
- </tr>
27
- <tr>
28
- <td><strong>Timestamp</strong></td>
29
- <td><%= @error_report[:timestamp].to_s %></a></td>
30
- </tr>
31
- <tr>
32
- <td><strong>Reported by</strong></td>
33
- <td><a href="mailto:<%= @from %>"><%= @from %></a></td>
34
- </tr>
35
- <% if @error_report[:user] %>
36
- <tr>
37
- <td><strong>User account</strong></td>
38
- <td>#<%= @error_report[:user].id %>: <a href="mailto:<%= @error_report[:user].email %>"><%= @error_report[:user].email %></a></td>
39
- </tr>
40
- <% end %>
41
- </table>
42
-
43
- <h3>Message</h3>
44
- <pre><%= @error_report[:message].gsub('<', '&lt;').gsub('>', '&gt;') %></pre>
45
-
46
- <% if @description && !@description.empty? %>
47
- <h3>Description of error</h3>
48
- <pre><%= @description %></pre>
49
- <% end %>
50
-
51
- <h3>Params</h3>
52
- <pre><%= @error_report[:params].to_yaml %></pre>
53
-
54
- <% if @error_report[:session] %>
55
- <h3>Session data</h3>
56
- <pre><%= @error_report[:session].to_yaml %></pre>
57
- <% end %>
58
-
59
- <h3>Backtrace</h3>
60
- <pre><%= @error_report[:backtrace].join("\n") %></pre>
61
-
62
- <h3>Environment</h3>
63
- <table>
64
- <% @error_report[:env].each do |key,value| %>
65
- <tr>
66
- <td><strong><%= key %></strong></td>
67
- <td><%= (key == 'HTTP_COOKIE' ) ? value.split(/;[\s]*/).reject{|c| c =~ /^[\w\d]+_session=/}.join('<br />') : value %></td>
68
- </tr>
69
- <% end %>
70
- </table>
@@ -1,7 +0,0 @@
1
- <%
2
- @page_title = "Oh dear..."
3
- %>
4
- <p>
5
- Something went terribly wrong. Of course, this shouldn't happen, and we'd really appreciate it if you
6
- could notify us at <a href="mailto:support@anyone.no">support@anyone.no</a>.
7
- </p>
@@ -1,4 +0,0 @@
1
- <% @page_title = "Thank you!" %>
2
- <p>
3
- Your error report has been received.
4
- </p>
@@ -1,60 +0,0 @@
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"
@@ -1,17 +0,0 @@
1
- class RenameTextbits < ActiveRecord::Migration[4.2]
2
- def self.up
3
- rename_table :textbits, :localizations
4
- rename_column :localizations, :language, :locale
5
- rename_column :localizations, :textable_id, :localizable_id
6
- rename_column :localizations, :textable_type, :localizable_type
7
- rename_column :localizations, :body, :value
8
- end
9
-
10
- def self.down
11
- rename_table :localizations, :textbits
12
- rename_column :textbits, :locale, :language
13
- rename_column :textbits, :localizable_id, :textable_id
14
- rename_column :textbits, :localizable_type, :textable_type
15
- rename_column :textbits, :value, :body
16
- end
17
- end
@@ -1,81 +0,0 @@
1
- class DropRemovedTables < ActiveRecord::Migration[4.2]
2
- def self.up
3
- drop_table :mail_subscribers
4
- drop_table :mailouts
5
- drop_table :mailings
6
- drop_table :feeds
7
- drop_table :feed_items
8
- drop_table :accounts
9
- drop_table :partials
10
- end
11
-
12
- def self.down
13
- create_table :mail_subscribers do |t|
14
- t.string :email
15
- t.datetime :created_at
16
- t.string :group, default: "Default"
17
- end
18
-
19
- create_table :mailings do |t|
20
- t.string :recipients
21
- t.string :sender
22
- t.string :subject
23
- t.text :body
24
- t.datetime :created_at
25
- t.boolean :failed, default: false
26
- t.string :content_type
27
- t.boolean :in_progress, default: false, null: false
28
- end
29
-
30
- create_table :mailouts do |t|
31
- t.string :subject
32
- t.string :sender
33
- t.string :template
34
- t.text :body
35
- t.datetime :created_at
36
- t.datetime :updated_at
37
- t.integer :image_id
38
- t.text :groups
39
- t.string :host
40
- end
41
-
42
- create_table :feed_items do |t|
43
- t.integer :feed_id
44
- t.string :guid
45
- t.string :title
46
- t.string :link
47
- t.text :description
48
- t.datetime :pubdate
49
- t.string :author
50
- end
51
- add_index :feed_items, [:feed_id], name: :index_feed_items_on_feed_id
52
-
53
- create_table :feeds do |t|
54
- t.string :url
55
- t.string :link
56
- t.string :title
57
- t.text :description
58
- t.datetime :refreshed_at
59
- end
60
- add_index :feeds, [:url], name: :index_feeds_on_url
61
-
62
- create_table :accounts do |t|
63
- t.string :name
64
- t.string :plan
65
- t.string :key
66
- t.text :billing_address
67
- t.integer :account_holder_id
68
- t.datetime :created_at
69
- t.datetime :updated_at
70
- t.datetime :last_billed_at
71
- t.boolean :is_activated, default: true, null: false
72
- t.string :domain
73
- end
74
-
75
- create_table :partials do |t|
76
- t.string :name
77
- t.datetime :created_at
78
- t.datetime :updated_at
79
- end
80
- end
81
- end
@@ -1,9 +0,0 @@
1
- class AddQueueToDelayedJobs < ActiveRecord::Migration[4.2]
2
- def self.up
3
- add_column :delayed_jobs, :queue, :string
4
- end
5
-
6
- def self.down
7
- remove_column :delayed_jobs, :queue
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- class RemoveFilterFromLocalizations < ActiveRecord::Migration[4.2]
2
- def self.up
3
- remove_column :localizations, :filter
4
- end
5
-
6
- def self.down
7
- add_column :localizations, :filter, :string
8
- end
9
- end
@@ -1,22 +0,0 @@
1
- class RemoveImagesets < ActiveRecord::Migration[4.2]
2
- def self.up
3
- drop_table :imagesets
4
- drop_table :images_imagesets
5
- end
6
-
7
- def self.down
8
- create_table "images_imagesets" do |t|
9
- t.integer "relation_id"
10
- t.integer "imageset_id"
11
- t.integer "image_id"
12
- t.integer "position"
13
- end
14
-
15
- create_table "imagesets" do |t|
16
- t.string "name"
17
- t.text "description"
18
- t.datetime "created_at"
19
- t.integer "user_id"
20
- end
21
- end
22
- end
@@ -1,14 +0,0 @@
1
- class RemoveSmsSubscribers < ActiveRecord::Migration[4.2]
2
- def self.up
3
- drop_table :sms_subscribers
4
- end
5
-
6
- def self.down
7
- create_table "sms_subscribers" do |t|
8
- t.string "msisdn"
9
- t.string "group", default: "Default"
10
- t.datetime "created_at"
11
- t.datetime "updated_at"
12
- end
13
- end
14
- end
@@ -1,10 +0,0 @@
1
- class UpdatePageRedirectTo < ActiveRecord::Migration[4.2]
2
- def self.up
3
- include Rails.application.routes.url_helpers
4
- change_column :pages, :redirect_to, :string
5
- end
6
-
7
- def self.down
8
- change_column :pages, :redirect_to, :text
9
- end
10
- end
@@ -1,66 +0,0 @@
1
- class CreateRoles < ActiveRecord::Migration[4.2]
2
- def connection
3
- @connection ||= ActiveRecord::Base.connection
4
- end
5
-
6
- def define_roles(flag, role)
7
- connection.select_rows(
8
- "SELECT id
9
- FROM #{connection.quote_table_name('users')}
10
- WHERE #{connection.quote_column_name(flag)} = #{connection.quote(true)}"
11
- ).each do |u|
12
- connection.execute(
13
- "INSERT INTO #{connection.quote_table_name('roles')} " \
14
- "(user_id, name, created_at, updated_at) " \
15
- "VALUES (#{u[0]}, #{connection.quote(role)}, " \
16
- "#{connection.quote(Time.now.utc)}, " \
17
- "#{connection.quote(Time.now.utc)})"
18
- )
19
- end
20
- end
21
-
22
- def undo_role(role, flag)
23
- connection.select_rows(
24
- "SELECT user_id
25
- FROM #{connection.quote_table_name('roles')}
26
- WHERE name = #{connection.quote(role)}"
27
- ).each do |r|
28
- connection.execute(
29
- "UPDATE #{connection.quote_table_name('users')}
30
- SET #{connection.quote_column_name(flag)} = #{connection.quote(true)}
31
- WHERE id = #{connection.quote(r[0])}"
32
- )
33
- end
34
- end
35
-
36
- def up
37
- create_table :roles do |t|
38
- t.belongs_to :user
39
- t.string :name
40
- t.timestamps
41
- end
42
- add_index :roles, :user_id
43
-
44
- define_roles :is_admin, "pages"
45
- define_roles :is_admin, "users"
46
- define_roles :is_reviewer, "reviewer"
47
-
48
- remove_column :users, :is_admin
49
- remove_column :users, :is_super_admin
50
- remove_column :users, :is_reviewer
51
- remove_column :users, :sms_sender
52
- end
53
-
54
- def down
55
- add_column :users, :sms_sender, :boolean, default: false, null: false
56
- add_column :users, :is_reviewer, :boolean, default: false, null: false
57
- add_column :users, :is_super_admin, :boolean, default: false, null: false
58
- add_column :users, :is_admin, :boolean, default: false, null: false
59
-
60
- undo_role "pages", :is_admin
61
- undo_role "users", :is_admin
62
- undo_role "reviewer", :is_reviewer
63
-
64
- drop_table :roles
65
- end
66
- end
@@ -1,11 +0,0 @@
1
- class ChangeLocaleNames < ActiveRecord::Migration[4.2]
2
- def self.up
3
- Localization.where(locale: "nor").update_all(locale: "nb")
4
- Localization.where(locale: "eng").update_all(locale: "en")
5
- end
6
-
7
- def self.down
8
- Localization.where(locale: "en").update_all(locale: "eng")
9
- Localization.where(locale: "nb").update_all(locale: "nor")
10
- end
11
- end
@@ -1,9 +0,0 @@
1
- class RemoveOpenidUrl < ActiveRecord::Migration[4.2]
2
- def self.up
3
- remove_column :users, :openid_url
4
- end
5
-
6
- def self.down
7
- add_column :users, :openid_url, :string
8
- end
9
- end
@@ -1,81 +0,0 @@
1
- class ConvertImagesToDis < ActiveRecord::Migration[4.2]
2
- class Image < ActiveRecord::Base; end
3
- class Binary < ActiveRecord::Base; end
4
-
5
- def change
6
- add_column :images, :content_hash, :string, null: false
7
- change_column :images, :content_type, :string, null: false
8
- add_column :images, :content_length, :integer, null: false
9
- change_column :images, :filename, :string, null: false
10
- add_column :images, :colorspace, :string, null: false
11
- add_column :images, :real_width, :integer, null: false
12
- add_column :images, :real_height, :integer, null: false
13
- add_column :images, :crop_width, :integer
14
- add_column :images, :crop_height, :integer
15
- add_column :images, :crop_start_x, :integer
16
- add_column :images, :crop_start_y, :integer
17
- add_column :images, :crop_gravity_x, :integer
18
- add_column :images, :crop_gravity_y, :integer
19
-
20
- Image.reset_column_information
21
- reversible do |dir|
22
- dir.up do
23
- Image.all.each do |image|
24
- binary = Binary.find(image.binary_id)
25
- hash = binary.sha1_hash
26
-
27
- if binary_exist?(hash)
28
- f = binary_file(hash)
29
- image.content_length = f.size
30
- image.content_hash = Dis::Storage.store("images", f)
31
- f.close
32
- else
33
- image.content_hash = hash
34
- image.content_length = 0
35
- end
36
-
37
- image.colorspace = "rgb"
38
-
39
- image.real_width, image.real_height =
40
- Vector2d(image.original_size).to_a
41
-
42
- if image.cropped?
43
- image.crop_start_x, image.crop_start_y =
44
- Vector2d(image.crop_start).to_a
45
- image.crop_width, image.crop_height = Vector2d(image.crop_size).to_a
46
- end
47
-
48
- image.save
49
- end
50
- end
51
- end
52
-
53
- remove_column :images, :folder, :integer
54
- remove_column :images, :user_id, :integer
55
- remove_column :images, :filters, :text
56
- remove_column :images, :original_size, :string
57
- remove_column :images, :hotspot, :string
58
- remove_column :images, :binary_id, :integer
59
- remove_column :images, :original_binary_id, :integer
60
- remove_column :images, :url, :string
61
- remove_column :images, :cropped, :boolean, null: false, default: false
62
- remove_column :images, :crop_start, :string
63
- remove_column :images, :crop_size, :string
64
- end
65
-
66
- private
67
-
68
- def binary_file(hash)
69
- File.open(binary_path(hash), "rb")
70
- end
71
-
72
- def binary_exist?(hash)
73
- File.exist?(binary_path(hash))
74
- end
75
-
76
- def binary_path(hash)
77
- folder = hash[0...2]
78
- filename = hash[2..hash.length]
79
- Rails.root.join("db", "binary-objects", Rails.env, folder, filename)
80
- end
81
- end