pages_core 3.6.2 → 3.8.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 (332) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -3
  3. data/Rakefile +3 -1
  4. data/app/assets/builds/pages_core/admin-dist.js +55 -0
  5. data/app/assets/stylesheets/pages/admin/components/forms.scss +20 -0
  6. data/app/assets/stylesheets/pages/admin/components/image_editor.scss +1 -0
  7. data/app/assets/stylesheets/pages/admin/components/image_grid.scss +33 -5
  8. data/app/assets/stylesheets/pages/admin/components/layout.scss +2 -1
  9. data/app/assets/stylesheets/pages/admin/components/login.scss +6 -0
  10. data/app/assets/stylesheets/pages/admin/components/tabs.scss +5 -0
  11. data/app/assets/stylesheets/pages/admin/components/tag_editor.scss +13 -7
  12. data/app/assets/stylesheets/pages/admin/controllers/pages.scss +13 -5
  13. data/app/assets/stylesheets/pages/admin.scss +0 -1
  14. data/app/assets/stylesheets/pages/errors.css +2 -0
  15. data/app/controller_dummies/admin/admin_controller.rb +3 -1
  16. data/app/controller_dummies/application_controller.rb +3 -1
  17. data/app/controller_dummies/attachments_controller.rb +3 -1
  18. data/app/controller_dummies/frontend_controller.rb +3 -1
  19. data/app/controller_dummies/images_controller.rb +3 -1
  20. data/app/controller_dummies/page_files_controller.rb +3 -1
  21. data/app/controller_dummies/pages_controller.rb +3 -1
  22. data/app/controller_dummies/sitemaps_controller.rb +3 -1
  23. data/app/controllers/admin/attachments_controller.rb +5 -3
  24. data/app/controllers/admin/categories_controller.rb +2 -0
  25. data/app/controllers/admin/images_controller.rb +16 -8
  26. data/app/controllers/admin/invites_controller.rb +4 -1
  27. data/app/controllers/admin/pages_controller.rb +7 -19
  28. data/app/controllers/admin/password_resets_controller.rb +9 -5
  29. data/app/controllers/admin/users_controller.rb +10 -4
  30. data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +13 -11
  31. data/app/controllers/concerns/pages_core/admin/persistent_params.rb +75 -0
  32. data/app/controllers/concerns/pages_core/authentication.rb +13 -5
  33. data/app/controllers/concerns/pages_core/error_renderer.rb +3 -0
  34. data/app/controllers/concerns/pages_core/error_reporting.rb +36 -0
  35. data/app/controllers/concerns/pages_core/policies_helper.rb +4 -1
  36. data/app/controllers/concerns/pages_core/preview_pages_controller.rb +8 -0
  37. data/app/controllers/concerns/pages_core/process_titler.rb +2 -0
  38. data/app/controllers/concerns/pages_core/rss_controller.rb +2 -0
  39. data/app/controllers/concerns/pages_core/static_cache_controller.rb +48 -0
  40. data/app/controllers/errors_controller.rb +5 -53
  41. data/app/controllers/pages_core/admin_controller.rb +7 -67
  42. data/app/controllers/pages_core/attachments_controller.rb +10 -6
  43. data/app/controllers/pages_core/base_controller.rb +11 -17
  44. data/app/controllers/pages_core/frontend/page_files_controller.rb +6 -2
  45. data/app/controllers/pages_core/frontend/pages_controller.rb +14 -17
  46. data/app/controllers/pages_core/frontend_controller.rb +3 -0
  47. data/app/controllers/pages_core/images_controller.rb +3 -1
  48. data/app/controllers/pages_core/sitemaps_controller.rb +11 -5
  49. data/app/controllers/sessions_controller.rb +3 -1
  50. data/app/formatters/pages_core/html_formatter.rb +13 -63
  51. data/app/formatters/pages_core/image_embedder.rb +79 -0
  52. data/app/formatters/pages_core/link_renderer.rb +4 -2
  53. data/app/helpers/admin/admin_helper.rb +2 -0
  54. data/app/helpers/admin/menu_helper.rb +6 -4
  55. data/app/helpers/admin/pages_helper.rb +4 -57
  56. data/app/helpers/application_helper.rb +3 -1
  57. data/app/helpers/frontend_helper.rb +3 -1
  58. data/app/helpers/pages_core/admin/admin_helper.rb +22 -106
  59. data/app/helpers/pages_core/admin/content_tabs_helper.rb +31 -0
  60. data/app/helpers/pages_core/admin/date_range_helper.rb +55 -0
  61. data/app/helpers/pages_core/admin/form_builder.rb +8 -0
  62. data/app/helpers/pages_core/admin/image_uploads_helper.rb +47 -0
  63. data/app/helpers/pages_core/admin/labelled_field_helper.rb +12 -9
  64. data/app/helpers/pages_core/admin/page_blocks_helper.rb +66 -0
  65. data/app/helpers/pages_core/admin/page_json_helper.rb +23 -0
  66. data/app/helpers/pages_core/admin/tag_editor_helper.rb +11 -39
  67. data/app/helpers/pages_core/application_helper.rb +3 -0
  68. data/app/helpers/pages_core/attachments_helper.rb +31 -27
  69. data/app/helpers/pages_core/form_builder.rb +17 -13
  70. data/app/helpers/pages_core/frontend_helper.rb +3 -3
  71. data/app/helpers/pages_core/head_tags_helper.rb +18 -22
  72. data/app/helpers/pages_core/images_helper.rb +3 -0
  73. data/app/helpers/pages_core/meta_tags_helper.rb +3 -1
  74. data/app/helpers/pages_core/open_graph_tags_helper.rb +8 -6
  75. data/app/helpers/pages_core/page_path_helper.rb +24 -3
  76. data/app/javascript/admin-dist.js +2 -0
  77. data/app/javascript/components/Attachments/Attachment.jsx +121 -0
  78. data/app/javascript/components/Attachments/AttachmentEditor.jsx +116 -0
  79. data/app/javascript/components/Attachments/Placeholder.jsx +10 -0
  80. data/app/javascript/components/Attachments.jsx +165 -0
  81. data/app/{assets/javascripts/pages/admin/components/date_range_select.jsx → javascript/components/DateRangeSelect.jsx} +16 -5
  82. data/app/javascript/components/EditableImage.jsx +61 -0
  83. data/app/javascript/components/FileUploadButton.jsx +47 -0
  84. data/app/{assets/javascripts/pages/admin/components/focal_point.jsx → javascript/components/ImageCropper/FocalPoint.jsx} +12 -1
  85. data/app/javascript/components/ImageCropper/Image.jsx +65 -0
  86. data/app/javascript/components/ImageCropper/Toolbar.jsx +73 -0
  87. data/app/javascript/components/ImageCropper/useCrop.js +199 -0
  88. data/app/javascript/components/ImageCropper.jsx +90 -0
  89. data/app/javascript/components/ImageEditor/Form.jsx +98 -0
  90. data/app/javascript/components/ImageEditor.jsx +62 -0
  91. data/app/javascript/components/ImageGrid/DragElement.jsx +30 -0
  92. data/app/javascript/components/ImageGrid/FilePlaceholder.jsx +9 -0
  93. data/app/javascript/components/ImageGrid/GridImage.jsx +103 -0
  94. data/app/javascript/components/ImageGrid/Placeholder.jsx +23 -0
  95. data/app/javascript/components/ImageGrid.jsx +257 -0
  96. data/app/javascript/components/ImageUploader.jsx +171 -0
  97. data/app/{assets/javascripts/pages/admin/components/modal.jsx → javascript/components/Modal.jsx} +13 -2
  98. data/app/{assets/javascripts/pages/admin/components/page_dates.jsx → javascript/components/PageDates.jsx} +11 -1
  99. data/app/{assets/javascripts/pages/admin/components/page_files.jsx → javascript/components/PageFiles.jsx} +11 -2
  100. data/app/{assets/javascripts/pages/admin/components/page_images.jsx → javascript/components/PageImages.jsx} +11 -2
  101. data/app/{assets/javascripts/pages/admin/components/page_tree_store.jsx → javascript/components/PageTree.jsx} +127 -137
  102. data/app/{assets/javascripts/pages/admin/components/page_tree.jsx → javascript/components/PageTreeDraggable.jsx} +44 -38
  103. data/app/{assets/javascripts/pages/admin/components/page_tree_node.jsx → javascript/components/PageTreeNode.jsx} +46 -31
  104. data/app/javascript/components/RichTextArea.jsx +213 -0
  105. data/app/javascript/components/RichTextToolbarButton.jsx +20 -0
  106. data/app/javascript/components/TagEditor/AddTagForm.jsx +42 -0
  107. data/app/javascript/components/TagEditor/Tag.jsx +32 -0
  108. data/app/javascript/components/TagEditor.jsx +61 -0
  109. data/app/javascript/components/Toast.jsx +72 -0
  110. data/app/javascript/components/drag/draggedOrder.js +51 -0
  111. data/app/javascript/components/drag/useDragCollection.js +84 -0
  112. data/app/javascript/components/drag/useDragUploader.js +112 -0
  113. data/app/javascript/components/drag/useDraggable.js +17 -0
  114. data/app/javascript/components/drag.js +6 -0
  115. data/app/javascript/components.js +15 -0
  116. data/app/javascript/controllers/EditPageController.js +20 -0
  117. data/app/javascript/controllers/LoginController.js +29 -0
  118. data/app/javascript/controllers/MainController.js +65 -0
  119. data/app/javascript/controllers/PageOptionsController.js +62 -0
  120. data/app/javascript/features/RichText.jsx +34 -0
  121. data/app/javascript/hooks.js +2 -0
  122. data/app/javascript/index.js +38 -0
  123. data/app/{assets/javascripts/pages/admin/lib/tree.jsx → javascript/lib/Tree.js} +64 -63
  124. data/app/javascript/lib/copyToClipboard.js +13 -0
  125. data/app/javascript/lib/readyHandler.js +22 -0
  126. data/app/javascript/lib/request.js +36 -0
  127. data/app/javascript/stores/ModalStore.jsx +12 -0
  128. data/app/javascript/stores/ToastStore.jsx +14 -0
  129. data/app/javascript/stores.js +2 -0
  130. data/app/jobs/pages_core/autopublish_job.rb +3 -1
  131. data/app/jobs/pages_core/sweep_cache_job.rb +4 -2
  132. data/app/mailers/admin_mailer.rb +4 -14
  133. data/app/models/attachment.rb +10 -8
  134. data/app/models/autopublisher.rb +3 -0
  135. data/app/models/category.rb +3 -1
  136. data/app/models/concerns/pages_core/has_roles.rb +2 -0
  137. data/app/models/concerns/pages_core/humanizable_param.rb +9 -6
  138. data/app/models/concerns/pages_core/page_model/attachments.rb +2 -0
  139. data/app/models/concerns/pages_core/page_model/autopublishable.rb +2 -0
  140. data/app/models/concerns/pages_core/page_model/dated_page.rb +11 -11
  141. data/app/models/concerns/pages_core/page_model/images.rb +8 -2
  142. data/app/models/concerns/pages_core/page_model/localizable.rb +2 -0
  143. data/app/models/concerns/pages_core/page_model/pathable.rb +26 -25
  144. data/app/models/concerns/pages_core/page_model/redirectable.rb +3 -1
  145. data/app/models/concerns/pages_core/page_model/searchable.rb +19 -0
  146. data/app/models/concerns/pages_core/page_model/sortable.rb +6 -5
  147. data/app/models/concerns/pages_core/page_model/status.rb +2 -0
  148. data/app/models/concerns/pages_core/page_model/templateable.rb +7 -2
  149. data/app/models/concerns/pages_core/page_model/tree.rb +27 -20
  150. data/app/models/concerns/pages_core/searchable_document.rb +71 -0
  151. data/app/models/concerns/pages_core/sweepable.rb +4 -2
  152. data/app/models/concerns/pages_core/taggable.rb +33 -12
  153. data/app/models/image.rb +14 -1
  154. data/app/models/invite.rb +3 -1
  155. data/app/models/invite_role.rb +5 -3
  156. data/app/models/page.rb +6 -3
  157. data/app/models/page_builder.rb +2 -0
  158. data/app/models/page_category.rb +3 -1
  159. data/app/models/page_exporter.rb +23 -10
  160. data/app/models/page_file.rb +3 -1
  161. data/app/models/page_image.rb +3 -3
  162. data/app/models/page_path.rb +13 -5
  163. data/app/models/password_reset_token.rb +3 -1
  164. data/app/models/role.rb +9 -6
  165. data/app/models/search_document.rb +72 -0
  166. data/app/models/tag.rb +9 -6
  167. data/app/models/tagging.rb +4 -2
  168. data/app/models/user.rb +8 -5
  169. data/app/policies/invite_policy.rb +2 -0
  170. data/app/policies/page_file_policy.rb +2 -0
  171. data/app/policies/page_image_policy.rb +2 -0
  172. data/app/policies/page_policy.rb +2 -0
  173. data/app/policies/policy.rb +2 -0
  174. data/app/policies/user_policy.rb +2 -0
  175. data/app/{serializers/admin/attachment_serializer.rb → resources/admin/attachment_resource.rb} +10 -7
  176. data/app/{serializers/admin/image_serializer.rb → resources/admin/image_resource.rb} +13 -11
  177. data/app/resources/admin/page_file_resource.rb +10 -0
  178. data/app/resources/admin/page_image_resource.rb +10 -0
  179. data/app/resources/export/attachment_resource.rb +10 -0
  180. data/app/resources/export/page_image_resource.rb +45 -0
  181. data/app/resources/export/page_resource.rb +42 -0
  182. data/app/{serializers/page_image_serializer.rb → resources/page_image_resource.rb} +10 -16
  183. data/app/resources/page_resource.rb +33 -0
  184. data/app/services/pages_core/create_user_service.rb +5 -2
  185. data/app/services/pages_core/destroy_invite_service.rb +25 -0
  186. data/app/services/pages_core/invite_service.rb +4 -2
  187. data/app/views/admin/images/show.json.jbuilder +2 -0
  188. data/app/views/admin/pages/_edit_content.html.erb +1 -1
  189. data/app/views/admin/pages/_edit_files.html.erb +1 -5
  190. data/app/views/admin/pages/_edit_images.html.erb +1 -5
  191. data/app/views/admin/pages/_edit_options.html.erb +74 -55
  192. data/app/views/admin/pages/_form.html.erb +19 -0
  193. data/app/views/admin/pages/edit.html.erb +35 -61
  194. data/app/views/admin/pages/index.html.erb +0 -1
  195. data/app/views/admin/pages/new.html.erb +32 -32
  196. data/app/views/admin/pages/news.html.erb +1 -1
  197. data/app/views/admin/users/_access_control.html.erb +5 -1
  198. data/app/views/admin/users/login.html.erb +12 -4
  199. data/app/views/errors/500.html.erb +2 -20
  200. data/app/views/errors/_generic_help.html.erb +1 -1
  201. data/app/views/feeds/pages.rss.builder +3 -2
  202. data/app/views/layouts/admin/_header.html.erb +1 -1
  203. data/app/views/layouts/admin/_page_header.html.erb +33 -0
  204. data/app/views/layouts/admin.html.erb +23 -42
  205. data/app/views/pages_core/_google_analytics.html.erb +8 -0
  206. data/app/views/sitemaps/show.xml.builder +2 -0
  207. data/config/routes.rb +5 -5
  208. data/db/migrate/20111219033112_create_pages_tables.rb +192 -271
  209. data/db/migrate/20180625154059_enable_search_extensions.rb +10 -0
  210. data/db/migrate/20210209151400_create_search_configurations.rb +35 -0
  211. data/db/migrate/20210210235200_create_search_documents.rb +74 -0
  212. data/lib/pages_core/admin_menu_item.rb +3 -0
  213. data/lib/pages_core/archive_finder.rb +12 -16
  214. data/lib/pages_core/attachment_embedder.rb +4 -6
  215. data/lib/pages_core/cache_sweeper.rb +10 -108
  216. data/lib/pages_core/configuration/base.rb +5 -0
  217. data/lib/pages_core/configuration/pages.rb +4 -2
  218. data/lib/pages_core/configuration.rb +2 -0
  219. data/lib/pages_core/digest_verifier.rb +5 -5
  220. data/lib/pages_core/engine.rb +53 -5
  221. data/lib/pages_core/extensions/string_extensions.rb +3 -1
  222. data/lib/pages_core/extensions.rb +2 -0
  223. data/lib/pages_core/page_path_constraint.rb +2 -0
  224. data/lib/pages_core/pages_plugin.rb +3 -1
  225. data/lib/pages_core/plugin.rb +4 -52
  226. data/lib/pages_core/pub_sub.rb +2 -0
  227. data/lib/pages_core/static_cache/null_handler.rb +17 -0
  228. data/lib/pages_core/static_cache/page_cache_handler.rb +56 -0
  229. data/lib/pages_core/static_cache/varnish_handler.rb +55 -0
  230. data/lib/pages_core/static_cache.rb +26 -0
  231. data/lib/pages_core/templates/block_configuration.rb +4 -1
  232. data/lib/pages_core/templates/configuration.rb +5 -1
  233. data/lib/pages_core/templates/configuration_handler.rb +5 -3
  234. data/lib/pages_core/templates/configuration_proxy.rb +2 -0
  235. data/lib/pages_core/templates/controller_actions.rb +2 -0
  236. data/lib/pages_core/templates/template_configuration.rb +18 -13
  237. data/lib/pages_core/templates.rb +5 -3
  238. data/lib/pages_core/version.rb +3 -1
  239. data/lib/pages_core.rb +13 -5
  240. data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +2 -7
  241. data/lib/rails/generators/pages_core/install/install_generator.rb +3 -7
  242. data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +2 -0
  243. data/lib/rails/generators/pages_core/install/templates/application_controller.rb +2 -0
  244. data/lib/rails/generators/pages_core/install/templates/application_helper.rb +2 -0
  245. data/lib/rails/generators/pages_core/install/templates/delayed_job +1 -0
  246. data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +17 -0
  247. data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +2 -0
  248. data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +2 -0
  249. data/lib/rails/generators/pages_core/install/templates/gitignore.erb +12 -1
  250. data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +4 -2
  251. data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +2 -0
  252. data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +2 -6
  253. data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +18 -14
  254. data/lib/rails/generators/pages_core/rspec/templates/factories.rb +3 -8
  255. data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +2 -0
  256. data/lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb +26 -0
  257. data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +91 -0
  258. data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +89 -36
  259. data/lib/tasks/pages/cache.rake +8 -5
  260. data/lib/tasks/pages/export.rake +3 -1
  261. data/lib/tasks/pages/page_paths.rake +2 -0
  262. data/lib/tasks/pages.rake +3 -2
  263. data/template.rb +2 -0
  264. metadata +194 -157
  265. data/app/assets/javascripts/pages/admin/components/attachment.jsx +0 -130
  266. data/app/assets/javascripts/pages/admin/components/attachment_editor.jsx +0 -131
  267. data/app/assets/javascripts/pages/admin/components/attachments.jsx +0 -211
  268. data/app/assets/javascripts/pages/admin/components/drag_uploader.jsx +0 -174
  269. data/app/assets/javascripts/pages/admin/components/editable_image.jsx +0 -57
  270. data/app/assets/javascripts/pages/admin/components/file_upload_button.jsx +0 -44
  271. data/app/assets/javascripts/pages/admin/components/grid_image.jsx +0 -124
  272. data/app/assets/javascripts/pages/admin/components/image_editor.jsx +0 -496
  273. data/app/assets/javascripts/pages/admin/components/image_grid.jsx +0 -301
  274. data/app/assets/javascripts/pages/admin/components/image_uploader.jsx +0 -171
  275. data/app/assets/javascripts/pages/admin/components/modal_store.jsx +0 -20
  276. data/app/assets/javascripts/pages/admin/components/rich_text_area.jsx +0 -63
  277. data/app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx +0 -58
  278. data/app/assets/javascripts/pages/admin/components/toast.jsx +0 -37
  279. data/app/assets/javascripts/pages/admin/components/toast_store.jsx +0 -52
  280. data/app/assets/javascripts/pages/admin/components.jsx +0 -2
  281. data/app/assets/javascripts/pages/admin/features/content_tabs.jsx +0 -72
  282. data/app/assets/javascripts/pages/admin/features/edit_page.jsx +0 -97
  283. data/app/assets/javascripts/pages/admin/features/rich_text.jsx +0 -14
  284. data/app/assets/javascripts/pages/admin/features/tag_editor.jsx +0 -160
  285. data/app/assets/javascripts/pages/admin.jsx +0 -17
  286. data/app/assets/javascripts/pages/login_form.jsx +0 -21
  287. data/app/controllers/concerns/pages_core/domain_based_cache.rb +0 -26
  288. data/app/serializers/admin/page_file_serializer.rb +0 -6
  289. data/app/serializers/admin/page_image_serializer.rb +0 -6
  290. data/app/serializers/page_export_serializer.rb +0 -30
  291. data/app/serializers/page_file_export_serializer.rb +0 -4
  292. data/app/serializers/page_image_export_serializer.rb +0 -40
  293. data/app/serializers/page_serializer.rb +0 -21
  294. data/app/views/admin_mailer/error_report.html.erb +0 -70
  295. data/app/views/errors/500_critical.html.erb +0 -7
  296. data/app/views/errors/report.html.erb +0 -4
  297. data/app/views/layouts/admin/_analytics.html.erb +0 -16
  298. data/config/removed_migrations.yml +0 -60
  299. data/db/migrate/20120627033112_rename_textbits.rb +0 -17
  300. data/db/migrate/20121010055412_drop_removed_tables.rb +0 -81
  301. data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +0 -9
  302. data/db/migrate/20130303053932_remove_filter_from_localizations.rb +0 -9
  303. data/db/migrate/20130303160632_remove_imagesets.rb +0 -22
  304. data/db/migrate/20130303161732_remove_sms_subscribers.rb +0 -14
  305. data/db/migrate/20130823133208_update_page_redirect_to.rb +0 -10
  306. data/db/migrate/20140203183900_create_roles.rb +0 -66
  307. data/db/migrate/20140414150500_change_locale_names.rb +0 -11
  308. data/db/migrate/20140604142100_remove_openid_url.rb +0 -9
  309. data/db/migrate/20140920231700_convert_images_to_dis.rb +0 -81
  310. data/db/migrate/20140922124600_convert_page_files_to_dis.rb +0 -50
  311. data/db/migrate/20141004003100_create_password_reset_tokens.rb +0 -10
  312. data/db/migrate/20141006181300_remove_user_cruft.rb +0 -11
  313. data/db/migrate/20141007173000_create_invites.rb +0 -16
  314. data/db/migrate/20150204130800_update_delayed_job_table.rb +0 -9
  315. data/db/migrate/20150401131300_localize_images.rb +0 -38
  316. data/db/migrate/20150520174300_add_meta_image_to_page.rb +0 -5
  317. data/db/migrate/20150904164200_add_pinned_to_tags.rb +0 -5
  318. data/db/migrate/20151002174800_create_page_paths.rb +0 -10
  319. data/db/migrate/20151021103400_drop_binaries_table.rb +0 -7
  320. data/db/migrate/20151204151000_remove_page_content_order.rb +0 -5
  321. data/db/migrate/20160330220900_rename_pages_categories.rb +0 -6
  322. data/db/migrate/20160405202700_change_localization_limit.rb +0 -9
  323. data/db/migrate/20170716040500_remove_page_comments.rb +0 -23
  324. data/db/migrate/20170716213400_remove_sessions.rb +0 -15
  325. data/db/migrate/20180207134000_add_dates_to_pages.rb +0 -11
  326. data/db/migrate/20190211154800_create_attachments.rb +0 -73
  327. data/db/migrate/20190318115000_fix_page_file_ids.rb +0 -34
  328. data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +0 -15
  329. data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +0 -6
  330. data/lib/tasks/pages/update.rake +0 -17
  331. data/vendor/assets/javascripts/ReactCrop.min.js +0 -1
  332. data/vendor/assets/javascripts/reflux.min.js +0 -1
