alchemy_cms 6.1.10 → 7.0.0.pre.a

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 (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +0 -3
  3. data/.gitignore +1 -6
  4. data/CHANGELOG.md +19 -44
  5. data/Gemfile +1 -1
  6. data/Rakefile +14 -9
  7. data/alchemy_cms.gemspec +2 -3
  8. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +1 -1
  9. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +18 -32
  10. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +2 -2
  11. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +2 -2
  12. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +27 -29
  13. data/app/assets/stylesheets/alchemy/elements.scss +16 -35
  14. data/app/assets/stylesheets/alchemy/forms.scss +0 -4
  15. data/app/assets/stylesheets/alchemy/node-select.scss +2 -2
  16. data/app/controllers/alchemy/admin/attachments_controller.rb +0 -1
  17. data/app/controllers/alchemy/admin/elements_controller.rb +7 -32
  18. data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
  19. data/app/controllers/alchemy/admin/pictures_controller.rb +1 -1
  20. data/app/controllers/alchemy/admin/resources_controller.rb +1 -18
  21. data/app/controllers/alchemy/api/elements_controller.rb +0 -2
  22. data/app/controllers/alchemy/api/pages_controller.rb +8 -4
  23. data/app/controllers/alchemy/messages_controller.rb +9 -9
  24. data/app/controllers/alchemy/pages_controller.rb +23 -18
  25. data/app/decorators/alchemy/element_editor.rb +10 -30
  26. data/app/helpers/alchemy/admin/elements_helper.rb +0 -2
  27. data/app/helpers/alchemy/elements_block_helper.rb +5 -42
  28. data/app/helpers/alchemy/elements_helper.rb +3 -11
  29. data/app/helpers/alchemy/pages_helper.rb +0 -4
  30. data/app/models/alchemy/attachment.rb +6 -3
  31. data/app/models/alchemy/base_record.rb +2 -0
  32. data/app/models/alchemy/eager_loading.rb +0 -1
  33. data/app/models/alchemy/element/element_ingredients.rb +1 -8
  34. data/app/models/alchemy/element/presenters.rb +9 -25
  35. data/app/models/alchemy/element.rb +2 -18
  36. data/app/models/alchemy/ingredient.rb +17 -6
  37. data/app/models/alchemy/ingredients/audio.rb +2 -0
  38. data/app/models/alchemy/ingredients/datetime.rb +3 -1
  39. data/app/models/alchemy/ingredients/file.rb +7 -0
  40. data/app/models/alchemy/ingredients/headline.rb +6 -0
  41. data/app/models/alchemy/ingredients/link.rb +2 -0
  42. data/app/models/alchemy/ingredients/node.rb +2 -0
  43. data/app/models/alchemy/ingredients/page.rb +2 -0
  44. data/app/models/alchemy/ingredients/picture.rb +11 -0
  45. data/app/models/alchemy/ingredients/richtext.rb +6 -0
  46. data/app/models/alchemy/ingredients/select.rb +1 -0
  47. data/app/models/alchemy/ingredients/text.rb +8 -0
  48. data/app/models/alchemy/ingredients/video.rb +2 -0
  49. data/app/models/alchemy/node.rb +9 -6
  50. data/app/models/alchemy/page/page_elements.rb +5 -26
  51. data/app/models/alchemy/page/page_layouts.rb +0 -14
  52. data/app/models/alchemy/page/page_natures.rb +0 -10
  53. data/app/models/alchemy/page.rb +0 -10
  54. data/app/models/alchemy/picture/transformations.rb +0 -30
  55. data/app/models/alchemy/picture/url.rb +1 -1
  56. data/app/models/alchemy/picture.rb +14 -13
  57. data/app/models/alchemy/picture_thumb/create.rb +7 -18
  58. data/app/models/alchemy/picture_thumb/file_store.rb +33 -0
  59. data/app/models/alchemy/picture_thumb.rb +10 -10
  60. data/app/models/concerns/alchemy/picture_thumbnails.rb +2 -6
  61. data/app/serializers/alchemy/element_serializer.rb +1 -6
  62. data/app/services/alchemy/delete_elements.rb +1 -7
  63. data/app/services/alchemy/duplicate_element.rb +1 -6
  64. data/app/views/alchemy/admin/elements/_element.html.erb +5 -22
  65. data/app/views/alchemy/admin/elements/create.js.erb +1 -1
  66. data/app/views/alchemy/admin/elements/fold.js.erb +2 -2
  67. data/app/views/alchemy/admin/elements/order.js.erb +1 -1
  68. data/app/views/alchemy/admin/elements/update.js.erb +1 -2
  69. data/app/views/alchemy/admin/pages/_external_link.html.erb +2 -2
  70. data/app/views/alchemy/admin/pages/_file_link.html.erb +2 -2
  71. data/app/views/alchemy/admin/pages/_internal_link.html.erb +2 -2
  72. data/app/views/alchemy/admin/pages/_table.html.erb +0 -6
  73. data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +3 -6
  74. data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
  75. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -3
  76. data/app/views/alchemy/admin/pictures/_infos.html.erb +4 -6
  77. data/app/views/alchemy/admin/resources/_per_page_select.html.erb +1 -1
  78. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  79. data/app/views/alchemy/ingredients/_headline_editor.html.erb +1 -1
  80. data/app/views/alchemy/ingredients/_html_editor.html.erb +1 -1
  81. data/app/views/alchemy/ingredients/_node_editor.html.erb +1 -1
  82. data/app/views/alchemy/ingredients/_picture_editor.html.erb +4 -4
  83. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -2
  84. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  85. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +3 -3
  86. data/app/views/alchemy/pages/_meta_data.html.erb +0 -1
  87. data/app/views/layouts/alchemy/admin.html.erb +5 -1
  88. data/config/alchemy/config.yml +6 -6
  89. data/config/brakeman.ignore +56 -57
  90. data/config/locales/alchemy.en.yml +99 -113
  91. data/config/routes.rb +1 -16
  92. data/db/migrate/20230121212637_alchemy_six_point_one.rb +248 -0
  93. data/lib/alchemy/cache_digests/template_tracker.rb +6 -7
  94. data/lib/alchemy/config.rb +2 -2
  95. data/lib/alchemy/deprecation.rb +1 -1
  96. data/lib/alchemy/errors.rb +0 -11
  97. data/lib/alchemy/hints.rb +10 -10
  98. data/lib/alchemy/permissions.rb +4 -17
  99. data/lib/alchemy/routing_constraints.rb +3 -3
  100. data/lib/alchemy/searchable_resource.rb +38 -0
  101. data/lib/alchemy/seeder.rb +2 -8
  102. data/lib/alchemy/tasks/tidy.rb +0 -38
  103. data/lib/alchemy/test_support/capybara_helpers.rb +69 -0
  104. data/lib/alchemy/test_support/factories/element_factory.rb +0 -6
  105. data/lib/alchemy/test_support/factories/ingredient_factory.rb +1 -1
  106. data/lib/alchemy/test_support/factories/page_factory.rb +4 -2
  107. data/lib/alchemy/test_support/having_picture_thumbnails_examples.rb +0 -20
  108. data/lib/alchemy/test_support/shared_dom_ids_examples.rb +1 -1
  109. data/lib/alchemy/test_support/shared_ingredient_examples.rb +1 -1
  110. data/lib/alchemy/tinymce.rb +1 -18
  111. data/lib/alchemy/upgrader/seven_point_zero.rb +45 -0
  112. data/lib/alchemy/upgrader/tasks/.keep +0 -0
  113. data/lib/alchemy/upgrader.rb +8 -3
  114. data/lib/alchemy/version.rb +1 -1
  115. data/lib/alchemy.rb +0 -19
  116. data/lib/alchemy_cms.rb +1 -2
  117. data/lib/generators/alchemy/elements/elements_generator.rb +0 -1
  118. data/lib/generators/alchemy/elements/templates/view.html.erb +1 -10
  119. data/lib/generators/alchemy/elements/templates/view.html.haml +1 -9
  120. data/lib/generators/alchemy/elements/templates/view.html.slim +1 -9
  121. data/lib/generators/alchemy/install/files/alchemy.en.yml +7 -8
  122. data/lib/generators/alchemy/install/files/application.html.erb +1 -1
  123. data/lib/generators/alchemy/install/install_generator.rb +18 -34
  124. data/lib/generators/alchemy/install/templates/elements.yml.tt +12 -12
  125. data/lib/non_stupid_digest_assets.rb +1 -1
  126. data/lib/tasks/alchemy/thumbnails.rake +2 -21
  127. data/lib/tasks/alchemy/tidy.rake +1 -12
  128. data/lib/tasks/alchemy/upgrade.rake +10 -47
  129. data/package/dist/admin.js +16 -0
  130. data/package/dist/admin.js.map +7 -0
  131. data/package.json +5 -3
  132. metadata +18 -147
  133. data/app/controllers/alchemy/admin/contents_controller.rb +0 -21
  134. data/app/controllers/alchemy/admin/essence_audios_controller.rb +0 -30
  135. data/app/controllers/alchemy/admin/essence_files_controller.rb +0 -31
  136. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +0 -43
  137. data/app/controllers/alchemy/admin/essence_videos_controller.rb +0 -34
  138. data/app/controllers/alchemy/api/contents_controller.rb +0 -52
  139. data/app/decorators/alchemy/content_editor.rb +0 -119
  140. data/app/helpers/alchemy/admin/contents_helper.rb +0 -42
  141. data/app/helpers/alchemy/admin/essences_helper.rb +0 -31
  142. data/app/models/alchemy/content/factory.rb +0 -143
  143. data/app/models/alchemy/content.rb +0 -247
  144. data/app/models/alchemy/element/element_contents.rb +0 -200
  145. data/app/models/alchemy/element/element_essences.rb +0 -133
  146. data/app/models/alchemy/essence_audio.rb +0 -13
  147. data/app/models/alchemy/essence_boolean.rb +0 -20
  148. data/app/models/alchemy/essence_date.rb +0 -25
  149. data/app/models/alchemy/essence_file.rb +0 -49
  150. data/app/models/alchemy/essence_headline.rb +0 -41
  151. data/app/models/alchemy/essence_html.rb +0 -23
  152. data/app/models/alchemy/essence_link.rb +0 -21
  153. data/app/models/alchemy/essence_node.rb +0 -19
  154. data/app/models/alchemy/essence_page.rb +0 -17
  155. data/app/models/alchemy/essence_picture.rb +0 -67
  156. data/app/models/alchemy/essence_picture_view.rb +0 -90
  157. data/app/models/alchemy/essence_richtext.rb +0 -44
  158. data/app/models/alchemy/essence_select.rb +0 -19
  159. data/app/models/alchemy/essence_text.rb +0 -23
  160. data/app/models/alchemy/essence_video.rb +0 -13
  161. data/app/serializers/alchemy/content_serializer.rb +0 -17
  162. data/app/serializers/alchemy/essence_boolean_serializer.rb +0 -10
  163. data/app/serializers/alchemy/essence_date_serializer.rb +0 -10
  164. data/app/serializers/alchemy/essence_file_serializer.rb +0 -13
  165. data/app/serializers/alchemy/essence_html_serializer.rb +0 -10
  166. data/app/serializers/alchemy/essence_link_serializer.rb +0 -13
  167. data/app/serializers/alchemy/essence_picture_serializer.rb +0 -28
  168. data/app/serializers/alchemy/essence_richtext_serializer.rb +0 -11
  169. data/app/serializers/alchemy/essence_select_serializer.rb +0 -10
  170. data/app/serializers/alchemy/essence_text_serializer.rb +0 -22
  171. data/app/views/alchemy/admin/contents/create.js.erb +0 -21
  172. data/app/views/alchemy/admin/essence_audios/edit.html.erb +0 -7
  173. data/app/views/alchemy/admin/essence_files/edit.html.erb +0 -21
  174. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +0 -5
  175. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +0 -30
  176. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +0 -3
  177. data/app/views/alchemy/admin/essence_pictures/update.js.erb +0 -8
  178. data/app/views/alchemy/admin/essence_videos/edit.html.erb +0 -12
  179. data/app/views/alchemy/essences/_essence_audio_editor.html.erb +0 -4
  180. data/app/views/alchemy/essences/_essence_audio_view.html.erb +0 -15
  181. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +0 -11
  182. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +0 -2
  183. data/app/views/alchemy/essences/_essence_date_editor.html.erb +0 -16
  184. data/app/views/alchemy/essences/_essence_date_view.html.erb +0 -10
  185. data/app/views/alchemy/essences/_essence_file_editor.html.erb +0 -54
  186. data/app/views/alchemy/essences/_essence_file_view.html.erb +0 -18
  187. data/app/views/alchemy/essences/_essence_headline_editor.html.erb +0 -36
  188. data/app/views/alchemy/essences/_essence_headline_view.html.erb +0 -10
  189. data/app/views/alchemy/essences/_essence_html_editor.html.erb +0 -10
  190. data/app/views/alchemy/essences/_essence_html_view.html.erb +0 -2
  191. data/app/views/alchemy/essences/_essence_link_editor.html.erb +0 -30
  192. data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -10
  193. data/app/views/alchemy/essences/_essence_node_editor.html.erb +0 -27
  194. data/app/views/alchemy/essences/_essence_node_view.html.erb +0 -1
  195. data/app/views/alchemy/essences/_essence_page_editor.html.erb +0 -26
  196. data/app/views/alchemy/essences/_essence_page_view.html.erb +0 -5
  197. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +0 -59
  198. data/app/views/alchemy/essences/_essence_picture_view.html.erb +0 -6
  199. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -14
  200. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +0 -4
  201. data/app/views/alchemy/essences/_essence_select_editor.html.erb +0 -28
  202. data/app/views/alchemy/essences/_essence_select_view.html.erb +0 -2
  203. data/app/views/alchemy/essences/_essence_text_editor.html.erb +0 -29
  204. data/app/views/alchemy/essences/_essence_text_view.html.erb +0 -17
  205. data/app/views/alchemy/essences/_essence_video_editor.html.erb +0 -4
  206. data/app/views/alchemy/essences/_essence_video_view.html.erb +0 -19
  207. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +0 -59
  208. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +0 -20
  209. data/app/views/alchemy/pages/show.rss.builder +0 -21
  210. data/db/migrate/20200226213334_alchemy_four_point_four.rb +0 -313
  211. data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +0 -11
  212. data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +0 -28
  213. data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +0 -8
  214. data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +0 -27
  215. data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +0 -6
  216. data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +0 -24
  217. data/db/migrate/20200617110713_create_alchemy_picture_thumbs.rb +0 -22
  218. data/db/migrate/20200907111332_remove_tri_state_booleans.rb +0 -33
  219. data/db/migrate/20201207131309_create_page_versions.rb +0 -19
  220. data/db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb +0 -76
  221. data/db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb +0 -10
  222. data/db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb +0 -7
  223. data/db/migrate/20210406093436_add_alchemy_essence_headlines.rb +0 -12
  224. data/db/migrate/20210506135919_create_essence_audios.rb +0 -19
  225. data/db/migrate/20210506140258_create_essence_videos.rb +0 -23
  226. data/db/migrate/20210508091432_create_alchemy_ingredients.rb +0 -22
  227. data/db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb +0 -13
  228. data/db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb +0 -9
  229. data/lib/alchemy/essence.rb +0 -250
  230. data/lib/alchemy/tasks/usage.rb +0 -34
  231. data/lib/alchemy/test_support/essence_shared_examples.rb +0 -271
  232. data/lib/alchemy/test_support/factories/content_factory.rb +0 -20
  233. data/lib/alchemy/test_support/factories/essence_audio_factory.rb +0 -7
  234. data/lib/alchemy/test_support/factories/essence_file_factory.rb +0 -7
  235. data/lib/alchemy/test_support/factories/essence_page_factory.rb +0 -7
  236. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +0 -11
  237. data/lib/alchemy/test_support/factories/essence_text_factory.rb +0 -7
  238. data/lib/alchemy/test_support/factories/essence_video_factory.rb +0 -7
  239. data/lib/alchemy/upgrader/five_point_zero.rb +0 -41
  240. data/lib/alchemy/upgrader/six_point_zero.rb +0 -21
  241. data/lib/alchemy/upgrader/tasks/add_page_versions.rb +0 -33
  242. data/lib/alchemy/upgrader/tasks/element_views_updater.rb +0 -34
  243. data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +0 -29
  244. data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +0 -73
  245. data/lib/generators/alchemy/essence/essence_generator.rb +0 -49
  246. data/lib/generators/alchemy/essence/templates/editor.html.erb +0 -17
  247. data/lib/generators/alchemy/essence/templates/view.html.erb +0 -2
  248. data/lib/generators/alchemy/install/files/babel.config.js +0 -64
  249. data/lib/tasks/alchemy/usage.rake +0 -44
data/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@alchemy_cms/admin",
3
- "version": "6.1.9",
3
+ "version": "7.0.0-a",
4
4
  "description": "AlchemyCMS",
5
- "browser": "package/admin.js",
5
+ "browser": "package/dist/admin.js",
6
6
  "files": [
7
7
  "package/**/*"
8
8
  ],
@@ -10,7 +10,8 @@
10
10
  "lib": "package"
11
11
  },
