alchemy_cms 6.1.2 → 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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +0 -3
  3. data/.gitignore +1 -6
  4. data/CHANGELOG.md +22 -8
  5. data/Gemfile +1 -0
  6. data/Rakefile +13 -8
  7. data/alchemy_cms.gemspec +1 -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 +6 -4
  23. data/app/controllers/alchemy/messages_controller.rb +9 -9
  24. data/app/controllers/alchemy/pages_controller.rb +19 -28
  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 -16
  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 -8
  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 +12 -10
  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 -2
  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/_tinymce_custom_config.html.erb +3 -6
  73. data/app/views/alchemy/admin/pages/edit.html.erb +1 -1
  74. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +1 -3
  75. data/app/views/alchemy/admin/pictures/_infos.html.erb +4 -6
  76. data/app/views/alchemy/ingredients/_boolean_editor.html.erb +1 -1
  77. data/app/views/alchemy/ingredients/_headline_editor.html.erb +1 -1
  78. data/app/views/alchemy/ingredients/_html_editor.html.erb +1 -1
  79. data/app/views/alchemy/ingredients/_node_editor.html.erb +1 -1
  80. data/app/views/alchemy/ingredients/_picture_editor.html.erb +4 -4
  81. data/app/views/alchemy/ingredients/_select_editor.html.erb +2 -2
  82. data/app/views/alchemy/ingredients/_text_editor.html.erb +1 -1
  83. data/app/views/alchemy/ingredients/shared/_link_tools.html.erb +3 -3
  84. data/app/views/alchemy/pages/_meta_data.html.erb +0 -1
  85. data/app/views/layouts/alchemy/admin.html.erb +5 -1
  86. data/config/alchemy/config.yml +6 -6
  87. data/config/brakeman.ignore +56 -57
  88. data/config/locales/alchemy.en.yml +98 -112
  89. data/config/routes.rb +1 -16
  90. data/db/migrate/20230121212637_alchemy_six_point_one.rb +248 -0
  91. data/lib/alchemy/cache_digests/template_tracker.rb +6 -7
  92. data/lib/alchemy/config.rb +2 -2
  93. data/lib/alchemy/deprecation.rb +1 -1
  94. data/lib/alchemy/errors.rb +0 -11
  95. data/lib/alchemy/hints.rb +10 -10
  96. data/lib/alchemy/install/tasks.rb +7 -1
  97. data/lib/alchemy/permissions.rb +0 -13
  98. data/lib/alchemy/routing_constraints.rb +3 -3
  99. data/lib/alchemy/searchable_resource.rb +38 -0
  100. data/lib/alchemy/tasks/tidy.rb +0 -38
  101. data/lib/alchemy/test_support/capybara_helpers.rb +69 -0
  102. data/lib/alchemy/test_support/factories/element_factory.rb +0 -6
  103. data/lib/alchemy/test_support/factories/ingredient_factory.rb +1 -1
  104. data/lib/alchemy/test_support/factories/page_factory.rb +4 -2
  105. data/lib/alchemy/test_support/shared_dom_ids_examples.rb +1 -1
  106. data/lib/alchemy/test_support/shared_ingredient_examples.rb +1 -1
  107. data/lib/alchemy/tinymce.rb +1 -18
  108. data/lib/alchemy/upgrader/seven_point_zero.rb +45 -0
  109. data/lib/alchemy/upgrader/tasks/.keep +0 -0
  110. data/lib/alchemy/upgrader.rb +8 -3
  111. data/lib/alchemy/version.rb +1 -1
  112. data/lib/alchemy.rb +0 -19
  113. data/lib/alchemy_cms.rb +2 -3
  114. data/lib/generators/alchemy/elements/elements_generator.rb +0 -1
  115. data/lib/generators/alchemy/elements/templates/view.html.erb +1 -10
  116. data/lib/generators/alchemy/elements/templates/view.html.haml +1 -9
  117. data/lib/generators/alchemy/elements/templates/view.html.slim +1 -9
  118. data/lib/generators/alchemy/install/files/alchemy.en.yml +7 -8
  119. data/lib/generators/alchemy/install/files/application.html.erb +1 -1
  120. data/lib/generators/alchemy/install/install_generator.rb +18 -22
  121. data/lib/generators/alchemy/install/templates/elements.yml.tt +12 -12
  122. data/lib/non_stupid_digest_assets.rb +55 -0
  123. data/lib/tasks/alchemy/thumbnails.rake +2 -21
  124. data/lib/tasks/alchemy/tidy.rake +1 -12
  125. data/lib/tasks/alchemy/upgrade.rake +10 -47
  126. data/package/dist/admin.js +16 -0
  127. data/package/dist/admin.js.map +7 -0
  128. data/package.json +5 -3
  129. metadata +15 -154
  130. data/app/controllers/alchemy/admin/contents_controller.rb +0 -21
  131. data/app/controllers/alchemy/admin/essence_audios_controller.rb +0 -30
  132. data/app/controllers/alchemy/admin/essence_files_controller.rb +0 -31
  133. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +0 -43
  134. data/app/controllers/alchemy/admin/essence_videos_controller.rb +0 -34
  135. data/app/controllers/alchemy/api/contents_controller.rb +0 -52
  136. data/app/decorators/alchemy/content_editor.rb +0 -119
  137. data/app/helpers/alchemy/admin/contents_helper.rb +0 -42
  138. data/app/helpers/alchemy/admin/essences_helper.rb +0 -31
  139. data/app/models/alchemy/content/factory.rb +0 -143
  140. data/app/models/alchemy/content.rb +0 -247
  141. data/app/models/alchemy/element/element_contents.rb +0 -200
  142. data/app/models/alchemy/element/element_essences.rb +0 -133
  143. data/app/models/alchemy/essence_audio.rb +0 -13
  144. data/app/models/alchemy/essence_boolean.rb +0 -20
  145. data/app/models/alchemy/essence_date.rb +0 -25
  146. data/app/models/alchemy/essence_file.rb +0 -49
  147. data/app/models/alchemy/essence_headline.rb +0 -41
  148. data/app/models/alchemy/essence_html.rb +0 -23
  149. data/app/models/alchemy/essence_link.rb +0 -21
  150. data/app/models/alchemy/essence_node.rb +0 -19
  151. data/app/models/alchemy/essence_page.rb +0 -17
  152. data/app/models/alchemy/essence_picture.rb +0 -67
  153. data/app/models/alchemy/essence_picture_view.rb +0 -90
  154. data/app/models/alchemy/essence_richtext.rb +0 -44
  155. data/app/models/alchemy/essence_select.rb +0 -19
  156. data/app/models/alchemy/essence_text.rb +0 -23
  157. data/app/models/alchemy/essence_video.rb +0 -13
  158. data/app/serializers/alchemy/content_serializer.rb +0 -17
  159. data/app/serializers/alchemy/essence_boolean_serializer.rb +0 -10
  160. data/app/serializers/alchemy/essence_date_serializer.rb +0 -10
  161. data/app/serializers/alchemy/essence_file_serializer.rb +0 -13
  162. data/app/serializers/alchemy/essence_html_serializer.rb +0 -10
  163. data/app/serializers/alchemy/essence_link_serializer.rb +0 -13
  164. data/app/serializers/alchemy/essence_picture_serializer.rb +0 -28
  165. data/app/serializers/alchemy/essence_richtext_serializer.rb +0 -11
  166. data/app/serializers/alchemy/essence_select_serializer.rb +0 -10
  167. data/app/serializers/alchemy/essence_text_serializer.rb +0 -22
  168. data/app/views/alchemy/admin/contents/create.js.erb +0 -21
  169. data/app/views/alchemy/admin/essence_audios/edit.html.erb +0 -7
  170. data/app/views/alchemy/admin/essence_files/edit.html.erb +0 -21
  171. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +0 -5
  172. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +0 -30
  173. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +0 -3
  174. data/app/views/alchemy/admin/essence_pictures/update.js.erb +0 -8
  175. data/app/views/alchemy/admin/essence_videos/edit.html.erb +0 -12
  176. data/app/views/alchemy/essences/_essence_audio_editor.html.erb +0 -4
  177. data/app/views/alchemy/essences/_essence_audio_view.html.erb +0 -15
  178. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +0 -11
  179. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +0 -2
  180. data/app/views/alchemy/essences/_essence_date_editor.html.erb +0 -16
  181. data/app/views/alchemy/essences/_essence_date_view.html.erb +0 -10
  182. data/app/views/alchemy/essences/_essence_file_editor.html.erb +0 -54
  183. data/app/views/alchemy/essences/_essence_file_view.html.erb +0 -18
  184. data/app/views/alchemy/essences/_essence_headline_editor.html.erb +0 -36
  185. data/app/views/alchemy/essences/_essence_headline_view.html.erb +0 -10
  186. data/app/views/alchemy/essences/_essence_html_editor.html.erb +0 -10
  187. data/app/views/alchemy/essences/_essence_html_view.html.erb +0 -2
  188. data/app/views/alchemy/essences/_essence_link_editor.html.erb +0 -30
  189. data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -10
  190. data/app/views/alchemy/essences/_essence_node_editor.html.erb +0 -27
  191. data/app/views/alchemy/essences/_essence_node_view.html.erb +0 -1
  192. data/app/views/alchemy/essences/_essence_page_editor.html.erb +0 -26
  193. data/app/views/alchemy/essences/_essence_page_view.html.erb +0 -5
  194. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +0 -59
  195. data/app/views/alchemy/essences/_essence_picture_view.html.erb +0 -6
  196. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -14
  197. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +0 -4
  198. data/app/views/alchemy/essences/_essence_select_editor.html.erb +0 -28
  199. data/app/views/alchemy/essences/_essence_select_view.html.erb +0 -2
  200. data/app/views/alchemy/essences/_essence_text_editor.html.erb +0 -29
  201. data/app/views/alchemy/essences/_essence_text_view.html.erb +0 -17
  202. data/app/views/alchemy/essences/_essence_video_editor.html.erb +0 -4
  203. data/app/views/alchemy/essences/_essence_video_view.html.erb +0 -19
  204. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +0 -59
  205. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +0 -20
  206. data/app/views/alchemy/pages/show.rss.builder +0 -21
  207. data/db/migrate/20200226213334_alchemy_four_point_four.rb +0 -313
  208. data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +0 -11
  209. data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +0 -28
  210. data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +0 -8
  211. data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +0 -27
  212. data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +0 -6
  213. data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +0 -24
  214. data/db/migrate/20200617110713_create_alchemy_picture_thumbs.rb +0 -22
  215. data/db/migrate/20200907111332_remove_tri_state_booleans.rb +0 -33
  216. data/db/migrate/20201207131309_create_page_versions.rb +0 -19
  217. data/db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb +0 -76
  218. data/db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb +0 -10
  219. data/db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb +0 -7
  220. data/db/migrate/20210406093436_add_alchemy_essence_headlines.rb +0 -12
  221. data/db/migrate/20210506135919_create_essence_audios.rb +0 -19
  222. data/db/migrate/20210506140258_create_essence_videos.rb +0 -23
  223. data/db/migrate/20210508091432_create_alchemy_ingredients.rb +0 -22
  224. data/db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb +0 -13
  225. data/db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb +0 -9
  226. data/lib/alchemy/essence.rb +0 -250
  227. data/lib/alchemy/test_support/essence_shared_examples.rb +0 -271
  228. data/lib/alchemy/test_support/factories/content_factory.rb +0 -20
  229. data/lib/alchemy/test_support/factories/essence_audio_factory.rb +0 -7
  230. data/lib/alchemy/test_support/factories/essence_file_factory.rb +0 -7
  231. data/lib/alchemy/test_support/factories/essence_page_factory.rb +0 -7
  232. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +0 -11
  233. data/lib/alchemy/test_support/factories/essence_text_factory.rb +0 -7
  234. data/lib/alchemy/test_support/factories/essence_video_factory.rb +0 -7
  235. data/lib/alchemy/upgrader/five_point_zero.rb +0 -41
  236. data/lib/alchemy/upgrader/six_point_zero.rb +0 -21
  237. data/lib/alchemy/upgrader/tasks/add_page_versions.rb +0 -33
  238. data/lib/alchemy/upgrader/tasks/element_views_updater.rb +0 -34
  239. data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +0 -29
  240. data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +0 -74
  241. data/lib/generators/alchemy/essence/essence_generator.rb +0 -49
  242. data/lib/generators/alchemy/essence/templates/editor.html.erb +0 -17
  243. data/lib/generators/alchemy/essence/templates/view.html.erb +0 -2
