decidim-dev 0.29.2 → 0.30.0.rc2
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.
- checksums.yaml +4 -4
- data/app/models/decidim/dev/dummy_resource.rb +2 -0
- data/app/views/decidim/dev/dummy_resources/show.html.erb +1 -1
- data/config/locales/ar.yml +4 -1
- data/config/locales/bg.yml +1 -1
- data/config/locales/ca.yml +6 -1
- data/config/locales/cs.yml +6 -1
- data/config/locales/de.yml +6 -1
- data/config/locales/el.yml +1 -1
- data/config/locales/en.yml +5 -0
- data/config/locales/es-MX.yml +6 -1
- data/config/locales/es-PY.yml +6 -1
- data/config/locales/es.yml +6 -1
- data/config/locales/eu.yml +6 -1
- data/config/locales/fi-plain.yml +6 -1
- data/config/locales/fi.yml +6 -1
- data/config/locales/fr-CA.yml +4 -1
- data/config/locales/fr.yml +4 -1
- data/config/locales/gl.yml +1 -1
- data/config/locales/hu.yml +1 -1
- data/config/locales/id-ID.yml +1 -1
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +6 -1
- data/config/locales/lt.yml +1 -1
- data/config/locales/lv.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/no.yml +1 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +1 -1
- data/config/locales/ro-RO.yml +1 -1
- data/config/locales/ru.yml +1 -1
- data/config/locales/sk.yml +1 -1
- data/config/locales/sv.yml +6 -1
- data/config/locales/tr-TR.yml +1 -1
- data/config/locales/zh-CN.yml +1 -1
- data/config/locales/zh-TW.yml +1 -1
- data/config/rubocop/disabled.yml +0 -27
- data/config/rubocop/faker.yml +1 -1
- data/config/rubocop/graphql.yml +23 -0
- data/config/rubocop/rspec.yml +1 -0
- data/config/rubocop/ruby.yml +1 -1
- data/decidim-dev.gemspec +12 -6
- data/lib/decidim/dev/auth_engine.rb +2 -0
- data/lib/decidim/dev/component.rb +1 -2
- data/lib/decidim/dev/test/rspec_support/capybara.rb +10 -25
- data/lib/decidim/dev/test/rspec_support/component.rb +2 -0
- data/lib/decidim/dev/test/rspec_support/component_context.rb +13 -7
- data/lib/decidim/dev/test/rspec_support/confirmation_helpers.rb +4 -4
- data/lib/decidim/dev/test/rspec_support/controller_example_group.rb +8 -0
- data/lib/decidim/dev/test/rspec_support/geocoder.rb +13 -0
- data/lib/decidim/dev/test/rspec_support/screenshot_helper.rb +2 -2
- data/lib/decidim/dev/version.rb +1 -1
- data/lib/tasks/generators.rake +2 -1
- data/lib/tasks/lighthouse_report.rake +3 -3
- data/rubocop-decidim.yml +1 -0
- metadata +100 -22
- data/lib/decidim/dev/test/rspec_support/wicked_pdf_assets_mock.rb +0 -21
data/config/locales/sv.yml
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
sv:
|
3
3
|
activemodel:
|
4
4
|
attributes:
|
5
|
+
dummy:
|
6
|
+
image: Bild
|
7
|
+
dummy_attribute: Testattribut
|
5
8
|
dummy_resource:
|
6
9
|
created_at: Skapad
|
7
10
|
decidim_scope_id: Indelning
|
@@ -15,6 +18,7 @@ sv:
|
|
15
18
|
dummy:
|
16
19
|
settings:
|
17
20
|
global:
|
21
|
+
clear_all: Rensa alla
|
18
22
|
guided: Guidad inmatning
|
19
23
|
guided_help: Hjälptext
|
20
24
|
guided_readonly: Inmatning inaktiverad
|
@@ -23,6 +27,7 @@ sv:
|
|
23
27
|
guided_rich_readonly_html: HTML <strong>hjälp</strong>-text för inaktiverad inmatning
|
24
28
|
readonly_attribute: Skrivskyddat attribut
|
25
29
|
test: Ett test
|
30
|
+
test_add: Lägg till test
|
26
31
|
test_choices:
|
27
32
|
a: Alternativ A
|
28
33
|
b: Alternativ B
|
@@ -47,7 +52,7 @@ sv:
|
|
47
52
|
badges:
|
48
53
|
test:
|
49
54
|
conditions:
|
50
|
-
|
55
|
+
- Använd en testmiljö för decidim.
|
51
56
|
description: Deltagare får detta märke genom att skapa tester.
|
52
57
|
description_another: Deltagaren har skapat %{score} tester.
|
53
58
|
description_own: Du har skapat %{score} tester.
|
data/config/locales/tr-TR.yml
CHANGED
@@ -39,7 +39,7 @@ tr:
|
|
39
39
|
badges:
|
40
40
|
test:
|
41
41
|
conditions:
|
42
|
-
|
42
|
+
- Decidim için bir test ortamı kullanın.
|
43
43
|
description: Katılımcılar testler oluşturarak bu rozeti alırlar.
|
44
44
|
description_another: Bu katılımcı %{score} test oluşturdu.
|
45
45
|
description_own: '%{score} test oluşturdunuz.'
|
data/config/locales/zh-CN.yml
CHANGED
data/config/locales/zh-TW.yml
CHANGED
data/config/rubocop/disabled.yml
CHANGED
@@ -10,9 +10,6 @@ Naming/MemoizedInstanceVariableName:
|
|
10
10
|
RSpec/VerifiedDoubleReference:
|
11
11
|
Enabled: false
|
12
12
|
|
13
|
-
FactoryBot/ConsistentParenthesesStyle:
|
14
|
-
Enabled: false
|
15
|
-
|
16
13
|
FactoryBot/ExcessiveCreateList:
|
17
14
|
Enabled: false
|
18
15
|
|
@@ -43,29 +40,5 @@ FactoryBot/AssociationStyle:
|
|
43
40
|
Rubycw/Rubycw:
|
44
41
|
Enabled: false
|
45
42
|
|
46
|
-
Lint/SymbolConversion:
|
47
|
-
Enabled: false
|
48
|
-
|
49
|
-
Style/RedundantParentheses:
|
50
|
-
Enabled: false
|
51
|
-
|
52
|
-
Style/MapIntoArray:
|
53
|
-
Enabled: false
|
54
|
-
|
55
|
-
Style/SuperWithArgsParentheses:
|
56
|
-
Enabled: false
|
57
|
-
|
58
|
-
Style/ArgumentsForwarding:
|
59
|
-
Enabled: false
|
60
|
-
|
61
|
-
Style/SuperArguments:
|
62
|
-
Enabled: false
|
63
|
-
|
64
43
|
Lint/SelfAssignment:
|
65
44
|
Enabled: false
|
66
|
-
|
67
|
-
Style/SendWithLiteralMethodName:
|
68
|
-
Enabled: false
|
69
|
-
|
70
|
-
Rails/WhereRange:
|
71
|
-
Enabled: false
|
data/config/rubocop/faker.yml
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
require: rubocop-graphql
|
2
|
+
|
3
|
+
GraphQL:
|
4
|
+
Enabled: true
|
5
|
+
Include:
|
6
|
+
- "**/lib/decidim/api/**/*"
|
7
|
+
Exclude:
|
8
|
+
- "**/lib/decidim/api/test/**/*"
|
9
|
+
- "**/lib/decidim/api/functions/*"
|
10
|
+
- "spec/**/*"
|
11
|
+
- "test/**/*"
|
12
|
+
|
13
|
+
GraphQL/ObjectDescription:
|
14
|
+
Exclude:
|
15
|
+
- "**/lib/decidim/api/engine.rb"
|
16
|
+
- "**/lib/decidim/api/schema.rb"
|
17
|
+
- "**/lib/decidim/api/graphiql/config.rb"
|
18
|
+
- "**/lib/decidim/api/functions/*"
|
19
|
+
- "spec/**/*"
|
20
|
+
- "test/**/*"
|
21
|
+
|
22
|
+
GraphQL/ExtractType:
|
23
|
+
Enabled: false
|
data/config/rubocop/rspec.yml
CHANGED
data/config/rubocop/ruby.yml
CHANGED
@@ -66,7 +66,7 @@ AllCops:
|
|
66
66
|
# If a value is specified for TargetRubyVersion then it is used.
|
67
67
|
# Else if .ruby-version exists and it contains an MRI version it is used.
|
68
68
|
# Otherwise we fallback to the oldest officially supported Ruby version (2.0).
|
69
|
-
TargetRubyVersion: 3.
|
69
|
+
TargetRubyVersion: 3.3
|
70
70
|
|
71
71
|
# Indent private/protected/public as deep as method definitions
|
72
72
|
Layout/AccessModifierIndentation:
|
data/decidim-dev.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
"homepage_uri" => "https://decidim.org",
|
20
20
|
"source_code_uri" => "https://github.com/decidim/decidim"
|
21
21
|
}
|
22
|
-
s.required_ruby_version = "~> 3.
|
22
|
+
s.required_ruby_version = "~> 3.3.0"
|
23
23
|
|
24
24
|
s.name = "decidim-dev"
|
25
25
|
s.summary = "Decidim dev tools"
|
@@ -33,17 +33,22 @@ Gem::Specification.new do |s|
|
|
33
33
|
end
|
34
34
|
|
35
35
|
s.add_dependency "capybara", "~> 3.39"
|
36
|
-
s.add_dependency "decidim", Decidim::Dev.version
|
36
|
+
s.add_dependency "decidim-admin", Decidim::Dev.version
|
37
|
+
s.add_dependency "decidim-api", Decidim::Dev.version
|
38
|
+
s.add_dependency "decidim-comments", Decidim::Dev.version
|
39
|
+
s.add_dependency "decidim-core", Decidim::Dev.version
|
40
|
+
s.add_dependency "decidim-generators", Decidim::Dev.version
|
41
|
+
s.add_dependency "decidim-verifications", Decidim::Dev.version
|
37
42
|
s.add_dependency "factory_bot_rails", "~> 6.2"
|
38
43
|
s.add_dependency "faker", "~> 3.2"
|
39
44
|
|
40
|
-
s.add_dependency "bullet", "~>
|
45
|
+
s.add_dependency "bullet", "~> 8.0.0"
|
41
46
|
s.add_dependency "byebug", "~> 11.0"
|
42
|
-
s.add_dependency "erb_lint", "~> 0.
|
47
|
+
s.add_dependency "erb_lint", "~> 0.8.0"
|
43
48
|
s.add_dependency "i18n-tasks", "~> 1.0"
|
44
49
|
s.add_dependency "nokogiri", "~> 1.16", ">= 1.16.2"
|
45
50
|
s.add_dependency "parallel_tests", "~> 4.2"
|
46
|
-
s.add_dependency "puma", "~> 6.
|
51
|
+
s.add_dependency "puma", "~> 6.5"
|
47
52
|
s.add_dependency "rails-controller-testing", "~> 1.0"
|
48
53
|
s.add_dependency "rspec", "~> 3.12"
|
49
54
|
s.add_dependency "rspec-cells", "~> 0.3.7"
|
@@ -51,10 +56,11 @@ Gem::Specification.new do |s|
|
|
51
56
|
s.add_dependency "rspec_junit_formatter", "~> 0.6.0"
|
52
57
|
s.add_dependency "rspec-rails", "~> 6.0"
|
53
58
|
s.add_dependency "rspec-retry", "~> 0.6.2"
|
54
|
-
s.add_dependency "rubocop", "~> 1.
|
59
|
+
s.add_dependency "rubocop", "~> 1.69.0"
|
55
60
|
s.add_dependency "rubocop-capybara", "~> 2.21"
|
56
61
|
s.add_dependency "rubocop-factory_bot", "~> 2.26"
|
57
62
|
s.add_dependency "rubocop-faker", "~> 1.1"
|
63
|
+
s.add_dependency "rubocop-graphql", "~> 1.5"
|
58
64
|
s.add_dependency "rubocop-performance", "~> 1.21"
|
59
65
|
s.add_dependency "rubocop-rails", "~> 2.25"
|
60
66
|
s.add_dependency "rubocop-rspec", "~> 3.0"
|
@@ -11,8 +11,7 @@ Decidim.register_component(:dummy) do |component|
|
|
11
11
|
component.permissions_class_name = "Decidim::Dev::Permissions"
|
12
12
|
|
13
13
|
component.settings(:global) do |settings|
|
14
|
-
settings.attribute :
|
15
|
-
settings.attribute :scope_id, type: :scope
|
14
|
+
settings.attribute :taxonomy_filters, type: :taxonomy_filters, default: []
|
16
15
|
settings.attribute :comments_enabled, type: :boolean, default: true
|
17
16
|
settings.attribute :comments_max_length, type: :integer, required: false
|
18
17
|
settings.attribute :resources_permissions_enabled, type: :boolean, default: true
|
@@ -32,6 +32,8 @@ end
|
|
32
32
|
|
33
33
|
1.step do
|
34
34
|
port = rand(5000..6999)
|
35
|
+
next if port == 6379 # Reserved for Redis
|
36
|
+
|
35
37
|
begin
|
36
38
|
redis = Redis.new
|
37
39
|
reserved_ports = (redis.get("decidim_test_capybara_reserved_ports") || "").split(",").map(&:to_i)
|
@@ -66,6 +68,13 @@ Capybara.register_driver :headless_chrome do |app|
|
|
66
68
|
"--window-size=1920,1080"
|
67
69
|
end
|
68
70
|
options.args << "--ignore-certificate-errors" if ENV["TEST_SSL"]
|
71
|
+
|
72
|
+
options.add_preference(:download,
|
73
|
+
directory_upgrade: true,
|
74
|
+
prompt_for_download: false,
|
75
|
+
default_directory: DownloadHelper::PATH.to_s)
|
76
|
+
options.add_preference(:browser, set_download_behavior: { behavior: "allow" })
|
77
|
+
|
69
78
|
Capybara::Selenium::Driver.new(
|
70
79
|
app,
|
71
80
|
browser: :chrome,
|
@@ -111,7 +120,7 @@ Capybara.register_driver :iphone do |app|
|
|
111
120
|
options.args << "--no-sandbox"
|
112
121
|
# Do not limit browser resources
|
113
122
|
options.args << "--disable-dev-shm-usage"
|
114
|
-
options.add_emulation(device_name: "iPhone
|
123
|
+
options.add_emulation(device_name: "iPhone XR")
|
115
124
|
|
116
125
|
Capybara::Selenium::Driver.new(
|
117
126
|
app,
|
@@ -139,33 +148,9 @@ Capybara.save_path = Rails.root.join("tmp/screenshots")
|
|
139
148
|
Capybara.default_max_wait_time = 10
|
140
149
|
|
141
150
|
RSpec.configure do |config|
|
142
|
-
config.before :all, type: :system do
|
143
|
-
if ENV["BIG_SCREEN_SIZE"].present?
|
144
|
-
warn "[DECIDIM] ChromeDriver Workaround is being active: Setting window size to 1920x3000."
|
145
|
-
else
|
146
|
-
warn "[DECIDIM] ChromeDriver Workaround is being active: Setting window size to 1920x1080."
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
151
|
config.before :each, type: :system do
|
151
152
|
driven_by(:headless_chrome)
|
152
153
|
|
153
|
-
# Workaround for flaky spec related to resolution change
|
154
|
-
#
|
155
|
-
# For some unknown reason, depending on the order run for these specs, the resolution is changed to
|
156
|
-
# 800x600, which breaks the drag and drop. This forces the resolution to be 1920x1080.
|
157
|
-
# One possible culprit for the screen resolution change is the alert error intercepting which messes with the window focus.
|
158
|
-
# This has been reported to SeleniumHQ, https://github.com/SeleniumHQ/selenium/issues/13553
|
159
|
-
# and to the chromedriver project, https://bugs.chromium.org/p/chromedriver/issues/detail?id=4709
|
160
|
-
#
|
161
|
-
# Note to future maintainers: If you remove this workaround, please make sure to check if the issue has been fixed.
|
162
|
-
# If that is the case, please remove this comment, workaround, and the above warning that starts with "[DECIDIM] ChromeDriver Workaround".
|
163
|
-
if ENV["BIG_SCREEN_SIZE"].present?
|
164
|
-
current_window.resize_to(1920, 3000)
|
165
|
-
else
|
166
|
-
current_window.resize_to(1920, 1080)
|
167
|
-
end
|
168
|
-
|
169
154
|
switch_to_default_host
|
170
155
|
domain = (try(:organization) || try(:current_organization))&.host
|
171
156
|
if domain
|
@@ -16,6 +16,7 @@ RSpec.configure do |config|
|
|
16
16
|
t.float :latitude
|
17
17
|
t.float :longitude
|
18
18
|
t.datetime :published_at
|
19
|
+
t.datetime :deleted_at
|
19
20
|
t.integer :coauthorships_count, null: false, default: 0
|
20
21
|
t.integer :endorsements_count, null: false, default: 0
|
21
22
|
t.integer :comments_count, null: false, default: 0
|
@@ -50,6 +51,7 @@ RSpec.configure do |config|
|
|
50
51
|
t.float :latitude
|
51
52
|
t.float :longitude
|
52
53
|
t.datetime :published_at
|
54
|
+
t.datetime :deleted_at
|
53
55
|
t.integer :coauthorships_count, null: false, default: 0
|
54
56
|
t.integer :endorsements_count, null: false, default: 0
|
55
57
|
t.integer :comments_count, null: false, default: 0
|
@@ -22,7 +22,7 @@ end
|
|
22
22
|
|
23
23
|
shared_context "with a component" do
|
24
24
|
let(:manifest) { Decidim.find_component_manifest(manifest_name) }
|
25
|
-
let(:user) { create
|
25
|
+
let(:user) { create(:user, :confirmed, organization:) }
|
26
26
|
|
27
27
|
let!(:organization) { create(:organization, *organization_traits, available_authorizations: %w(dummy_authorization_handler another_dummy_authorization_handler)) }
|
28
28
|
|
@@ -38,8 +38,14 @@ shared_context "with a component" do
|
|
38
38
|
participatory_space:)
|
39
39
|
end
|
40
40
|
|
41
|
-
let!(:category) { create
|
42
|
-
let!(:scope) { create
|
41
|
+
let!(:category) { create(:category, participatory_space:) }
|
42
|
+
let!(:scope) { create(:scope, organization:) }
|
43
|
+
let(:root_taxonomy) { create(:taxonomy, organization:) }
|
44
|
+
let!(:taxonomy) { create(:taxonomy, organization:, parent: root_taxonomy) }
|
45
|
+
let(:taxonomy_filter) { create(:taxonomy_filter, internal_name:, name:, participatory_space_manifests: [participatory_space.manifest.name], root_taxonomy:) }
|
46
|
+
let!(:taxonomy_filter_item) { create(:taxonomy_filter_item, taxonomy_filter:, taxonomy_item: taxonomy) }
|
47
|
+
let(:internal_name) { { "en" => "Internal taxonomy filter name" } }
|
48
|
+
let(:name) { { "en" => "Public taxonomy filter name" } }
|
43
49
|
|
44
50
|
let(:organization_traits) { [] }
|
45
51
|
|
@@ -91,10 +97,10 @@ shared_context "when managing a component as an admin" do
|
|
91
97
|
let(:admin_component_organization_traits) { [] }
|
92
98
|
|
93
99
|
let(:user) do
|
94
|
-
create
|
100
|
+
create(:user,
|
95
101
|
:admin,
|
96
102
|
:confirmed,
|
97
|
-
organization:
|
103
|
+
organization:)
|
98
104
|
end
|
99
105
|
end
|
100
106
|
|
@@ -102,9 +108,9 @@ shared_context "when managing a component as a process admin" do
|
|
102
108
|
include_context "when managing a component"
|
103
109
|
|
104
110
|
let(:user) do
|
105
|
-
create
|
111
|
+
create(:process_admin,
|
106
112
|
:confirmed,
|
107
113
|
organization:,
|
108
|
-
participatory_process:
|
114
|
+
participatory_process:)
|
109
115
|
end
|
110
116
|
end
|
@@ -47,15 +47,15 @@ module ConfirmationHelpers
|
|
47
47
|
# Used to accept the "onbeforeunload" event's normal browser confirm modal
|
48
48
|
# as this cannot be overridden. Original confirm dismiss implementation in
|
49
49
|
# Capybara.
|
50
|
-
def accept_page_unload(text = nil,
|
51
|
-
|
50
|
+
def accept_page_unload(text = nil, **, &)
|
51
|
+
accept_confirm(text, &)
|
52
52
|
end
|
53
53
|
|
54
54
|
# Used to dismiss the "onbeforeunload" event's normal browser confirm modal
|
55
55
|
# as this cannot be overridden. Original confirm dismiss implementation in
|
56
56
|
# Capybara.
|
57
|
-
def dismiss_page_unload(text = nil,
|
58
|
-
|
57
|
+
def dismiss_page_unload(text = nil, **, &)
|
58
|
+
dismiss_confirm(text, &)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -19,6 +19,14 @@ module Decidim
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
def process(action, method: "GET", params: nil, session: nil, body: nil, flash: {}, format: nil, xhr: false, as: nil) # rubocop:disable Metrics/ParameterLists
|
24
|
+
params = (params || {}).symbolize_keys
|
25
|
+
|
26
|
+
params.merge!(use_route: request.env["decidim.current_component"]&.mounted_engine) if request.env["decidim.current_component"].present?
|
27
|
+
|
28
|
+
super
|
29
|
+
end
|
22
30
|
end
|
23
31
|
end
|
24
32
|
|
@@ -14,6 +14,19 @@ module GeocoderHelpers
|
|
14
14
|
)
|
15
15
|
end
|
16
16
|
|
17
|
+
def stub_geocoding_coordinates(coordinates)
|
18
|
+
geocoder_request_url = "https://nominatim.openstreetmap.org/reverse?accept-language=en&addressdetails=1&format=json&lat=#{coordinates[0]}&lon=#{coordinates[1]}"
|
19
|
+
geocoder_response = File.read(Decidim::Dev.asset("geocoder_result_here.json"))
|
20
|
+
|
21
|
+
stub_request(:get, geocoder_request_url).with(
|
22
|
+
headers: {
|
23
|
+
"Accept" => "*/*",
|
24
|
+
"Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
|
25
|
+
"User-Agent" => "Ruby"
|
26
|
+
}
|
27
|
+
).to_return(body: geocoder_response)
|
28
|
+
end
|
29
|
+
|
17
30
|
# Waits for the front-end geocoding request to finish in order to ensure there
|
18
31
|
# are no pending requests when proceeding.
|
19
32
|
def fill_in_geocoding(attribute, options = {})
|
@@ -21,8 +21,8 @@ module ActionDispatch
|
|
21
21
|
|
22
22
|
# Add the file URI scheme so terminal emulators can open one click
|
23
23
|
def display_image
|
24
|
-
message =
|
25
|
-
message <<
|
24
|
+
message = "[Screenshot Image]: file://#{image_path}\n"
|
25
|
+
message << "[Screenshot HTML]: file://#{html_path}\n" if save_html?
|
26
26
|
|
27
27
|
case output_type
|
28
28
|
when "artifact"
|
data/lib/decidim/dev/version.rb
CHANGED
data/lib/tasks/generators.rake
CHANGED
@@ -42,9 +42,9 @@ namespace :decidim do
|
|
42
42
|
|
43
43
|
def lighthouse_paths
|
44
44
|
["/"].tap do |urls|
|
45
|
-
urls << Decidim::ResourceLocatorPresenter.new(Decidim::ParticipatoryProcess.published.first).path
|
46
|
-
urls << Decidim::ResourceLocatorPresenter.new(Decidim::Meetings::Meeting.published.not_hidden.first).path
|
47
|
-
urls << Decidim::ResourceLocatorPresenter.new(Decidim::Proposals::Proposal.published.not_hidden.first).path
|
45
|
+
urls << Decidim::ResourceLocatorPresenter.new(Decidim::ParticipatoryProcess.published.first).path if Decidim.module_installed?(:participatory_processes)
|
46
|
+
urls << Decidim::ResourceLocatorPresenter.new(Decidim::Meetings::Meeting.published.not_hidden.first).path if Decidim.module_installed?(:meetings)
|
47
|
+
urls << Decidim::ResourceLocatorPresenter.new(Decidim::Proposals::Proposal.published.not_hidden.first).path if Decidim.module_installed?(:proposals)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|