12
12
  "scripts": {
13
- "test": "jest"
13
+ "test": "jest",
14
+ "build": "esbuild package/admin.js --bundle --sourcemap --minify --outdir=package/dist --public-path=assets"
14
15
  },
15
16
  "repository": {
16
17
  "type": "git",
@@ -32,6 +33,7 @@
32
33
  "@babel/core": "^7.9.6",
33
34
  "@babel/preset-env": "^7.9.6",
34
35
  "babel-jest": "^29.0.1",
36
+ "esbuild": "^0.17.5",
35
37
  "jest": "^25.2.7",
36
38
  "prettier": "^2.0.2",
37
39
  "xhr-mock": "^2.5.1"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.10
4
+ version: 7.0.0.pre.a
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2024-08-21 00:00:00.000000000 Z
16
+ date: 2023-03-30 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: actionmailer
@@ -396,7 +396,7 @@ dependencies:
396
396
  version: '1.8'
397
397
  - - "<"
398
398
  - !ruby/object:Gem::Version
399
- version: '4.0'
399
+ version: '5.0'
400
400
  type: :runtime
401
401
  prerelease: false
402
402
  version_requirements: !ruby/object:Gem::Requirement
@@ -406,7 +406,7 @@ dependencies:
406
406
  version: '1.8'
407
407
  - - "<"
408
408
  - !ruby/object:Gem::Version
409
- version: '4.0'
409
+ version: '5.0'
410
410
  - !ruby/object:Gem::Dependency
411
411
  name: request_store
412
412
  requirement: !ruby/object:Gem::Requirement
@@ -509,26 +509,6 @@ dependencies:
509
509
  - - ">="
510
510
  - !ruby/object:Gem::Version
511
511
  version: '2.5'
512
- - !ruby/object:Gem::Dependency
513
- name: webpacker
514
- requirement: !ruby/object:Gem::Requirement
515
- requirements:
516
- - - ">="
517
- - !ruby/object:Gem::Version
518
- version: '4.0'
519
- - - "<"
520
- - !ruby/object:Gem::Version
521
- version: '6'
522
- type: :runtime
523
- prerelease: false
524
- version_requirements: !ruby/object:Gem::Requirement
525
- requirements:
526
- - - ">="
527
- - !ruby/object:Gem::Version
528
- version: '4.0'
529
- - - "<"
530
- - !ruby/object:Gem::Version
531
- version: '6'
532
512
  - !ruby/object:Gem::Dependency
533
513
  name: capybara
534
514
  requirement: !ruby/object:Gem::Requirement
@@ -642,19 +622,19 @@ dependencies:
642
622
  - !ruby/object:Gem::Version
643
623
  version: '0.20'
644
624
  - !ruby/object:Gem::Dependency
645
- name: selenium-webdriver
625
+ name: webdrivers
646
626
  requirement: !ruby/object:Gem::Requirement
647
627
  requirements:
648
628
  - - "~>"
649
629
  - !ruby/object:Gem::Version
650
- version: '4.10'
630
+ version: '5.0'
651
631
  type: :development
652
632
  prerelease: false
653
633
  version_requirements: !ruby/object:Gem::Requirement
654
634
  requirements:
655
635
  - - "~>"
656
636
  - !ruby/object:Gem::Version
657
- version: '4.10'
637
+ version: '5.0'
658
638
  - !ruby/object:Gem::Dependency
659
639
  name: webmock
660
640
  requirement: !ruby/object:Gem::Requirement
@@ -840,13 +820,8 @@ files:
840
820
  - app/controllers/alchemy/admin/attachments_controller.rb
841
821
  - app/controllers/alchemy/admin/base_controller.rb
842
822
  - app/controllers/alchemy/admin/clipboard_controller.rb
843
- - app/controllers/alchemy/admin/contents_controller.rb
844
823
  - app/controllers/alchemy/admin/dashboard_controller.rb
845
824
  - app/controllers/alchemy/admin/elements_controller.rb
846
- - app/controllers/alchemy/admin/essence_audios_controller.rb
847
- - app/controllers/alchemy/admin/essence_files_controller.rb
848
- - app/controllers/alchemy/admin/essence_pictures_controller.rb
849
- - app/controllers/alchemy/admin/essence_videos_controller.rb
850
825
  - app/controllers/alchemy/admin/ingredients_controller.rb
851
826
  - app/controllers/alchemy/admin/languages_controller.rb
852
827
  - app/controllers/alchemy/admin/layoutpages_controller.rb
@@ -859,7 +834,6 @@ files:
859
834
  - app/controllers/alchemy/admin/styleguide_controller.rb
860
835
  - app/controllers/alchemy/admin/tags_controller.rb
861
836
  - app/controllers/alchemy/api/base_controller.rb
862
- - app/controllers/alchemy/api/contents_controller.rb
863
837
  - app/controllers/alchemy/api/elements_controller.rb
864
838
  - app/controllers/alchemy/api/ingredients_controller.rb
865
839
  - app/controllers/alchemy/api/nodes_controller.rb
@@ -875,14 +849,11 @@ files:
875
849
  - app/controllers/concerns/alchemy/admin/uploader_responses.rb
876
850
  - app/controllers/concerns/alchemy/legacy_page_redirects.rb
877
851
  - app/controllers/concerns/alchemy/site_redirects.rb
878
- - app/decorators/alchemy/content_editor.rb
879
852
  - app/decorators/alchemy/element_editor.rb
880
853
  - app/decorators/alchemy/ingredient_editor.rb
881
854
  - app/helpers/alchemy/admin/attachments_helper.rb
882
855
  - app/helpers/alchemy/admin/base_helper.rb
883
- - app/helpers/alchemy/admin/contents_helper.rb
884
856
  - app/helpers/alchemy/admin/elements_helper.rb
885
- - app/helpers/alchemy/admin/essences_helper.rb
886
857
  - app/helpers/alchemy/admin/form_helper.rb
887
858
  - app/helpers/alchemy/admin/ingredients_helper.rb
888
859
  - app/helpers/alchemy/admin/navigation_helper.rb
@@ -901,33 +872,14 @@ files:
901
872
  - app/models/alchemy/attachment.rb
902
873
  - app/models/alchemy/attachment/url.rb
903
874
  - app/models/alchemy/base_record.rb
904
- - app/models/alchemy/content.rb
905
- - app/models/alchemy/content/factory.rb
906
875
  - app/models/alchemy/eager_loading.rb
907
876
  - app/models/alchemy/element.rb
908
877
  - app/models/alchemy/element/definitions.rb
909
878
  - app/models/alchemy/element/dom_id.rb
910
- - app/models/alchemy/element/element_contents.rb
911
- - app/models/alchemy/element/element_essences.rb
912
879
  - app/models/alchemy/element/element_ingredients.rb
913
880
  - app/models/alchemy/element/presenters.rb
914
881
  - app/models/alchemy/element_to_page.rb
915
882
  - app/models/alchemy/elements_repository.rb
916
- - app/models/alchemy/essence_audio.rb
917
- - app/models/alchemy/essence_boolean.rb
918
- - app/models/alchemy/essence_date.rb
919
- - app/models/alchemy/essence_file.rb
920
- - app/models/alchemy/essence_headline.rb
921
- - app/models/alchemy/essence_html.rb
922
- - app/models/alchemy/essence_link.rb
923
- - app/models/alchemy/essence_node.rb
924
- - app/models/alchemy/essence_page.rb
925
- - app/models/alchemy/essence_picture.rb
926
- - app/models/alchemy/essence_picture_view.rb
927
- - app/models/alchemy/essence_richtext.rb
928
- - app/models/alchemy/essence_select.rb
929
- - app/models/alchemy/essence_text.rb
930
- - app/models/alchemy/essence_video.rb
931
883
  - app/models/alchemy/folded_page.rb
932
884
  - app/models/alchemy/image_cropper_settings.rb
933
885
  - app/models/alchemy/ingredient.rb
@@ -968,6 +920,7 @@ files:
968
920
  - app/models/alchemy/picture/url.rb
969
921
  - app/models/alchemy/picture_thumb.rb
970
922
  - app/models/alchemy/picture_thumb/create.rb
923
+ - app/models/alchemy/picture_thumb/file_store.rb
971
924
  - app/models/alchemy/picture_thumb/signature.rb
972
925
  - app/models/alchemy/picture_thumb/uid.rb
973
926
  - app/models/alchemy/picture_variant.rb
@@ -981,17 +934,7 @@ files:
981
934
  - app/presenters/alchemy/picture_view.rb
982
935
  - app/serializers/alchemy/attachment_serializer.rb
983
936
  - app/serializers/alchemy/base_serializer.rb
984
- - app/serializers/alchemy/content_serializer.rb
985
937
  - app/serializers/alchemy/element_serializer.rb
986
- - app/serializers/alchemy/essence_boolean_serializer.rb
987
- - app/serializers/alchemy/essence_date_serializer.rb
988
- - app/serializers/alchemy/essence_file_serializer.rb
989
- - app/serializers/alchemy/essence_html_serializer.rb
990
- - app/serializers/alchemy/essence_link_serializer.rb
991
- - app/serializers/alchemy/essence_picture_serializer.rb
992
- - app/serializers/alchemy/essence_richtext_serializer.rb
993
- - app/serializers/alchemy/essence_select_serializer.rb
994
- - app/serializers/alchemy/essence_text_serializer.rb
995
938
  - app/serializers/alchemy/ingredient_serializer.rb
996
939
  - app/serializers/alchemy/node_serializer.rb
997
940
  - app/serializers/alchemy/page_serializer.rb
@@ -1020,7 +963,6 @@ files:
1020
963
  - app/views/alchemy/admin/clipboard/index.html.erb
1021
964
  - app/views/alchemy/admin/clipboard/insert.js.erb
1022
965
  - app/views/alchemy/admin/clipboard/remove.js.erb
1023
- - app/views/alchemy/admin/contents/create.js.erb
1024
966
  - app/views/alchemy/admin/crop.html.erb
1025
967
  - app/views/alchemy/admin/dashboard/_locked_pages.html.erb
1026
968
  - app/views/alchemy/admin/dashboard/_recent_pages.html.erb
@@ -1043,13 +985,6 @@ files:
1043
985
  - app/views/alchemy/admin/elements/order.js.erb
1044
986
  - app/views/alchemy/admin/elements/publish.js.erb
1045
987
  - app/views/alchemy/admin/elements/update.js.erb
1046
- - app/views/alchemy/admin/essence_audios/edit.html.erb
1047
- - app/views/alchemy/admin/essence_files/edit.html.erb
1048
- - app/views/alchemy/admin/essence_pictures/destroy.js.erb
1049
- - app/views/alchemy/admin/essence_pictures/edit.html.erb
1050
- - app/views/alchemy/admin/essence_pictures/save_link.js.erb
1051
- - app/views/alchemy/admin/essence_pictures/update.js.erb
1052
- - app/views/alchemy/admin/essence_videos/edit.html.erb
1053
988
  - app/views/alchemy/admin/ingredients/_audio_fields.html.erb
1054
989
  - app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb
1055
990
  - app/views/alchemy/admin/ingredients/_file_fields.html.erb
@@ -1177,36 +1112,6 @@ files:
1177
1112
  - app/views/alchemy/elements/_view_not_found.html.erb
1178
1113
  - app/views/alchemy/elements/show.html.erb
1179
1114
  - app/views/alchemy/elements/show.js.erb
1180
- - app/views/alchemy/essences/_essence_audio_editor.html.erb
1181
- - app/views/alchemy/essences/_essence_audio_view.html.erb
1182
- - app/views/alchemy/essences/_essence_boolean_editor.html.erb
1183
- - app/views/alchemy/essences/_essence_boolean_view.html.erb
1184
- - app/views/alchemy/essences/_essence_date_editor.html.erb
1185
- - app/views/alchemy/essences/_essence_date_view.html.erb
1186
- - app/views/alchemy/essences/_essence_file_editor.html.erb
1187
- - app/views/alchemy/essences/_essence_file_view.html.erb
1188
- - app/views/alchemy/essences/_essence_headline_editor.html.erb
1189
- - app/views/alchemy/essences/_essence_headline_view.html.erb
1190
- - app/views/alchemy/essences/_essence_html_editor.html.erb
1191
- - app/views/alchemy/essences/_essence_html_view.html.erb
1192
- - app/views/alchemy/essences/_essence_link_editor.html.erb
1193
- - app/views/alchemy/essences/_essence_link_view.html.erb
1194
- - app/views/alchemy/essences/_essence_node_editor.html.erb
1195
- - app/views/alchemy/essences/_essence_node_view.html.erb
1196
- - app/views/alchemy/essences/_essence_page_editor.html.erb
1197
- - app/views/alchemy/essences/_essence_page_view.html.erb
1198
- - app/views/alchemy/essences/_essence_picture_editor.html.erb
1199
- - app/views/alchemy/essences/_essence_picture_view.html.erb
1200
- - app/views/alchemy/essences/_essence_richtext_editor.html.erb
1201
- - app/views/alchemy/essences/_essence_richtext_view.html.erb
1202
- - app/views/alchemy/essences/_essence_select_editor.html.erb
1203
- - app/views/alchemy/essences/_essence_select_view.html.erb
1204
- - app/views/alchemy/essences/_essence_text_editor.html.erb
1205
- - app/views/alchemy/essences/_essence_text_view.html.erb
1206
- - app/views/alchemy/essences/_essence_video_editor.html.erb
1207
- - app/views/alchemy/essences/_essence_video_view.html.erb
1208
- - app/views/alchemy/essences/shared/_essence_picture_tools.html.erb
1209
- - app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb
1210
1115
  - app/views/alchemy/ingredients/_audio_editor.html.erb
1211
1116
  - app/views/alchemy/ingredients/_audio_view.html.erb
1212
1117
  - app/views/alchemy/ingredients/_boolean_editor.html.erb
@@ -1246,7 +1151,6 @@ files:
1246
1151
  - app/views/alchemy/messages_mailer/new.html.erb
1247
1152
  - app/views/alchemy/pages/_meta_data.html.erb
1248
1153
  - app/views/alchemy/pages/show.html.erb
1249
- - app/views/alchemy/pages/show.rss.builder
1250
1154
  - app/views/alchemy/pages/sitemap.xml.erb
1251
1155
  - app/views/alchemy/welcome.html.erb
1252
1156
  - app/views/kaminari/alchemy/_first_page.html.erb
@@ -1272,25 +1176,7 @@ files:
1272
1176
  - config/locales/alchemy.en.yml
1273
1177
  - config/routes.rb
1274
1178
  - config/spring.rb
1275
- - db/migrate/20200226213334_alchemy_four_point_four.rb
1276
- - db/migrate/20200423073425_create_alchemy_essence_nodes.rb
1277
- - db/migrate/20200504210159_remove_site_id_from_nodes.rb
1278
- - db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb
1279
- - db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb
1280
- - db/migrate/20200514091507_make_page_layoutpage_null_false.rb
1281
- - db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb
1282
- - db/migrate/20200617110713_create_alchemy_picture_thumbs.rb
1283
- - db/migrate/20200907111332_remove_tri_state_booleans.rb
1284
- - db/migrate/20201207131309_create_page_versions.rb
1285
- - db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb
1286
- - db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb
1287
- - db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb
1288
- - db/migrate/20210406093436_add_alchemy_essence_headlines.rb
1289
- - db/migrate/20210506135919_create_essence_audios.rb
1290
- - db/migrate/20210506140258_create_essence_videos.rb
1291
- - db/migrate/20210508091432_create_alchemy_ingredients.rb
1292
- - db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb
1293
- - db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb
1179
+ - db/migrate/20230121212637_alchemy_six_point_one.rb
1294
1180
  - db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb
1295
1181
  - lib/alchemy.rb
1296
1182
  - lib/alchemy/ability_helper.rb
@@ -1311,7 +1197,6 @@ files:
1311
1197
  - lib/alchemy/error_tracking.rb
1312
1198
  - lib/alchemy/error_tracking/error_logger.rb
1313
1199
  - lib/alchemy/errors.rb
1314
- - lib/alchemy/essence.rb
1315
1200
  - lib/alchemy/filetypes.rb
1316
1201
  - lib/alchemy/forms/builder.rb
1317
1202
  - lib/alchemy/hints.rb
@@ -1329,24 +1214,17 @@ files:
1329
1214
  - lib/alchemy/resource_filter.rb
1330
1215
  - lib/alchemy/resources_helper.rb
1331
1216
  - lib/alchemy/routing_constraints.rb
1217
+ - lib/alchemy/searchable_resource.rb
1332
1218
  - lib/alchemy/seeder.rb
1333
1219
  - lib/alchemy/shell.rb
1334
1220
  - lib/alchemy/taggable.rb
1335
1221
  - lib/alchemy/tasks/tidy.rb
1336
- - lib/alchemy/tasks/usage.rb
1337
1222
  - lib/alchemy/test_support.rb
1223
+ - lib/alchemy/test_support/capybara_helpers.rb
1338
1224
  - lib/alchemy/test_support/config_stubbing.rb
1339
- - lib/alchemy/test_support/essence_shared_examples.rb
1340
1225
  - lib/alchemy/test_support/factories/attachment_factory.rb
1341
- - lib/alchemy/test_support/factories/content_factory.rb
1342
1226
  - lib/alchemy/test_support/factories/dummy_user_factory.rb
1343
1227
  - lib/alchemy/test_support/factories/element_factory.rb
1344
- - lib/alchemy/test_support/factories/essence_audio_factory.rb
1345
- - lib/alchemy/test_support/factories/essence_file_factory.rb
1346
- - lib/alchemy/test_support/factories/essence_page_factory.rb
1347
- - lib/alchemy/test_support/factories/essence_picture_factory.rb
1348
- - lib/alchemy/test_support/factories/essence_text_factory.rb
1349
- - lib/alchemy/test_support/factories/essence_video_factory.rb
1350
1228
  - lib/alchemy/test_support/factories/ingredient_factory.rb
1351
1229
  - lib/alchemy/test_support/factories/language_factory.rb
1352
1230
  - lib/alchemy/test_support/factories/node_factory.rb
@@ -1366,12 +1244,8 @@ files:
1366
1244
  - lib/alchemy/test_support/shared_uploader_examples.rb
1367
1245
  - lib/alchemy/tinymce.rb
1368
1246
  - lib/alchemy/upgrader.rb
1369
- - lib/alchemy/upgrader/five_point_zero.rb
1370
- - lib/alchemy/upgrader/six_point_zero.rb
1371
- - lib/alchemy/upgrader/tasks/add_page_versions.rb
1372
- - lib/alchemy/upgrader/tasks/element_views_updater.rb
1373
- - lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb
1374
- - lib/alchemy/upgrader/tasks/ingredients_migrator.rb
1247
+ - lib/alchemy/upgrader/seven_point_zero.rb
1248
+ - lib/alchemy/upgrader/tasks/.keep
1375
1249
  - lib/alchemy/version.rb
1376
1250
  - lib/alchemy_cms.rb
1377
1251
  - lib/generators/alchemy/base.rb
@@ -1379,9 +1253,6 @@ files:
1379
1253
  - lib/generators/alchemy/elements/templates/view.html.erb
1380
1254
  - lib/generators/alchemy/elements/templates/view.html.haml
1381
1255
  - lib/generators/alchemy/elements/templates/view.html.slim
1382
- - lib/generators/alchemy/essence/essence_generator.rb
1383
- - lib/generators/alchemy/essence/templates/editor.html.erb
1384
- - lib/generators/alchemy/essence/templates/view.html.erb
1385
1256
  - lib/generators/alchemy/ingredient/ingredient_generator.rb
1386
1257
  - lib/generators/alchemy/ingredient/templates/editor.html.erb
1387
1258
  - lib/generators/alchemy/ingredient/templates/model.rb.tt
@@ -1394,7 +1265,6 @@ files:
1394
1265
  - lib/generators/alchemy/install/files/all.js
1395
1266
  - lib/generators/alchemy/install/files/application.html.erb
1396
1267
  - lib/generators/alchemy/install/files/article.scss
1397
- - lib/generators/alchemy/install/files/babel.config.js
1398
1268
  - lib/generators/alchemy/install/install_generator.rb
1399
1269
  - lib/generators/alchemy/install/templates/dragonfly.rb.tt
1400
1270
  - lib/generators/alchemy/install/templates/elements.yml.tt
@@ -1426,9 +1296,10 @@ files:
1426
1296
  - lib/tasks/alchemy/thumbnails.rake
1427
1297
  - lib/tasks/alchemy/tidy.rake
1428
1298
  - lib/tasks/alchemy/upgrade.rake
1429
- - lib/tasks/alchemy/usage.rake
1430
1299
  - package.json
1431
1300
  - package/admin.js
1301
+ - package/dist/admin.js
1302
+ - package/dist/admin.js.map
1432
1303
  - package/src/__tests__/i18n.spec.js
1433
1304
  - package/src/datepicker.js
1434
1305
  - package/src/file_editors.js
@@ -1523,12 +1394,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1523
1394
  version: 2.5.0
1524
1395
  required_rubygems_version: !ruby/object:Gem::Requirement
1525
1396
  requirements:
1526
- - - ">="
1397
+ - - ">"
1527
1398
  - !ruby/object:Gem::Version
1528
- version: '0'
1399
+ version: 1.3.1
1529
1400
  requirements:
1530
1401
  - ImageMagick (libmagick), v6.6 or greater.
1531
- rubygems_version: 3.5.11
1402
+ rubygems_version: 3.4.6
1532
1403
  signing_key:
1533
1404
  specification_version: 4
1534
1405
  summary: A powerful, userfriendly and flexible CMS for Rails
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- class ContentsController < Alchemy::Admin::BaseController
6
- helper "alchemy/admin/essences"
7
-
8
- authorize_resource class: Alchemy::Content
9
-
10
- def create
11
- @content = Content.create(content_params)
12
- end
13
-
14
- private
15
-
16
- def content_params
17
- params.require(:content).permit(:element_id, :name, :ingredient)
18
- end
19
- end
20
- end
21
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- class EssenceAudiosController < Alchemy::Admin::BaseController
6
- authorize_resource class: Alchemy::EssenceAudio
7
- before_action :load_essence
8
-
9
- def update
10
- @essence_audio.update(essence_audio_params)
11
- end
12
-
13
- private
14
-
15
- def load_essence
16
- @essence_audio = EssenceAudio.find(params[:id])
17
- end
18
-
19
- def essence_audio_params
20
- params.require(:essence_audio).permit(
21
- :autoplay,
22
- :controls,
23
- :loop,
24
- :muted,
25
- :attachment_id
26
- )
27
- end
28
- end
29
- end
30
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- class EssenceFilesController < Alchemy::Admin::BaseController
6
- authorize_resource class: Alchemy::EssenceFile
7
-
8
- before_action :load_essence_file, only: [:edit, :update]
9
-
10
- helper "Alchemy::Admin::Contents"
11
-
12
- def edit
13
- @content = @essence_file.content
14
- end
15
-
16
- def update
17
- @essence_file.update(essence_file_params)
18
- end
19
-
20
- private
21
-
22
- def essence_file_params
23
- params.require(:essence_file).permit(:title, :css_class, :link_text)
24
- end
25
-
26
- def load_essence_file
27
- @essence_file = EssenceFile.find(params[:id])
28
- end
29
- end
30
- end
31
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- class EssencePicturesController < Alchemy::Admin::BaseController
6
- include CropAction
7
-
8
- authorize_resource class: Alchemy::EssencePicture
9
-
10
- before_action :load_essence_picture, only: [:edit, :update]
11
- before_action :load_content, only: [:edit, :update]
12
-
13
- helper "alchemy/admin/contents"
14
- helper "alchemy/admin/essences"
15
- helper "alchemy/url"
16
-
17
- def edit
18
- end
19
-
20
- def update
21
- @essence_picture.update(essence_picture_params)
22
- end
23
-
24
- private
25
-
26
- def load_essence_picture
27
- @essence_picture = EssencePicture.find(params[:id])
28
- end
29
-
30
- def load_croppable_resource
31
- @croppable_resource = EssencePicture.find(params[:id])
32
- end
33
-
34
- def load_content
35
- @content = Content.find(params[:content_id])
36
- end
37
-
38
- def essence_picture_params
39
- params.require(:essence_picture).permit(:alt_tag, :caption, :css_class, :render_size, :title, :crop_from, :crop_size)
40
- end
41
- end
42
- end
43
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- module Admin
5
- class EssenceVideosController < Alchemy::Admin::BaseController
6
- authorize_resource class: Alchemy::EssenceVideo
7
- before_action :load_essence
8
-
9
- def update
10
- @essence_video.update(essence_video_params)
11
- end
12
-
13
- private
14
-
15
- def load_essence
16
- @essence_video = EssenceVideo.find(params[:id])
17
- end
18
-
19
- def essence_video_params
20
- params.require(:essence_video).permit(
21
- :width,
22
- :height,
23
- :autoplay,
24
- :controls,
25
- :loop,
26
- :muted,
27
- :playsinline,
28
- :preload,
29
- :attachment_id
30
- )
31
- end
32
- end
33
- end
34
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Alchemy
4
- class Api::ContentsController < Api::BaseController
5
- # Returns all contents as json object
6
- #
7
- # You can either load all or only these for :element_id param
8
- #
9
- def index
10
- # Fix for cancancan not able to merge multiple AR scopes for logged in users
11
- if can? :manage, Alchemy::Content
12
- @contents = Content.all
13
- else
14
- @contents = Content.accessible_by(current_ability, :index)
15
- end
16
- if params[:element_id].present?
17
- @contents = @contents.where(element_id: params[:element_id])
18
- end
19
- @contents = @contents.includes(*content_includes)
20
-
21
- render json: @contents, adapter: :json, root: "contents"
22
- end
23
-
24
- # Returns a json object for content
25
- #
26
- # You can either load it from :id param
27
- # or even more useful via passing the element id and the name of the content
28
- #
29
- # $ bin/rake routes
30
- #
31
- # for more infos on how the url looks like.
32
- #
33
- def show
34
- if params[:id]
35
- @content = Content.where(id: params[:id]).includes(:essence).first
36
- elsif params[:element_id] && params[:name]
37
- @content = Content.where(
38
- element_id: params[:element_id],
39
- name: params[:name],
40
- ).includes(*content_includes).first || raise(ActiveRecord::RecordNotFound)
41
- end
42
- authorize! :show, @content
43
- respond_with @content
44
- end
45
-
46
- private
47
-
48
- def content_includes
49
- %i[essence]
50
- end
51
- end
52
- end