data/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@alchemy_cms/admin",
3
- "version": "6.1.2",
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.2
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: 2023-02-27 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
@@ -387,20 +387,6 @@ dependencies:
387
387
  - - "~>"
388
388
  - !ruby/object:Gem::Version
389
389
  version: '3.1'
390
- - !ruby/object:Gem::Dependency
391
- name: non-stupid-digest-assets
392
- requirement: !ruby/object:Gem::Requirement
393
- requirements:
394
- - - "~>"
395
- - !ruby/object:Gem::Version
396
- version: 1.0.8
397
- type: :runtime
398
- prerelease: false
399
- version_requirements: !ruby/object:Gem::Requirement
400
- requirements:
401
- - - "~>"
402
- - !ruby/object:Gem::Version
403
- version: 1.0.8
404
390
  - !ruby/object:Gem::Dependency
405
391
  name: ransack
406
392
  requirement: !ruby/object:Gem::Requirement
@@ -410,7 +396,7 @@ dependencies:
410
396
  version: '1.8'
411
397
  - - "<"
412
398
  - !ruby/object:Gem::Version
413
- version: '4.0'
399
+ version: '5.0'
414
400
  type: :runtime
415
401
  prerelease: false
416
402
  version_requirements: !ruby/object:Gem::Requirement
