alchemy_cms 6.1.6 → 7.0.0.pre.a

Sign up to get free protection for your applications and to get access to all the features.
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 +19 -25
  5. data/Gemfile +1 -1
  6. data/Rakefile +14 -9
  7. data/alchemy_cms.gemspec +1 -2
  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 -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 +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 -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 +99 -113
  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/permissions.rb +4 -17
  97. data/lib/alchemy/routing_constraints.rb +3 -3
  98. data/lib/alchemy/searchable_resource.rb +38 -0
  99. data/lib/alchemy/seeder.rb +2 -8
  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 +1 -2
  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 -34
  121. data/lib/generators/alchemy/install/templates/elements.yml.tt +12 -12
  122. data/lib/tasks/alchemy/thumbnails.rake +2 -21
  123. data/lib/tasks/alchemy/tidy.rake +1 -12
  124. data/lib/tasks/alchemy/upgrade.rake +10 -47
  125. data/package/dist/admin.js +16 -0
  126. data/package/dist/admin.js.map +7 -0
  127. data/package.json +5 -3
  128. metadata +15 -142
  129. data/app/controllers/alchemy/admin/contents_controller.rb +0 -21
  130. data/app/controllers/alchemy/admin/essence_audios_controller.rb +0 -30
  131. data/app/controllers/alchemy/admin/essence_files_controller.rb +0 -31
  132. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +0 -43
  133. data/app/controllers/alchemy/admin/essence_videos_controller.rb +0 -34
  134. data/app/controllers/alchemy/api/contents_controller.rb +0 -52
  135. data/app/decorators/alchemy/content_editor.rb +0 -119
  136. data/app/helpers/alchemy/admin/contents_helper.rb +0 -42
  137. data/app/helpers/alchemy/admin/essences_helper.rb +0 -31
  138. data/app/models/alchemy/content/factory.rb +0 -143
  139. data/app/models/alchemy/content.rb +0 -247
  140. data/app/models/alchemy/element/element_contents.rb +0 -200
  141. data/app/models/alchemy/element/element_essences.rb +0 -133
  142. data/app/models/alchemy/essence_audio.rb +0 -13
  143. data/app/models/alchemy/essence_boolean.rb +0 -20
  144. data/app/models/alchemy/essence_date.rb +0 -25
  145. data/app/models/alchemy/essence_file.rb +0 -49
  146. data/app/models/alchemy/essence_headline.rb +0 -41
  147. data/app/models/alchemy/essence_html.rb +0 -23
  148. data/app/models/alchemy/essence_link.rb +0 -21
  149. data/app/models/alchemy/essence_node.rb +0 -19
  150. data/app/models/alchemy/essence_page.rb +0 -17
  151. data/app/models/alchemy/essence_picture.rb +0 -67
  152. data/app/models/alchemy/essence_picture_view.rb +0 -90
  153. data/app/models/alchemy/essence_richtext.rb +0 -44
  154. data/app/models/alchemy/essence_select.rb +0 -19
  155. data/app/models/alchemy/essence_text.rb +0 -23
  156. data/app/models/alchemy/essence_video.rb +0 -13
  157. data/app/serializers/alchemy/content_serializer.rb +0 -17
  158. data/app/serializers/alchemy/essence_boolean_serializer.rb +0 -10
  159. data/app/serializers/alchemy/essence_date_serializer.rb +0 -10
  160. data/app/serializers/alchemy/essence_file_serializer.rb +0 -13
  161. data/app/serializers/alchemy/essence_html_serializer.rb +0 -10
  162. data/app/serializers/alchemy/essence_link_serializer.rb +0 -13
  163. data/app/serializers/alchemy/essence_picture_serializer.rb +0 -28
  164. data/app/serializers/alchemy/essence_richtext_serializer.rb +0 -11
  165. data/app/serializers/alchemy/essence_select_serializer.rb +0 -10
  166. data/app/serializers/alchemy/essence_text_serializer.rb +0 -22
  167. data/app/views/alchemy/admin/contents/create.js.erb +0 -21
  168. data/app/views/alchemy/admin/essence_audios/edit.html.erb +0 -7
  169. data/app/views/alchemy/admin/essence_files/edit.html.erb +0 -21
  170. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +0 -5
  171. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +0 -30
  172. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +0 -3
  173. data/app/views/alchemy/admin/essence_pictures/update.js.erb +0 -8
  174. data/app/views/alchemy/admin/essence_videos/edit.html.erb +0 -12
  175. data/app/views/alchemy/essences/_essence_audio_editor.html.erb +0 -4
  176. data/app/views/alchemy/essences/_essence_audio_view.html.erb +0 -15
  177. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +0 -11
  178. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +0 -2
  179. data/app/views/alchemy/essences/_essence_date_editor.html.erb +0 -16
  180. data/app/views/alchemy/essences/_essence_date_view.html.erb +0 -10
  181. data/app/views/alchemy/essences/_essence_file_editor.html.erb +0 -54
  182. data/app/views/alchemy/essences/_essence_file_view.html.erb +0 -18
  183. data/app/views/alchemy/essences/_essence_headline_editor.html.erb +0 -36
  184. data/app/views/alchemy/essences/_essence_headline_view.html.erb +0 -10
  185. data/app/views/alchemy/essences/_essence_html_editor.html.erb +0 -10
  186. data/app/views/alchemy/essences/_essence_html_view.html.erb +0 -2
  187. data/app/views/alchemy/essences/_essence_link_editor.html.erb +0 -30
  188. data/app/views/alchemy/essences/_essence_link_view.html.erb +0 -10
  189. data/app/views/alchemy/essences/_essence_node_editor.html.erb +0 -27
  190. data/app/views/alchemy/essences/_essence_node_view.html.erb +0 -1
  191. data/app/views/alchemy/essences/_essence_page_editor.html.erb +0 -26
  192. data/app/views/alchemy/essences/_essence_page_view.html.erb +0 -5
  193. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +0 -59
  194. data/app/views/alchemy/essences/_essence_picture_view.html.erb +0 -6
  195. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +0 -14
  196. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +0 -4
  197. data/app/views/alchemy/essences/_essence_select_editor.html.erb +0 -28
  198. data/app/views/alchemy/essences/_essence_select_view.html.erb +0 -2
  199. data/app/views/alchemy/essences/_essence_text_editor.html.erb +0 -29
  200. data/app/views/alchemy/essences/_essence_text_view.html.erb +0 -17
  201. data/app/views/alchemy/essences/_essence_video_editor.html.erb +0 -4
  202. data/app/views/alchemy/essences/_essence_video_view.html.erb +0 -19
  203. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +0 -59
  204. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +0 -20
  205. data/app/views/alchemy/pages/show.rss.builder +0 -21
  206. data/db/migrate/20200226213334_alchemy_four_point_four.rb +0 -313
  207. data/db/migrate/20200423073425_create_alchemy_essence_nodes.rb +0 -11
  208. data/db/migrate/20200504210159_remove_site_id_from_nodes.rb +0 -28
  209. data/db/migrate/20200505215518_add_language_id_foreign_key_to_alchemy_pages.rb +0 -8
  210. data/db/migrate/20200511113603_add_menu_type_to_alchemy_nodes.rb +0 -27
  211. data/db/migrate/20200514091507_make_page_layoutpage_null_false.rb +0 -6
  212. data/db/migrate/20200519073500_remove_visible_from_alchemy_pages.rb +0 -24
  213. data/db/migrate/20200617110713_create_alchemy_picture_thumbs.rb +0 -22
  214. data/db/migrate/20200907111332_remove_tri_state_booleans.rb +0 -33
  215. data/db/migrate/20201207131309_create_page_versions.rb +0 -19
  216. data/db/migrate/20201207135820_add_page_version_id_to_alchemy_elements.rb +0 -76
  217. data/db/migrate/20210205143548_rename_public_on_and_public_until_on_alchemy_pages.rb +0 -10
  218. data/db/migrate/20210326105046_add_sanitized_body_to_alchemy_essence_richtexts.rb +0 -7
  219. data/db/migrate/20210406093436_add_alchemy_essence_headlines.rb +0 -12
  220. data/db/migrate/20210506135919_create_essence_audios.rb +0 -19
  221. data/db/migrate/20210506140258_create_essence_videos.rb +0 -23
  222. data/db/migrate/20210508091432_create_alchemy_ingredients.rb +0 -22
  223. data/db/migrate/20220514072456_restrict_on_delete_page_id_foreign_key_from_alchemy_nodes.rb +0 -13
  224. data/db/migrate/20220622130905_add_playsinline_to_alchemy_essence_videos.rb +0 -9
  225. data/lib/alchemy/essence.rb +0 -250
  226. data/lib/alchemy/test_support/essence_shared_examples.rb +0 -271
  227. data/lib/alchemy/test_support/factories/content_factory.rb +0 -20
  228. data/lib/alchemy/test_support/factories/essence_audio_factory.rb +0 -7
  229. data/lib/alchemy/test_support/factories/essence_file_factory.rb +0 -7
  230. data/lib/alchemy/test_support/factories/essence_page_factory.rb +0 -7
  231. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +0 -11
  232. data/lib/alchemy/test_support/factories/essence_text_factory.rb +0 -7
  233. data/lib/alchemy/test_support/factories/essence_video_factory.rb +0 -7
  234. data/lib/alchemy/upgrader/five_point_zero.rb +0 -41
  235. data/lib/alchemy/upgrader/six_point_zero.rb +0 -21
  236. data/lib/alchemy/upgrader/tasks/add_page_versions.rb +0 -33
  237. data/lib/alchemy/upgrader/tasks/element_views_updater.rb +0 -34
  238. data/lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb +0 -29
  239. data/lib/alchemy/upgrader/tasks/ingredients_migrator.rb +0 -73
  240. data/lib/generators/alchemy/essence/essence_generator.rb +0 -49
  241. data/lib/generators/alchemy/essence/templates/editor.html.erb +0 -17
  242. data/lib/generators/alchemy/essence/templates/view.html.erb +0 -2
  243. data/lib/generators/alchemy/install/files/babel.config.js +0 -64