@@ -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
@@ -1,50 +0,0 @@
1
- class ConvertPageFilesToDis < ActiveRecord::Migration[4.2]
2
- class PageFile < ActiveRecord::Base; end
3
- class Binary < ActiveRecord::Base; end
4
-
5
- def change
6
- add_column :page_files, :content_hash, :string, null: false
7
- change_column :page_files, :content_type, :string, null: false
8
- rename_column :page_files, :filesize, :content_length
9
- change_column :page_files, :content_length, :integer, null: false
10
- change_column :page_files, :filename, :string, null: false
11
-
12
- PageFile.reset_column_information
13
- reversible do |dir|
14
- dir.up do
15
- PageFile.all.each do |page_file|
16
- binary = Binary.find(page_file.binary_id)
17
- hash = binary.sha1_hash
18
-
19
- if binary_exist?(hash)
20
- f = binary_file(hash)
21
- page_file.content_hash = Dis::Storage.store("page_files", f)
22
- f.close
23
- else
24
- page_file.content_hash = hash
25
- end
26
-
27
- page_file.save
28
- end
29
- end
30
- end
31
-
32
- remove_column :page_files, :binary_id, :integer
33
- end
34
-
35
- private
36
-
37
- def binary_file(hash)
38
- File.open(binary_path(hash), "rb")
39
- end
40
-
41
- def binary_exist?(hash)
42
- File.exist?(binary_path(hash))
43
- end
44
-
45
- def binary_path(hash)
46
- folder = hash[0...2]
47
- filename = hash[2..hash.length]
48
- Rails.root.join("db", "binary-objects", Rails.env, folder, filename)
49
- end
50
- end
@@ -1,10 +0,0 @@
1
- class CreatePasswordResetTokens < ActiveRecord::Migration[4.2]
2
- def change
3
- create_table :password_reset_tokens do |t|
4
- t.belongs_to :user
5
- t.string :token
6
- t.datetime :expires_at
7
- t.timestamps
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- class RemoveUserCruft < ActiveRecord::Migration[4.2]
2
- def change
3
- remove_column :users, :token, :string
4
- remove_column :users, :is_deleted, :boolean, default: false, null: false
5
- remove_column :users, :born_on, :date
6
- remove_column :users, :mobile, :string
7
- remove_column :users, :web_link, :string
8
- rename_column :users, :is_activated, :activated
9
- rename_column :users, :realname, :name
10
- end
11
- end
@@ -1,16 +0,0 @@
1
- class CreateInvites < ActiveRecord::Migration[4.2]
2
- def change
3
- create_table :invites do |t|
4
- t.belongs_to :user
5
- t.string :email, :token
6
- t.datetime :sent_at
7
- t.timestamps
8
- end
9
-
10
- create_table :invite_roles do |t|
11
- t.belongs_to :invite
12
- t.string :name
13
- t.timestamps
14
- end
15
- end
16
- end
@@ -1,9 +0,0 @@
1
- class UpdateDelayedJobTable < ActiveRecord::Migration[4.2]
2
- def up
3
- change_column :delayed_jobs, :last_error, :text
4
- end
5
-
6
- def down
7
- change_column :delayed_jobs, :last_error, :string
8
- end
9
- end
@@ -1,38 +0,0 @@
1
- class LocalizeImages < ActiveRecord::Migration[4.2]
2
- def locale
3
- I18n.default_locale
4
- end
5
-
6
- def up
7
- Image.all.in_locale(locale).each do |image|
8
- next if image.attributes["byline"].blank?
9
- Localization.create(
10
- localizable: image,
11
- name: "caption",
12
- locale: locale,
13
- value: image.attributes["byline"]
14
- )
15
- end
16
- remove_column :images, :name, :string
17
- remove_column :images, :byline, :string
18
- remove_column :images, :description, :string
19
- end
20
-
21
- def down
22
- add_column :images, :name, :string
23
- add_column :images, :byline, :string
24
- add_column :images, :description, :string
25
-
26
- Localization.where(
27
- localizable_type: "Image",
28
- name: "caption",
29
- locale: locale
30
- ).each do |localization|
31
- localization.localizable.update_column(
32
- "byline",
33
- localization.value
34
- )
35
- localization.destroy
36
- end
37
- end
38
- end
@@ -1,5 +0,0 @@
1
- class AddMetaImageToPage < ActiveRecord::Migration[4.2]
2
- def change
3
- add_column :pages, :meta_image_id, :integer
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- class AddPinnedToTags < ActiveRecord::Migration[4.2]
2
- def change
3
- add_column :tags, :pinned, :boolean, default: false, null: false
4
- end
5
- end
@@ -1,10 +0,0 @@
1
- class CreatePagePaths < ActiveRecord::Migration[4.2]
2
- def change
3
- create_table :page_paths do |t|
4
- t.belongs_to :page
5
- t.string :locale, :path
6
- t.timestamps null: false
7
- end
8
- add_index :page_paths, %i[locale path], unique: true
9
- end
10
- end
@@ -1,7 +0,0 @@
1
- class DropBinariesTable < ActiveRecord::Migration[4.2]
2
- def change
3
- drop_table :binaries do |t|
4
- t.string "sha1_hash"
5
- end
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- class RemovePageContentOrder < ActiveRecord::Migration[4.2]
2
- def change
3
- remove_column :pages, :content_order, :string
4
- end
5
- end
@@ -1,6 +0,0 @@
1
- class RenamePagesCategories < ActiveRecord::Migration[4.2]
2
- def change
3
- rename_table :pages_categories, :page_categories
4
- add_column :page_categories, :id, :primary_key, first: true
5
- end
6
- end
@@ -1,9 +0,0 @@
1
- class ChangeLocalizationLimit < ActiveRecord::Migration[4.2]
2
- def up
3
- change_column :localizations, :value, :text, limit: 16_777_215
4
- end
5
-
6
- def down
7
- change_column :localizations, :value, :text, limit: 65_535
8
- end
9
- end
@@ -1,23 +0,0 @@
1
- class RemovePageComments < ActiveRecord::Migration[5.0]
2
- def up
3
- drop_table :page_comments
4
- remove_column :pages, :comments_allowed
5
- remove_column :pages, :comments_count
6
- end
7
-
8
- def down
9
- add_column :pages, :comments_allowed, :boolean, default: true, null: false
10
- add_column :pages, :comments_count, :integer,
11
- limit: 4, default: 0, null: false
12
- create_table :page_comments do |t|
13
- t.integer :page_id
14
- t.string :remote_ip
15
- t.string :name
16
- t.string :email
17
- t.string :url
18
- t.text :body
19
- t.datetime :created_at
20
- t.datetime :updated_at
21
- end
22
- end
23
- end
@@ -1,15 +0,0 @@
1
- class RemoveSessions < ActiveRecord::Migration[5.0]
2
- def up
3
- drop_table :sessions
4
- end
5
-
6
- def down
7
- create_table :sessions do |t|
8
- t.string :session_id
9
- t.text :data
10
- t.datetime :updated_at
11
- t.index :session_id
12
- t.index :updated_at
13
- end
14
- end
15
- end
@@ -1,11 +0,0 @@
1
- class AddDatesToPages < ActiveRecord::Migration[5.0]
2
- def change
3
- change_table :pages do |t|
4
- t.datetime :starts_at
5
- t.datetime :ends_at
6
- t.boolean :all_day, null: false, default: false
7
- t.index :starts_at
8
- t.index :ends_at
9
- end
10
- end
11
- end
@@ -1,73 +0,0 @@
1
- class CreateAttachments < ActiveRecord::Migration[5.2]
2
- def up
3
- rename_table :page_files, :attachments
4
- add_column :attachments, :user_id, :integer
5
-
6
- create_table :page_files do |t|
7
- t.references :page
8
- t.references :attachment
9
- t.integer :position
10
- t.timestamps
11
- end
12
-
13
- Attachment.reset_column_information
14
- PageFile.reset_column_information
15
-
16
- locales = [I18n.default_locale,
17
- PagesCore.config.locales&.keys].flatten.compact.map(&:to_sym).uniq
18
-
19
- Attachment.all.each do |a|
20
- begin
21
- Dis::Storage.change_type("page_files", "attachments", a.content_hash)
22
- rescue
23
- puts "Missing attachment: #{a.content_hash}"
24
- end
25
- locales.each do |l|
26
- Localization.create(localizable: a,
27
- locale: l,
28
- name: "name",
29
- value: a.attributes["name"])
30
- end
31
- PageFile.create(attachment_id: a.id,
32
- page_id: a.page_id,
33
- position: a.position,
34
- created_at: a.created_at,
35
- updated_at: a.updated_at)
36
- end
37
-
38
- Localization.where(localizable_type: "PageFile")
39
- .update_all(localizable_type: "Attachment")
40
-
41
- remove_column :attachments, :page_id
42
- remove_column :attachments, :position
43
- remove_column :attachments, :name
44
- end
45
-
46
- def down
47
- add_column :attachments, :name, :string
48
- add_column :attachments, :position, :integer
49
- add_column :attachments, :page_id, :integer
50
-
51
- Attachment.reset_column_information
52
- Attachment.all.in_locale(I18n.default_locale).each do |a|
53
- begin
54
- Dis::Storage.change_type("attachments", "page_files", a.content_hash)
55
- rescue
56
- puts "Missing attachment: #{a.content_hash}"
57
- end
58
-
59
- pf = PageFile.find_by(attachment_id: a.id)
60
- Attachment.where(id: a.id).update_all(name: a.name,
61
- page_id: pf.page_id,
62
- position: pf.position)
63
- end
64
-
65
- Localization.where(localizable_type: "Attachment")
66
- .update_all(localizable_type: "PageFile")
67
- Localization.where(localizable_type: "PageFile", name: "name").destroy_all
68
-
69
- drop_table :page_files
70
- remove_column :attachments, :user_id
71
- rename_table :attachments, :page_files
72
- end
73
- end