@@ -420,7 +406,7 @@ dependencies:
420
406
  version: '1.8'
421
407
  - - "<"
422
408
  - !ruby/object:Gem::Version
423
- version: '4.0'
409
+ version: '5.0'
424
410
  - !ruby/object:Gem::Dependency
425
411
  name: request_store
426
412
  requirement: !ruby/object:Gem::Requirement
@@ -523,26 +509,6 @@ dependencies:
523
509
  - - ">="
524
510
  - !ruby/object:Gem::Version
525
511
  version: '2.5'
526
- - !ruby/object:Gem::Dependency
527
- name: webpacker
528
- requirement: !ruby/object:Gem::Requirement
529
- requirements:
530
- - - ">="
531
- - !ruby/object:Gem::Version
532
- version: '4.0'
533
- - - "<"
534
- - !ruby/object:Gem::Version
535
- version: '6'
536
- type: :runtime
537
- prerelease: false
538
- version_requirements: !ruby/object:Gem::Requirement
539
- requirements:
540
- - - ">="
541
- - !ruby/object:Gem::Version
542
- version: '4.0'
543
- - - "<"
544
- - !ruby/object:Gem::Version
545
- version: '6'
546
512
  - !ruby/object:Gem::Dependency
547
513
  name: capybara
548
514
  requirement: !ruby/object:Gem::Requirement