data/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@alchemy_cms/admin",
3
- "version": "6.1.6",
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.6
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-06-30 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
@@ -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,23 +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
1222
  - lib/alchemy/test_support.rb
1223
+ - lib/alchemy/test_support/capybara_helpers.rb
1337
1224
  - lib/alchemy/test_support/config_stubbing.rb
1338
- - lib/alchemy/test_support/essence_shared_examples.rb
1339
1225
  - lib/alchemy/test_support/factories/attachment_factory.rb
1340
- - lib/alchemy/test_support/factories/content_factory.rb
1341
1226
  - lib/alchemy/test_support/factories/dummy_user_factory.rb
1342
1227
  - lib/alchemy/test_support/factories/element_factory.rb
1343
- - lib/alchemy/test_support/factories/essence_audio_factory.rb
1344
- - lib/alchemy/test_support/factories/essence_file_factory.rb
1345
- - lib/alchemy/test_support/factories/essence_page_factory.rb
1346
- - lib/alchemy/test_support/factories/essence_picture_factory.rb
1347
- - lib/alchemy/test_support/factories/essence_text_factory.rb
1348
- - lib/alchemy/test_support/factories/essence_video_factory.rb
1349
1228
  - lib/alchemy/test_support/factories/ingredient_factory.rb
1350
1229
  - lib/alchemy/test_support/factories/language_factory.rb
