alchemy_cms 4.6.0 → 4.6.4
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.
Potentially problematic release.
This version of alchemy_cms might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -1
- data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +6 -6
- data/app/models/alchemy/page/page_naming.rb +1 -1
- data/lib/alchemy/resource.rb +6 -4
- data/lib/alchemy/upgrader/four_point_six.rb +1 -1
- data/lib/alchemy/upgrader/four_point_two.rb +1 -0
- data/lib/alchemy/upgrader/tasks/cells_migration.rb +2 -1
- data/lib/alchemy/upgrader/tasks/cells_upgrader.rb +21 -3
- data/lib/alchemy/upgrader/tasks/element_partial_name_variable_updater.rb +8 -4
- data/lib/alchemy/upgrader/tasks/fixed_element_name_finder.rb +31 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/tasks/alchemy/convert.rake +8 -7
- data/lib/tasks/alchemy/upgrade.rake +6 -2
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3dba0d0a1621a3fb9b4d9fd44ee3d63d95ad3184b0f68a39de352cc25a87b333
|
4
|
+
data.tar.gz: e35c059cc2bc72a7011dd4b864563030eeb010f6c1c837959d90a44704512337
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b71daad75ba7846a987254869233cb1de91b86814516028cd1c1e2e3f07a7cec3551f6e0005f1d2e5d0af3a67c608c9ec83bde51e5692de713dc19925cb1532e
|
7
|
+
data.tar.gz: 8936829b469effb7c66b0901097d79fe39fe9566ac4126177b8fce9de18ca5b38d7f5d40216ded2a850dffcfec1bcf667b42a72d9b97ff605e8a8dc253691eff
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,20 @@
|
|
1
|
-
##
|
1
|
+
## 4.6.4 (2021-11-15)
|
2
|
+
|
3
|
+
- Use relative path for tinymce font-face ([tvdeyen](https://github.com/tvdeyen))
|
4
|
+
|
5
|
+
## 4.6.3 (2020-05-06)
|
6
|
+
|
7
|
+
- Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
|
8
|
+
- Fix convert:page_trees:to_menus task [#2033](https://github.com/AlchemyCMS/alchemy_cms/pull/2033) ([afdev82](https://github.com/afdev82))
|
9
|
+
- fix 4.6 upgrader tasks [#1995](https://github.com/AlchemyCMS/alchemy_cms/pull/1995) ([afdev82](https://github.com/afdev82))
|
10
|
+
|
11
|
+
## 4.6.2 (2020-09-07)
|
12
|
+
|
13
|
+
- Fix tri-Boolean check in PageNaming Module [#1931](https://github.com/AlchemyCMS/alchemy_cms/pull/1931) ([mamhoff](https://github.com/mamhoff))
|
14
|
+
|
15
|
+
## 4.6.1 (2020-06-04)
|
16
|
+
|
17
|
+
- Fix 4.6 upgrader
|
2
18
|
|
3
19
|
## 4.6.0 (2020-06-04)
|
4
20
|
|
@@ -1566,18 +1566,18 @@ i.mce-i-resize {
|
|
1566
1566
|
|
1567
1567
|
@font-face {
|
1568
1568
|
font-family: 'tinymce';
|
1569
|
-
src: url('fonts/tinymce.woff') format('woff'),
|
1570
|
-
url('fonts/tinymce.ttf') format('truetype'),
|
1571
|
-
url('fonts/tinymce.svg#tinymce') format('svg');
|
1569
|
+
src: url('./fonts/tinymce.woff') format('woff'),
|
1570
|
+
url('./fonts/tinymce.ttf') format('truetype'),
|
1571
|
+
url('./fonts/tinymce.svg#tinymce') format('svg');
|
1572
1572
|
font-weight: normal;
|
1573
1573
|
font-style: normal;
|
1574
1574
|
}
|
1575
1575
|
|
1576
1576
|
@font-face {
|
1577
1577
|
font-family: 'tinymce-small';
|
1578
|
-
src: url('fonts/tinymce-small.woff') format('woff'),
|
1579
|
-
url('fonts/tinymce-small.ttf') format('truetype'),
|
1580
|
-
url('fonts/tinymce-small.svg#tinymce') format('svg');
|
1578
|
+
src: url('./fonts/tinymce-small.woff') format('woff'),
|
1579
|
+
url('./fonts/tinymce-small.ttf') format('truetype'),
|
1580
|
+
url('./fonts/tinymce-small.svg#tinymce') format('svg');
|
1581
1581
|
font-weight: normal;
|
1582
1582
|
font-style: normal;
|
1583
1583
|
}
|
data/lib/alchemy/resource.rb
CHANGED
@@ -131,21 +131,23 @@ module Alchemy
|
|
131
131
|
end
|
132
132
|
|
133
133
|
def namespaced_resource_name
|
134
|
-
@_namespaced_resource_name ||=
|
134
|
+
@_namespaced_resource_name ||= begin
|
135
|
+
namespaced_resources_name.to_s.singularize
|
136
|
+
end.to_sym # Rails >= 6.0.3.7 needs symbols in polymorphic routes
|
135
137
|
end
|
136
138
|
|
137
139
|
def namespaced_resources_name
|
138
140
|
@_namespaced_resources_name ||= begin
|
139
141
|
resource_name_array = resource_array.dup
|
140
142
|
resource_name_array.delete(engine_name) if in_engine?
|
141
|
-
resource_name_array.join(
|
142
|
-
end
|
143
|
+
resource_name_array.join("_")
|
144
|
+
end.to_sym # Rails >= 6.0.3.7 needs symbols in polymorphic routes
|
143
145
|
end
|
144
146
|
|
145
147
|
def namespace_for_scope
|
146
148
|
namespace_array = namespace_diff
|
147
149
|
namespace_array.delete(engine_name) if in_engine?
|
148
|
-
namespace_array
|
150
|
+
namespace_array.map(&:to_sym) # Rails >= 6.0.3.7 needs symbols in polymorphic routes
|
149
151
|
end
|
150
152
|
|
151
153
|
# Returns an array of underscored association names
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'tasks/picture_gallery_upgrader'
|
2
2
|
require_relative 'tasks/picture_gallery_migration'
|
3
|
+
require_relative 'tasks/fixed_element_name_finder'
|
3
4
|
require_relative 'tasks/cells_upgrader'
|
4
5
|
require_relative 'tasks/cells_migration'
|
5
6
|
require_relative 'tasks/element_partial_name_variable_updater'
|
@@ -8,6 +8,7 @@ module Alchemy::Upgrader::Tasks
|
|
8
8
|
def migrate_cells
|
9
9
|
if ActiveRecord::Base.connection.data_source_exists?('alchemy_cells')
|
10
10
|
cells = Cell.all
|
11
|
+
@fixed_element_name_finder = FixedElementNameFinder.new
|
11
12
|
|
12
13
|
if cells.any?
|
13
14
|
cells.each do |cell|
|
@@ -26,7 +27,7 @@ module Alchemy::Upgrader::Tasks
|
|
26
27
|
def migrate_cell!(cell)
|
27
28
|
# bust element definitions insta cache
|
28
29
|
Alchemy::Element.instance_variable_set('@definitions', nil)
|
29
|
-
fixed_element = Alchemy::Element.find_or_initialize_by(fixed: true, name: cell.name, page: cell.page)
|
30
|
+
fixed_element = Alchemy::Element.find_or_initialize_by(fixed: true, name: @fixed_element_name_finder.call(cell.name), page: cell.page)
|
30
31
|
elements = Alchemy::Element.where(cell_id: cell.id).order(position: :asc)
|
31
32
|
|
32
33
|
if fixed_element.new_record?
|
@@ -72,12 +72,13 @@ module Alchemy::Upgrader::Tasks
|
|
72
72
|
|
73
73
|
def convert_cell_config
|
74
74
|
puts '-- Converting cells into unique fixed nestable elements.'
|
75
|
+
fixed_element_name_finder = FixedElementNameFinder.new
|
75
76
|
|
76
77
|
YAML.load_file(cells_config_file).each do |cell|
|
77
78
|
append_to_file Rails.root.join('config', 'alchemy', 'elements.yml') do
|
78
79
|
<<-CELL.strip_heredoc
|
79
80
|
|
80
|
-
- name: #{cell['name']}
|
81
|
+
- name: #{fixed_element_name_finder.call(cell['name'])}
|
81
82
|
fixed: true
|
82
83
|
unique: true
|
83
84
|
nestable_elements: [#{cell['elements'].join(', ')}]
|
@@ -128,8 +129,25 @@ module Alchemy::Upgrader::Tasks
|
|
128
129
|
puts "-- Update render_cell calls"
|
129
130
|
Dir.glob("#{alchemy_views_folder}/**/*").each do |view|
|
130
131
|
next if File.directory?(view)
|
131
|
-
|
132
|
-
|
132
|
+
# <%= render_cell 'test' %>
|
133
|
+
# <%= render_cell('test') %>
|
134
|
+
# <%= render_cell("test", options: true) %>
|
135
|
+
content = File.binread(view)
|
136
|
+
content.gsub!(/render_cell([\s(]+)(['":])(\w+)([^\w])(.*?)/) do
|
137
|
+
element_name = CellNameMigrator.call($3)
|
138
|
+
"render_elements#{$1}only: #{$2}#{element_name}#{$4}, fixed: true#{$5}"
|
139
|
+
end
|
140
|
+
|
141
|
+
# <%= render_elements from_cell: 'page_intro' %>
|
142
|
+
# <%= render_elements testing: 'blubb', from_cell: :page_intro %>
|
143
|
+
# <%= render_elements from_cell: "page_intro", testing: 'blubb' %>
|
144
|
+
# <%= render_elements(from_cell: "page_intro", testing: 'blubb') %>
|
145
|
+
# <%= render_elements(testing: 'blubb', from_cell: "page_intro") %>
|
146
|
+
content.gsub!(/render_elements(.*?)from_cell[:\s=>]+([:'"])(\w+)(['"]?)(.*)/) do
|
147
|
+
element_name = CellNameMigrator.call($3)
|
148
|
+
"render_elements#{$1}only: #{$2}#{element_name}#{$4}, fixed: true#{$5}"
|
149
|
+
end
|
150
|
+
File.open(view, "wb") { |file| file.write(content) }
|
133
151
|
end
|
134
152
|
end
|
135
153
|
|
@@ -11,10 +11,14 @@ module Alchemy::Upgrader::Tasks
|
|
11
11
|
puts "-- Update element views local variable to partial name"
|
12
12
|
Dir.glob("#{elements_view_folder}/*_view.*").each do |view|
|
13
13
|
variable_name = File.basename(view).gsub(/^_([\w-]*)\..*$/, '\1')
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
%w[
|
15
|
+
cache
|
16
|
+
render_essence_view_by_name
|
17
|
+
element_view_for
|
18
|
+
].each do |method_name|
|
19
|
+
gsub_file(view, /#{method_name}([\s(]+)element([^\w])/, "#{method_name}\\1#{variable_name}\\2")
|
20
|
+
end
|
21
|
+
gsub_file(view, /([\s(%={]+)element([^\w:"'])/, "\\1#{variable_name}\\2")
|
18
22
|
end
|
19
23
|
end
|
20
24
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Alchemy::Upgrader::Tasks
|
2
|
+
class FixedElementNameFinder
|
3
|
+
|
4
|
+
def call(cell_name)
|
5
|
+
return cell_name if fixed_elements.include?(cell_name)
|
6
|
+
return "#{cell_name}_elements" if unfixed_elements.include?(cell_name)
|
7
|
+
cell_name
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def fixed_elements
|
13
|
+
@_fixed_element_names ||= begin
|
14
|
+
definitions.select { |element| element['fixed'] }.map { |element| element['name'] }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def unfixed_elements
|
19
|
+
@_unfixed_elements ||= begin
|
20
|
+
definitions.reject { |element| element['fixed'] }.map { |element| element['name'] }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def definitions
|
25
|
+
@_definitions ||= begin
|
26
|
+
elements_file_path = Rails.root.join('config', 'alchemy', 'elements.yml')
|
27
|
+
YAML.load_file(elements_file_path)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/alchemy/version.rb
CHANGED
@@ -60,15 +60,17 @@ namespace :alchemy do
|
|
60
60
|
def convert_to_nodes(children, node:)
|
61
61
|
children.each do |page|
|
62
62
|
has_children = page.children.any?
|
63
|
-
next unless page.visible || has_children
|
64
63
|
|
65
64
|
Alchemy::Deprecation.silence do
|
65
|
+
next unless page.visible || has_children
|
66
|
+
|
66
67
|
new_node = node.children.create!(
|
67
68
|
name: name_for_node(page),
|
68
69
|
page: page_for_node(page),
|
69
|
-
url: page.definition['redirects_to_external'] ? page.urlname : nil,
|
70
|
-
external: page.definition['redirects_to_external'] && Alchemy::Config.get(:open_external_links_in_new_tab),
|
71
|
-
language_id: page.language_id
|
70
|
+
url: !!page.definition['redirects_to_external'] ? page.urlname : nil,
|
71
|
+
external: !!page.definition['redirects_to_external'] && Alchemy::Config.get(:open_external_links_in_new_tab),
|
72
|
+
language_id: page.language_id,
|
73
|
+
site_id: page.language.site_id
|
72
74
|
)
|
73
75
|
print "."
|
74
76
|
if has_children
|
@@ -82,9 +84,8 @@ namespace :alchemy do
|
|
82
84
|
puts "\n- Converting #{menu_count} page #{'tree'.pluralize(menu_count)} into #{'menu'.pluralize(menu_count)}."
|
83
85
|
Alchemy::BaseRecord.transaction do
|
84
86
|
Alchemy::Language.all.each do |language|
|
85
|
-
|
86
|
-
|
87
|
-
root_node = Alchemy::Node.create(language: language, name: menu_name)
|
87
|
+
menu_name = 'main_menu'
|
88
|
+
root_node = Alchemy::Node.create(language: language, name: menu_name, site: language.site, external: false)
|
88
89
|
language.pages.language_roots.each do |root_page|
|
89
90
|
convert_to_nodes(root_page.children, node: root_node)
|
90
91
|
end
|
@@ -143,7 +143,11 @@ namespace :alchemy do
|
|
143
143
|
desc "Upgrade Alchemy to v4.6"
|
144
144
|
task "4.6" => [
|
145
145
|
"alchemy:upgrade:prepare",
|
146
|
-
|
146
|
+
"alchemy:upgrade:4.6:run",
|
147
|
+
"alchemy:upgrade:4.6:todo",
|
148
|
+
] do
|
149
|
+
Alchemy::Upgrader.display_todos
|
150
|
+
end
|
147
151
|
|
148
152
|
namespace "4.6" do
|
149
153
|
task run: []
|
@@ -154,7 +158,7 @@ namespace :alchemy do
|
|
154
158
|
end
|
155
159
|
|
156
160
|
task :todo do
|
157
|
-
Alchemy::Upgrader::FourPointSix.
|
161
|
+
Alchemy::Upgrader::FourPointSix.alchemy_4_6_todos
|
158
162
|
end
|
159
163
|
end
|
160
164
|
end
|
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: 4.6.
|
4
|
+
version: 4.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -10,10 +10,10 @@ authors:
|
|
10
10
|
- Hendrik Mans
|
11
11
|
- Carsten Fregin
|
12
12
|
- Martin Meyerhoff
|
13
|
-
autorequire:
|
13
|
+
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2021-11-15 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: active_model_serializers
|
@@ -1110,6 +1110,7 @@ files:
|
|
1110
1110
|
- lib/alchemy/upgrader/tasks/cells_upgrader.rb
|
1111
1111
|
- lib/alchemy/upgrader/tasks/element_partial_name_variable_updater.rb
|
1112
1112
|
- lib/alchemy/upgrader/tasks/element_views_updater.rb
|
1113
|
+
- lib/alchemy/upgrader/tasks/fixed_element_name_finder.rb
|
1113
1114
|
- lib/alchemy/upgrader/tasks/harden_acts_as_taggable_on_migrations.rb
|
1114
1115
|
- lib/alchemy/upgrader/tasks/picture_gallery_migration.rb
|
1115
1116
|
- lib/alchemy/upgrader/tasks/picture_gallery_upgrader.rb
|
@@ -1244,8 +1245,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1244
1245
|
version: '0'
|
1245
1246
|
requirements:
|
1246
1247
|
- ImageMagick (libmagick), v6.6 or greater.
|
1247
|
-
rubygems_version: 3.
|
1248
|
-
signing_key:
|
1248
|
+
rubygems_version: 3.1.6
|
1249
|
+
signing_key:
|
1249
1250
|
specification_version: 4
|
1250
1251
|
summary: A powerful, userfriendly and flexible CMS for Rails 5
|
1251
1252
|
test_files: []
|