@@ -854,13 +820,8 @@ files:
854
820
  - app/controllers/alchemy/admin/attachments_controller.rb
855
821
  - app/controllers/alchemy/admin/base_controller.rb
856
822
  - app/controllers/alchemy/admin/clipboard_controller.rb
857
- - app/controllers/alchemy/admin/contents_controller.rb
858
823
  - app/controllers/alchemy/admin/dashboard_controller.rb
859
824
  - app/controllers/alchemy/admin/elements_controller.rb
860
- - app/controllers/alchemy/admin/essence_audios_controller.rb
861
- - app/controllers/alchemy/admin/essence_files_controller.rb
862
- - app/controllers/alchemy/admin/essence_pictures_controller.rb
863
- - app/controllers/alchemy/admin/essence_videos_controller.rb
864
825
  - app/controllers/alchemy/admin/ingredients_controller.rb
865
826
  - app/controllers/alchemy/admin/languages_controller.rb
866
827
  - app/controllers/alchemy/admin/layoutpages_controller.rb
@@ -873,7 +834,6 @@ files:
873
834
  - app/controllers/alchemy/admin/styleguide_controller.rb
874
835
  - app/controllers/alchemy/admin/tags_controller.rb
875
836
  - app/controllers/alchemy/api/base_controller.rb
876
- - app/controllers/alchemy/api/contents_controller.rb
877
837
  - app/controllers/alchemy/api/elements_controller.rb
878
838
  - app/controllers/alchemy/api/ingredients_controller.rb
879
839
  - app/controllers/alchemy/api/nodes_controller.rb