1351
1230
  - lib/alchemy/test_support/factories/node_factory.rb
@@ -1365,12 +1244,8 @@ files:
1365
1244
  - lib/alchemy/test_support/shared_uploader_examples.rb
1366
1245
  - lib/alchemy/tinymce.rb
1367
1246
  - lib/alchemy/upgrader.rb
1368
- - lib/alchemy/upgrader/five_point_zero.rb
1369
- - lib/alchemy/upgrader/six_point_zero.rb
1370
- - lib/alchemy/upgrader/tasks/add_page_versions.rb
1371
- - lib/alchemy/upgrader/tasks/element_views_updater.rb
1372
- - lib/alchemy/upgrader/tasks/harden_gutentag_migrations.rb
1373
- - lib/alchemy/upgrader/tasks/ingredients_migrator.rb
1247
+ - lib/alchemy/upgrader/seven_point_zero.rb
1248
+ - lib/alchemy/upgrader/tasks/.keep
1374
1249
  - lib/alchemy/version.rb
1375
1250
  - lib/alchemy_cms.rb
1376
1251
  - lib/generators/alchemy/base.rb
@@ -1378,9 +1253,6 @@ files:
1378
1253
  - lib/generators/alchemy/elements/templates/view.html.erb
1379
1254
  - lib/generators/alchemy/elements/templates/view.html.haml
1380
1255
  - lib/generators/alchemy/elements/templates/view.html.slim
1381
- - lib/generators/alchemy/essence/essence_generator.rb
1382
- - lib/generators/alchemy/essence/templates/editor.html.erb
1383
- - lib/generators/alchemy/essence/templates/view.html.erb
1384
1256
  - lib/generators/alchemy/ingredient/ingredient_generator.rb
1385
1257
  - lib/generators/alchemy/ingredient/templates/editor.html.erb
1386
1258
  - lib/generators/alchemy/ingredient/templates/model.rb.tt
@@ -1393,7 +1265,6 @@ files:
1393
1265
  - lib/generators/alchemy/install/files/all.js
1394
1266
  - lib/generators/alchemy/install/files/application.html.erb
1395
1267
  - lib/generators/alchemy/install/files/article.scss
1396
- - lib/generators/alchemy/install/files/babel.config.js
1397
1268
  - lib/generators/alchemy/install/install_generator.rb
1398
1269
  - lib/generators/alchemy/install/templates/dragonfly.rb.tt
1399
1270
  - lib/generators/alchemy/install/templates/elements.yml.tt
@@ -1427,6 +1298,8 @@ files:
1427
1298
  - lib/tasks/alchemy/upgrade.rake
1428
1299
  - package.json
1429
1300
  - package/admin.js
1301
+ - package/dist/admin.js
1302
+ - package/dist/admin.js.map
1430
1303
  - package/src/__tests__/i18n.spec.js
1431
1304
  - package/src/datepicker.js
1432
1305
  - package/src/file_editors.js
@@ -1521,12 +1394,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1521
1394
  version: 2.5.0
1522
1395
  required_rubygems_version: !ruby/object:Gem::Requirement
1523
1396
  requirements:
1524
- - - ">="
1397
+ - - ">"
1525
1398
  - !ruby/object:Gem::Version
1526
- version: '0'
1399
+ version: 1.3.1
1527
1400
  requirements:
1528
1401
  - ImageMagick (libmagick), v6.6 or greater.
1529
- rubygems_version: 3.4.12
1402
+ rubygems_version: 3.4.6
1530
1403
  signing_key:
1531
1404
  specification_version: 4
1532
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