Skip to content

Commit 77ff6dc

Browse files
committed
Fix include
1 parent 8b0408e commit 77ff6dc

2 files changed

Lines changed: 52 additions & 53 deletions

File tree

config/initializers/decidim_zuerich_customization.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@
1010

1111
INCLUDES = [
1212
#[Decidim::Debates::CreateDebateEvent, DecidimZuerich::Debates::CreateDebateEvent],
13-
[Decidim::FormBuilder, DecidimZuerich::FormBuilder],
14-
[Decidim::Upgrade::WysiwygMigrator, DecidimZuerich::Upgrade::WysiwygMigrator]
13+
[Decidim::FormBuilder, DecidimZuerich::FormBuilder]
1514
].freeze
1615

1716
PREPENDS = [
1817
#[Decidim::ApplicationMailer, DecidimZuerich::ApplicationMailer],
1918
#[Decidim::ParticipatoryProcesses::Permissions, DecidimZuerich::ParticipatoryProcesses::Permissions],
2019
#[Decidim::Proposals::MapHelper, DecidimZuerich::Proposals::MapHelper],
2120
#[Decidim::System::RegisterOrganization, DecidimZuerich::System::RegisterOrganization],
22-
#[Decidim::System::UpdateOrganization, DecidimZuerich::System::UpdateOrganization]
21+
#[Decidim::System::UpdateOrganization, DecidimZuerich::System::UpdateOrganization],
22+
[Decidim::Upgrade::WysiwygMigrator, DecidimZuerich::Upgrade::WysiwygMigrator]
2323
].freeze
2424

2525
OVERRIDES = ['app/overrides'].freeze

lib/decidim_zuerich/upgrade/wysiwyg_migrator.rb

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,62 @@
11
module DecidimZuerich
22
module Upgrade
3-
class WysiwygMigrator
4-
class << self
5-
def convert_list(list)
6-
parent = Nokogiri::XML::Node.new(list.name, doc)
7-
8-
create_item = lambda do
9-
li = Nokogiri::XML::Node.new("li", doc)
10-
paragraph = Nokogiri::XML::Node.new("p", doc)
11-
li.add_child(paragraph)
12-
[li, paragraph]
13-
end
14-
add_empty_child = lambda do |child_parent|
15-
li, paragraph = create_item.call
16-
child_parent.add_child(li)
17-
[li, paragraph]
18-
end
19-
20-
li = paragraph = nil
21-
current_parent = parent
22-
current_level = 0
23-
list.children.each do |item|
24-
next unless item.is_a?(Nokogiri::XML::Element) && item.name == "li"
3+
module WysiwygMigrator
4+
def convert_list(list)
5+
parent = Nokogiri::XML::Node.new(list.name, doc)
6+
7+
create_item = lambda do
8+
li = Nokogiri::XML::Node.new("li", doc)
9+
paragraph = Nokogiri::XML::Node.new("p", doc)
10+
li.add_child(paragraph)
11+
[li, paragraph]
12+
end
13+
add_empty_child = lambda do |child_parent|
14+
li, paragraph = create_item.call
15+
child_parent.add_child(li)
16+
[li, paragraph]
17+
end
2518

26-
indent = detect_indent(item)
27-
if indent == current_level || li.nil?
28-
if item.child&.name == "p"
29-
# This content has already been migrated so we do not need to
30-
# re-migrate it.
31-
append_node(current_parent, convert_node(item))
32-
next
33-
else
34-
li, paragraph = add_empty_child.call(current_parent)
35-
end
19+
li = paragraph = nil
20+
current_parent = parent
21+
current_level = 0
22+
list.children.each do |item|
23+
next unless item.is_a?(Nokogiri::XML::Element) && item.name == "li"
24+
25+
indent = detect_indent(item)
26+
if indent == current_level || li.nil?
27+
if item.child&.name == "p"
28+
# This content has already been migrated so we do not need to
29+
# re-migrate it.
30+
append_node(current_parent, convert_node(item))
31+
next
32+
else
33+
puts 'item.child is empty' if item.child.nil?
34+
li, paragraph = add_empty_child.call(current_parent)
3635
end
36+
end
3737

38-
while indent > current_level
39-
sublist = Nokogiri::XML::Node.new(list.name, doc)
40-
li.add_child(sublist)
41-
li, paragraph = create_item.call
42-
sublist.add_child(li)
43-
44-
current_level += 1
45-
current_parent = sublist
46-
end
47-
while indent < current_level
48-
current_level -= 1
49-
li = current_parent.parent
50-
current_parent = li.parent
51-
paragraph = li.child
38+
while indent > current_level
39+
sublist = Nokogiri::XML::Node.new(list.name, doc)
40+
li.add_child(sublist)
41+
li, paragraph = create_item.call
42+
sublist.add_child(li)
5243

53-
li, paragraph = add_empty_child.call(current_parent) if indent == current_level
54-
end
44+
current_level += 1
45+
current_parent = sublist
46+
end
47+
while indent < current_level
48+
current_level -= 1
49+
li = current_parent.parent
50+
current_parent = li.parent
51+
paragraph = li.child
5552

56-
item.children.each { |child| append_node(paragraph, convert_node(child)) }
53+
li, paragraph = add_empty_child.call(current_parent) if indent == current_level
5754
end
5855

59-
parent
56+
item.children.each { |child| append_node(paragraph, convert_node(child)) }
6057
end
58+
59+
parent
6160
end
6261
end
6362
end

0 commit comments

Comments
 (0)