@@ -889,14 +849,11 @@ files:
889
849
  - app/controllers/concerns/alchemy/admin/uploader_responses.rb
890
850
  - app/controllers/concerns/alchemy/legacy_page_redirects.rb
891
851
  - app/controllers/concerns/alchemy/site_redirects.rb
892
- - app/decorators/alchemy/content_editor.rb
893
852
  - app/decorators/alchemy/element_editor.rb
894
853
  - app/decorators/alchemy/ingredient_editor.rb
895
854
  - app/helpers/alchemy/admin/attachments_helper.rb
896
855
  - app/helpers/alchemy/admin/base_helper.rb
897
- - app/helpers/alchemy/admin/contents_helper.rb
898
856
  - app/helpers/alchemy/admin/elements_helper.rb
899
- - app/helpers/alchemy/admin/essences_helper.rb
900
857
  - app/helpers/alchemy/admin/form_helper.rb
901
858
  - app/helpers/alchemy/admin/ingredients_helper.rb
902
859
  - app/helpers/alchemy/admin/navigation_helper.rb
@@ -915,33 +872,14 @@ files:
915
872
  - app/models/alchemy/attachment.rb
916
873
  - app/models/alchemy/attachment/url.rb
917
874
  - app/models/alchemy/base_record.rb
918
- - app/models/alchemy/content.rb
919
- - app/models/alchemy/content/factory.rb
920
875
  - app/models/alchemy/eager_loading.rb
921
876
  - app/models/alchemy/element.rb
922
877
  - app/models/alchemy/element/definitions.rb
923
878
  - app/models/alchemy/element/dom_id.rb
924
- - app/models/alchemy/element/element_contents.rb
925
- - app/models/alchemy/element/element_essences.rb
926
879
  - app/models/alchemy/element/element_ingredients.rb
927
880
  - app/models/alchemy/element/presenters.rb
928
881
  - app/models/alchemy/element_to_page.rb
929
882
  - app/models/alchemy/elements_repository.rb
930
- - app/models/alchemy/essence_audio.rb
931
- - app/models/alchemy/essence_boolean.rb
932
- - app/models/alchemy/essence_date.rb
933
- - app/models/alchemy/essence_file.rb
934
- - app/models/alchemy/essence_headline.rb
935
- - app/models/alchemy/essence_html.rb
936
- - app/models/alchemy/essence_link.rb
937
- - app/models/alchemy/essence_node.rb
938
- - app/models/alchemy/essence_page.rb
939
- - app/models/alchemy/essence_picture.rb
940
- - app/models/alchemy/essence_picture_view.rb
941
- - app/models/alchemy/essence_richtext.rb
942
- - app/models/alchemy/essence_select.rb
943
- - app/models/alchemy/essence_text.rb
944
- - app/models/alchemy/essence_video.rb
945
883
  - app/models/alchemy/folded_page.rb
946
884
  - app/models/alchemy/image_cropper_settings.rb
947
885
  - app/models/alchemy/ingredient.rb
@@ -982,6 +920,7 @@ files:
982
920
  - app/models/alchemy/picture/url.rb
983
921
  - app/models/alchemy/picture_thumb.rb
984
922
  - app/models/alchemy/picture_thumb/create.rb
923
+ - app/models/alchemy/picture_thumb/file_store.rb
985
924
  - app/models/alchemy/picture_thumb/signature.rb
986
925
  - app/models/alchemy/picture_thumb/uid.rb
987
926
  - app/models/alchemy/picture_variant.rb
@@ -995,17 +934,7 @@ files:
995
934
  - app/presenters/alchemy/picture_view.rb
996
935
  - app/serializers/alchemy/attachment_serializer.rb
997
936
  - app/serializers/alchemy/base_serializer.rb
998
- - app/serializers/alchemy/content_serializer.rb
999
937
  - app/serializers/alchemy/element_serializer.rb
1000
- - app/serializers/alchemy/essence_boolean_serializer.rb
1001
- - app/serializers/alchemy/essence_date_serializer.rb
1002
- - app/serializers/alchemy/essence_file_serializer.rb
1003
- - app/serializers/alchemy/essence_html_serializer.rb
1004
- - app/serializers/alchemy/essence_link_serializer.rb
1005
- - app/serializers/alchemy/essence_picture_serializer.rb
1006
- - app/serializers/alchemy/essence_richtext_serializer.rb
1007
- - app/serializers/alchemy/essence_select_serializer.rb
1008
- - app/serializers/alchemy/essence_text_serializer.rb
1009
938
  - app/serializers/alchemy/ingredient_serializer.rb
1010
939
  - app/serializers/alchemy/node_serializer.rb
1011
940
  - app/serializers/alchemy/page_serializer.rb
@@ -1034,7 +963,6 @@ files:
1034
963
  - app/views/alchemy/admin/clipboard/index.html.erb
1035
964
  - app/views/alchemy/admin/clipboard/insert.js.erb
1036
965
  - app/views/alchemy/admin/clipboard/remove.js.erb
1037
- - app/views/alchemy/admin/contents/create.js.erb
1038
966
  - app/views/alchemy/admin/crop.html.erb
1039
967
  - app/views/alchemy/admin/dashboard/_locked_pages.html.erb
1040
968
  - app/views/alchemy/admin/dashboard/_recent_pages.html.erb
@@ -1057,13 +985,6 @@ files:
1057
985
  - app/views/alchemy/admin/elements/order.js.erb
1058
986
  - app/views/alchemy/admin/elements/publish.js.erb
1059
987
  - app/views/alchemy/admin/elements/update.js.erb
1060
- - app/views/alchemy/admin/essence_audios/edit.html.erb
1061
- - app/views/alchemy/admin/essence_files/edit.html.erb
1062
- - app/views/alchemy/admin/essence_pictures/destroy.js.erb
1063
- - app/views/alchemy/admin/essence_pictures/edit.html.erb
1064
- - app/views/alchemy/admin/essence_pictures/save_link.js.erb
1065
- - app/views/alchemy/admin/essence_pictures/update.js.erb
1066
- - app/views/alchemy/admin/essence_videos/edit.html.erb
1067
988
  - app/views/alchemy/admin/ingredients/_audio_fields.html.erb
1068
989
  - app/views/alchemy/admin/ingredients/_dom_id_fields.html.erb
1069
990
  - app/views/alchemy/admin/ingredients/_file_fields.html.erb
@@ -1191,36 +1112,6 @@ files:
1191
1112
  - app/views/alchemy/elements/_view_not_found.html.erb
1192
1113
  - app/views/alchemy/elements/show.html.erb
1193
1114
  - app/views/alchemy/elements/show.js.erb
1194
- - app/views/alchemy/essences/_essence_audio_editor.html.erb
1195
- - app/views/alchemy/essences/_essence_audio_view.html.erb
1196
- - app/views/alchemy/essences/_essence_boolean_editor.html.erb
1197
- - app/views/alchemy/essences/_essence_boolean_view.html.erb
1198
- - app/views/alchemy/essences/_essence_date_editor.html.erb
1199
- - app/views/alchemy/essences/_essence_date_view.html.erb
1200
- - app/views/alchemy/essences/_essence_file_editor.html.erb
1201
- - app/views/alchemy/essences/_essence_file_view.html.erb
1202
- - app/views/alchemy/essences/_essence_headline_editor.html.erb
1203
- - app/views/alchemy/essences/_essence_headline_view.html.erb
1204
- - app/views/alchemy/essences/_essence_html_editor.html.erb
1205
- - app/views/alchemy/essences/_essence_html_view.html.erb
1206
- - app/views/alchemy/essences/_essence_link_editor.html.erb
1207
- - app/views/alchemy/essences/_essence_link_view.html.erb
1208
- - app/views/alchemy/essences/_essence_node_editor.html.erb
1209
- - app/views/alchemy/essences/_essence_node_view.html.erb
1210
- - app/views/alchemy/essences/_essence_page_editor.html.erb
1211
- - app/views/alchemy/essences/_essence_page_view.html.erb
1212
- - app/views/alchemy/essences/_essence_picture_editor.html.erb
1213
- - app/views/alchemy/essences/_essence_picture_view.html.erb
1214
- - app/views/alchemy/essences/_essence_richtext_editor.html.erb
1215
- - app/views/alchemy/essences/_essence_richtext_view.html.erb
1216
- - app/views/alchemy/essences/_essence_select_editor.html.erb
1217
- - app/views/alchemy/essences/_essence_select_view.html.erb
1218
- - app/views/alchemy/essences/_essence_text_editor.html.erb
1219
- - app/views/alchemy/essences/_essence_text_view.html.erb
1220
- - app/views/alchemy/essences/_essence_video_editor.html.erb
1221
- - app/views/alchemy/essences/_essence_video_view.html.erb
1222
- - app/views/alchemy/essences/shared/_essence_picture_tools.html.erb
1223
- - app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb
1224
1115
  - app/views/alchemy/ingredients/_audio_editor.html.erb
1225
1116
  - app/views/alchemy/ingredients/_audio_view.html.erb
1226
1117
  - app/views/alchemy/ingredients/_boolean_editor.html.erb
@@ -1260,7 +1151,6 @@ files:
1260
1151
  - app/views/alchemy/messages_mailer/new.html.erb
1261
1152
  - app/views/alchemy/pages/_meta_data.html.erb
1262
1153
  - app/views/alchemy/pages/show.html.erb
1263
- - app/views/alchemy/pages/show.rss.builder
1264
1154
  - app/views/alchemy/pages/sitemap.xml.erb
1265
1155
  - app/views/alchemy/welcome.html.erb
1266
1156
  - app/views/kaminari/alchemy/_first_page.html.erb
@@ -1286,25 +1176,7 @@ files:
1286
1176
  - config/locales/alchemy.en.yml
1287
1177
  - config/routes.rb
1288
1178
  - config/spring.rb
1289
- - db/migrate/20200226213334_alchemy_four_point_four.rb
1290
- - db/migrate/20200423073425_create_alchemy_essence_nodes.rb
1291
- - db/migrate/20200504210159_remove_site_id_from_nodes.rb
1292
- - db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb
1293
- - db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb
1294
- - db/migrate/20200514091507_make_page_layoutpage_null_false.rb
1295
- - db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb
1296
- - db/migrate/20200617110713_create_alchemy_picture_thumbs.rb
1297
- - db/migrate/20200907111332_remove_tri_state_booleans.rb
1298
- - db/migrate/20201207131309_create_page_versions.rb
1299
- - db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb
1300
- - db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb
1301
- - db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb
1302
- - db/migrate/20210406093436_add_alchemy_essence_headlines.rb
1303
- - db/migrate/20210506135919_create_essence_audios.rb
1304
- - db/migrate/20210506140258_create_essence_videos.rb
1305
- - db/migrate/20210508091432_create_alchemy_ingredients.rb
1306
- - db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb
1307
- - db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb
1179
+ - db/migrate/20230121212637_alchemy_six_point_one.rb
1308
1180
  - db/migrate/20230123112425_add_searchable_to_alchemy_pages.rb
1309
1181
  - lib/alchemy.rb
1310
1182
  - lib/alchemy/ability_helper.rb
@@ -1325,7 +1197,6 @@ files:
1325
1197
  - lib/alchemy/error_tracking.rb
1326
1198
  - lib/alchemy/error_tracking/error_logger.rb
1327
1199
  - lib/alchemy/errors.rb
1328
- - lib/alchemy/essence.rb
1329
1200
  - lib/alchemy/filetypes.rb
1330
1201
  - lib/alchemy/forms/builder.rb
1331
1202
  - lib/alchemy/hints.rb
@@ -1343,23 +1214,17 @@ files:
1343
1214
  - lib/alchemy/resource_filter.rb
1344
1215
  - lib/alchemy/resources_helper.rb
1345
1216
  - lib/alchemy/routing_constraints.rb
1217
+ - lib/alchemy/searchable_resource.rb
1346
1218
  - lib/alchemy/seeder.rb
1347
1219
  - lib/alchemy/shell.rb
1348
1220
  - lib/alchemy/taggable.rb
1349
1221
  - lib/alchemy/tasks/tidy.rb
1350
1222
  - lib/alchemy/test_support.rb
1223
+ - lib/alchemy/test_support/capybara_helpers.rb
1351
1224
  - lib/alchemy/test_support/config_stubbing.rb
1352
- - lib/alchemy/test_support/essence_shared_examples.rb
1353
1225
  - lib/alchemy/test_support/factories/attachment_factory.rb
1354
- - lib/alchemy/test_support/factories/content_factory.rb
1355
1226
  - lib/alchemy/test_support/factories/dummy_user_factory.rb
1356
1227
  - lib/alchemy/test_support/factories/element_factory.rb
1357
- - lib/alchemy/test_support/factories/essence_audio_factory.rb
1358
- - lib/alchemy/test_support/factories/essence_file_factory.rb
1359
- - lib/alchemy/test_support/factories/essence_page_factory.rb
1360
- - lib/alchemy/test_support/factories/essence_picture_factory.rb
1361
- - lib/alchemy/test_support/factories/essence_text_factory.rb
1362
- - lib/alchemy/test_support/factories/essence_video_factory.rb
1363
1228
  - lib/alchemy/test_support/factories/ingredient_factory.rb
1364
1229
  - lib/alchemy/test_support/factories/language_factory.rb
1365
1230
  - lib/alchemy/test_support/factories/node_factory.rb
@@ -1379,12 +1244,8 @@ files:
1379
1244
  - lib/alchemy/test_support/shared_uploader_examples.rb
1380
1245
  - lib/alchemy/tinymce.rb
1381
1246
  - lib/alchemy/upgrader.rb
1382
- - lib/alchemy/upgrader/five_point_zero.rb
1383
- - lib/alchemy/upgrader/six_point_zero.rb
1384
- - lib/alchemy/upgrader/tasks/add_page_versions.rb
1385
- - lib/alchemy/upgrader/tasks/element_views_updater.rb
1386
- - lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb
1387
- - lib/alchemy/upgrader/tasks/ingredients_migrator.rb
1247
+ - lib/alchemy/upgrader/seven_point_zero.rb
1248
+ - lib/alchemy/upgrader/tasks/.keep
1388
1249
  - lib/alchemy/version.rb
1389
1250
  - lib/alchemy_cms.rb
1390
1251
  - lib/generators/alchemy/base.rb
@@ -1392,9 +1253,6 @@ files:
1392
1253
  - lib/generators/alchemy/elements/templates/view.html.erb
1393
1254
  - lib/generators/alchemy/elements/templates/view.html.haml
1394
1255
  - lib/generators/alchemy/elements/templates/view.html.slim
1395
- - lib/generators/alchemy/essence/essence_generator.rb
1396
- - lib/generators/alchemy/essence/templates/editor.html.erb
1397
- - lib/generators/alchemy/essence/templates/view.html.erb
1398
1256
  - lib/generators/alchemy/ingredient/ingredient_generator.rb
1399
1257
  - lib/generators/alchemy/ingredient/templates/editor.html.erb
1400
1258
  - lib/generators/alchemy/ingredient/templates/model.rb.tt
@@ -1432,6 +1290,7 @@ files:
1432
1290
  - lib/generators/alchemy/site_layouts/templates/layout.html.haml
1433
1291
  - lib/generators/alchemy/site_layouts/templates/layout.html.slim
1434
1292
  - lib/generators/alchemy/views/views_generator.rb
1293
+ - lib/non_stupid_digest_assets.rb
1435
1294
  - lib/tasks/alchemy/db.rake
1436
1295
  - lib/tasks/alchemy/install.rake
1437
1296
  - lib/tasks/alchemy/thumbnails.rake
@@ -1439,6 +1298,8 @@ files:
1439
1298
  - lib/tasks/alchemy/upgrade.rake
1440
1299
  - package.json
1441
1300
  - package/admin.js
1301
+ - package/dist/admin.js
1302
+ - package/dist/admin.js.map
1442
1303
  - package/src/__tests__/i18n.spec.js
1443
1304
  - package/src/datepicker.js
1444
1305
  - package/src/file_editors.js
@@ -1533,9 +1394,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1533
1394
  version: 2.5.0
1534
1395
  required_rubygems_version: !ruby/object:Gem::Requirement
1535
1396
  requirements:
1536
- - - ">="
1397
+ - - ">"
1537
1398
  - !ruby/object:Gem::Version
1538
- version: '0'
1399
+ version: 1.3.1
1539
1400
  requirements:
1540
1401
  - ImageMagick (libmagick), v6.6 or greater.
1541
1402
  rubygems_version: 3.4.6
@@ -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