decidim-participatory_processes 0.30.1 → 0.31.0.rc1
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/cells/decidim/participatory_process_groups/content_blocks/main_data/content.erb +1 -1
- data/app/cells/decidim/participatory_process_groups/content_blocks/main_data_cell.rb +1 -15
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats/show.erb +74 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_cell.rb +29 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form/citizen_influence.erb +32 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form/inclusiveness.erb +69 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form/informativeness.erb +29 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form/show.erb +10 -0
- data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form_cell.rb +81 -0
- data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_settings_form/show.erb +3 -1
- data/app/cells/decidim/participatory_processes/content_blocks/main_data_cell.rb +10 -2
- data/app/cells/decidim/participatory_processes/indicator/show.erb +11 -0
- data/app/cells/decidim/participatory_processes/indicator_cell.rb +25 -0
- data/app/cells/decidim/participatory_processes/process_dropdown_metadata/metadata.erb +0 -7
- data/app/cells/decidim/participatory_processes/process_filters_cell.rb +2 -0
- data/app/cells/decidim/participatory_processes/process_step/show.erb +1 -1
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/{copy_participatory_process.rb → duplicate_participatory_process.rb} +25 -26
- data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +16 -4
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +1 -1
- data/app/controllers/decidim/participatory_processes/admin/{participatory_process_copies_controller.rb → participatory_process_duplicates_controller.rb} +7 -7
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_group_landing_page_controller.rb +4 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_groups_controller.rb +3 -3
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_imports_controller.rb +1 -1
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_landing_page_controller.rb +4 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_steps_controller.rb +2 -2
- data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +3 -3
- data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +0 -9
- data/app/forms/decidim/participatory_processes/admin/{participatory_process_copy_form.rb → participatory_process_duplicate_form.rb} +5 -5
- data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +2 -1
- data/app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb +0 -1
- data/app/helpers/decidim/participatory_processes/application_helper.rb +14 -0
- data/app/models/decidim/participatory_process.rb +4 -4
- data/app/models/decidim/participatory_process_group.rb +9 -0
- data/app/permissions/decidim/participatory_processes/permissions.rb +6 -6
- data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_group_presenter.rb +0 -1
- data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb +0 -1
- data/app/presenters/decidim/participatory_processes/participatory_process_democratic_quality_stats_presenter.rb +312 -0
- data/app/presenters/decidim/participatory_processes/participatory_process_group_stats_presenter.rb +1 -11
- data/app/presenters/decidim/participatory_processes/participatory_process_presenter.rb +35 -1
- data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +1 -3
- data/app/queries/decidim/participatory_processes/participatory_processes_stats_followers_count.rb +31 -0
- data/app/queries/decidim/participatory_processes/participatory_processes_stats_participants_count.rb +27 -0
- data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +7 -5
- data/app/views/decidim/participatory_processes/admin/{participatory_process_copies → participatory_process_duplicates}/_form.html.erb +5 -5
- data/app/views/decidim/participatory_processes/admin/participatory_process_duplicates/new.html.erb +19 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_groups/_form.html.erb +3 -7
- data/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb +31 -15
- data/app/views/decidim/participatory_processes/admin/participatory_process_steps/_form.html.erb +1 -1
- data/app/views/decidim/participatory_processes/admin/participatory_process_steps/index.html.erb +39 -21
- data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/index.html.erb +42 -24
- data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +10 -14
- data/app/views/decidim/participatory_processes/admin/participatory_processes/_process_row.html.erb +125 -53
- data/app/views/decidim/participatory_processes/admin/participatory_processes/edit.html.erb +0 -8
- data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +2 -2
- data/app/views/decidim/participatory_processes/admin/participatory_processes/manage_trash.html.erb +2 -1
- data/app/views/layouts/decidim/admin/_manage_processes.html.erb +1 -1
- data/app/views/layouts/decidim/admin/participatory_process_group.html.erb +1 -1
- data/config/assets.rb +2 -2
- data/config/locales/ar.yml +0 -19
- data/config/locales/bg.yml +0 -30
- data/config/locales/bs-BA.yml +0 -4
- data/config/locales/ca-IT.yml +321 -27
- data/config/locales/ca.yml +321 -27
- data/config/locales/cs.yml +96 -29
- data/config/locales/de.yml +135 -37
- data/config/locales/el.yml +0 -26
- data/config/locales/en.yml +303 -24
- data/config/locales/es-MX.yml +323 -29
- data/config/locales/es-PY.yml +323 -29
- data/config/locales/es.yml +321 -27
- data/config/locales/eu.yml +306 -27
- data/config/locales/fi-plain.yml +308 -27
- data/config/locales/fi.yml +305 -24
- data/config/locales/fr-CA.yml +89 -27
- data/config/locales/fr.yml +89 -27
- data/config/locales/ga-IE.yml +0 -7
- data/config/locales/gl.yml +0 -24
- data/config/locales/hu.yml +0 -26
- data/config/locales/id-ID.yml +0 -19
- data/config/locales/is-IS.yml +0 -13
- data/config/locales/it.yml +0 -25
- data/config/locales/ja.yml +125 -27
- data/config/locales/lb.yml +0 -21
- data/config/locales/lt.yml +0 -27
- data/config/locales/lv.yml +0 -20
- data/config/locales/nl.yml +0 -25
- data/config/locales/no.yml +0 -27
- data/config/locales/pl.yml +16 -30
- data/config/locales/pt-BR.yml +0 -28
- data/config/locales/pt.yml +0 -25
- data/config/locales/ro-RO.yml +2 -26
- data/config/locales/ru.yml +0 -17
- data/config/locales/sk.yml +0 -20
- data/config/locales/sr-CS.yml +0 -4
- data/config/locales/sv.yml +90 -28
- data/config/locales/tr-TR.yml +0 -25
- data/config/locales/uk.yml +0 -17
- data/config/locales/zh-CN.yml +0 -23
- data/config/locales/zh-TW.yml +0 -26
- data/db/migrate/20250403110052_add_democratic_quality_static_page.rb +34 -0
- data/db/migrate/20250605114136_remove_hashtag_from_participatory_processes.rb +7 -0
- data/db/migrate/20250605114415_remove_hashtag_from_participatory_processes_groups.rb +7 -0
- data/decidim-participatory_processes.gemspec +3 -0
- data/lib/decidim/api/participatory_process_group_type.rb +9 -0
- data/lib/decidim/api/participatory_process_input_filter.rb +0 -1
- data/lib/decidim/api/participatory_process_step_type.rb +2 -0
- data/lib/decidim/api/participatory_process_type.rb +17 -11
- data/lib/decidim/participatory_processes/admin_engine.rb +1 -1
- data/lib/decidim/participatory_processes/content_blocks/registry_manager.rb +25 -5
- data/lib/decidim/participatory_processes/engine.rb +22 -25
- data/lib/decidim/participatory_processes/menu.rb +1 -1
- data/lib/decidim/participatory_processes/participatory_space.rb +1 -4
- data/lib/decidim/participatory_processes/seeds.rb +3 -5
- data/lib/decidim/participatory_processes/test/factories.rb +2 -3
- data/lib/decidim/participatory_processes/version.rb +1 -1
- metadata +72 -22
- data/app/cells/decidim/participatory_processes/content_blocks/metrics_cell.rb +0 -25
- data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +0 -21
- data/app/queries/decidim/participatory_processes/metrics/participatory_process_followers_metric_measure.rb +0 -31
- data/app/queries/decidim/participatory_processes/metrics/participatory_processes_metric_manage.rb +0 -27
- data/app/queries/decidim/participatory_processes/stats_followers_count.rb +0 -60
- data/app/queries/decidim/participatory_processes/stats_participants_count.rb +0 -136
- data/app/views/decidim/participatory_processes/admin/participatory_process_copies/new.html.erb +0 -19
- data/app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb +0 -25
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddDemocraticQualityStaticPage < ActiveRecord::Migration[7.0]
|
4
|
+
class Organization < ApplicationRecord
|
5
|
+
self.table_name = :decidim_organizations
|
6
|
+
end
|
7
|
+
|
8
|
+
class StaticPage < ApplicationRecord
|
9
|
+
self.table_name = :decidim_static_pages
|
10
|
+
end
|
11
|
+
|
12
|
+
def up
|
13
|
+
Organization.find_each do |organization|
|
14
|
+
StaticPage.find_or_create_by!(slug: "democratic-quality-indicators") do |page|
|
15
|
+
page.decidim_organization_id = organization.id
|
16
|
+
page.title = localized_attribute(organization, :title)
|
17
|
+
page.content = localized_attribute(organization, :content)
|
18
|
+
page.allow_public_access = true
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def localized_attribute(organization, attribute)
|
26
|
+
organization.available_locales.inject({}) do |result, locale|
|
27
|
+
text = I18n.with_locale(locale) do
|
28
|
+
I18n.t(attribute, scope: "decidim.participatory_processes.static_pages.democratic_quality_indicators")
|
29
|
+
end
|
30
|
+
|
31
|
+
result.update(locale => text)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -32,7 +32,10 @@ Gem::Specification.new do |s|
|
|
32
32
|
|
33
33
|
s.add_dependency "decidim-core", Decidim::ParticipatoryProcesses.version
|
34
34
|
|
35
|
+
s.add_development_dependency "decidim-accountability", Decidim::ParticipatoryProcesses.version
|
35
36
|
s.add_development_dependency "decidim-admin", Decidim::ParticipatoryProcesses.version
|
37
|
+
s.add_development_dependency "decidim-budgets", Decidim::ParticipatoryProcesses.version
|
36
38
|
s.add_development_dependency "decidim-dev", Decidim::ParticipatoryProcesses.version
|
37
39
|
s.add_development_dependency "decidim-meetings", Decidim::ParticipatoryProcesses.version
|
40
|
+
s.add_development_dependency "decidim-proposals", Decidim::ParticipatoryProcesses.version
|
38
41
|
end
|
@@ -6,11 +6,20 @@ module Decidim
|
|
6
6
|
class ParticipatoryProcessGroupType < Decidim::Api::Types::BaseObject
|
7
7
|
description "A participatory process group"
|
8
8
|
|
9
|
+
implements Decidim::Core::TimestampsInterface
|
10
|
+
|
9
11
|
field :description, Decidim::Core::TranslatedFieldType, "The description of this participatory process group", null: true
|
12
|
+
field :developer_group, Decidim::Core::TranslatedFieldType, "The promoter group of this participatory process group", null: true
|
10
13
|
field :hero_image, GraphQL::Types::String, "The hero image for this participatory process group", null: true
|
11
14
|
field :id, GraphQL::Types::ID, "ID of this participatory process group", null: false
|
15
|
+
field :local_area, Decidim::Core::TranslatedFieldType, "The organization area of this participatory process group", null: true
|
16
|
+
field :meta_scope, Decidim::Core::TranslatedFieldType, "The scope metadata of this participatory process group", null: true
|
12
17
|
field :participatory_processes, [Decidim::ParticipatoryProcesses::ParticipatoryProcessType, { null: true }],
|
13
18
|
description: "Lists all the participatory processes belonging to this group", null: false
|
19
|
+
field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this participatory process group", null: true
|
20
|
+
field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this participatory process group", null: true
|
21
|
+
field :promoted, GraphQL::Types::Boolean, "If this participatory process group is promoted (therefore in the homepage)", null: true
|
22
|
+
field :target, Decidim::Core::TranslatedFieldType, "Who participates in this participatory process group", null: true
|
14
23
|
field :title, Decidim::Core::TranslatedFieldType, "The title of this participatory process group", null: true
|
15
24
|
|
16
25
|
def hero_image
|
@@ -4,7 +4,6 @@ module Decidim
|
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
class ParticipatoryProcessInputFilter < Decidim::Core::BaseInputFilter
|
6
6
|
include Decidim::Core::HasPublishableInputFilter
|
7
|
-
include Decidim::Core::HasHastaggableInputFilter
|
8
7
|
|
9
8
|
graphql_name "ParticipatoryProcessFilter"
|
10
9
|
description "A type used for filtering participatory processes"
|
@@ -6,6 +6,8 @@ module Decidim
|
|
6
6
|
class ParticipatoryProcessStepType < Decidim::Api::Types::BaseObject
|
7
7
|
description "A participatory process step"
|
8
8
|
|
9
|
+
implements Decidim::Core::TimestampsInterface
|
10
|
+
|
9
11
|
field :active, GraphQL::Types::Boolean, "If this step is the active one", null: true
|
10
12
|
field :call_to_action_path, GraphQL::Types::String, "A call to action URL for this step", method: :cta_path, null: true
|
11
13
|
field :call_to_action_text, Decidim::Core::TranslatedFieldType, "The call to action text for this step", method: :cta_text, null: true
|
@@ -10,6 +10,8 @@ module Decidim
|
|
10
10
|
implements Decidim::Core::TimestampsInterface
|
11
11
|
implements Decidim::Core::AttachableInterface
|
12
12
|
implements Decidim::Core::CategoriesContainerInterface
|
13
|
+
implements Decidim::Core::FollowableInterface
|
14
|
+
implements Decidim::Core::ReferableInterface
|
13
15
|
|
14
16
|
description "A participatory process"
|
15
17
|
|
@@ -17,7 +19,6 @@ module Decidim
|
|
17
19
|
field :description, Decidim::Core::TranslatedFieldType, "The description of this participatory process.", null: true
|
18
20
|
field :developer_group, Decidim::Core::TranslatedFieldType, "The promoter group of this participatory process.", null: true
|
19
21
|
field :end_date, Decidim::Core::DateType, "This participatory process' end date.", null: true
|
20
|
-
field :hashtag, GraphQL::Types::String, "The hashtag for this participatory process", null: true
|
21
22
|
field :hero_image, GraphQL::Types::String, "The hero image for this participatory process", null: true
|
22
23
|
field :id, GraphQL::Types::ID, "The internal ID for this participatory process", null: false
|
23
24
|
field :local_area, Decidim::Core::TranslatedFieldType, "The organization area of this participatory process.", null: true
|
@@ -25,18 +26,23 @@ module Decidim
|
|
25
26
|
field :participatory_process_group, Decidim::ParticipatoryProcesses::ParticipatoryProcessGroupType,
|
26
27
|
null: true,
|
27
28
|
description: "The participatory process group in which this process belong to"
|
28
|
-
field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this participatory process
|
29
|
-
field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this participatory process
|
29
|
+
field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this participatory process", null: true
|
30
|
+
field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this participatory process", null: true
|
31
|
+
field :private_space, GraphQL::Types::Boolean, "Specifies if the space is public or private", null: true
|
30
32
|
field :promoted, GraphQL::Types::Boolean, "If this participatory process is promoted (therefore in the homepage)", null: true
|
31
33
|
field :published_at, Decidim::Core::DateTimeType, "The time this page was published", null: false
|
32
|
-
field :
|
33
|
-
field :
|
34
|
-
field :
|
35
|
-
field :
|
36
|
-
field :
|
37
|
-
field :
|
38
|
-
field :
|
39
|
-
field :
|
34
|
+
field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this participatory process", null: true
|
35
|
+
field :slug, GraphQL::Types::String, "The slug of the participatory process", null: false
|
36
|
+
field :start_date, Decidim::Core::DateType, "This participatory process' start date", null: true
|
37
|
+
field :steps, [Decidim::ParticipatoryProcesses::ParticipatoryProcessStepType, { null: true }], "All the steps of this participatory process", null: false
|
38
|
+
field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this participatory process", null: true
|
39
|
+
field :target, Decidim::Core::TranslatedFieldType, "Who participates in this participatory process", null: true
|
40
|
+
field :url, GraphQL::Types::String, "The URL of this participatory process", null: true
|
41
|
+
field :weight, GraphQL::Types::Int, "The weight of this participatory process", null: true
|
42
|
+
|
43
|
+
def url
|
44
|
+
Decidim::EngineRouter.main_proxy(object).participatory_process_url(object)
|
45
|
+
end
|
40
46
|
|
41
47
|
def hero_image
|
42
48
|
object.attached_uploader(:hero_image).url
|
@@ -24,7 +24,7 @@ module Decidim
|
|
24
24
|
end
|
25
25
|
resources :participatory_processes, param: :slug, except: [:show, :destroy] do
|
26
26
|
resource :publish, controller: "participatory_process_publications", only: [:create, :destroy]
|
27
|
-
resources :
|
27
|
+
resources :duplicates, controller: "participatory_process_duplicates", only: [:new, :create]
|
28
28
|
|
29
29
|
member do
|
30
30
|
patch :soft_delete
|
@@ -125,11 +125,6 @@ module Decidim
|
|
125
125
|
content_block.public_name_key = "decidim.content_blocks.participatory_space_stats.name"
|
126
126
|
end
|
127
127
|
|
128
|
-
Decidim.content_blocks.register(:participatory_process_homepage, :metrics) do |content_block|
|
129
|
-
content_block.cell = "decidim/participatory_processes/content_blocks/metrics"
|
130
|
-
content_block.public_name_key = "decidim.content_blocks.participatory_space_metrics.name"
|
131
|
-
end
|
132
|
-
|
133
128
|
Decidim.content_blocks.register(:participatory_process_homepage, :related_processes) do |content_block|
|
134
129
|
content_block.cell = "decidim/participatory_processes/content_blocks/related_processes"
|
135
130
|
content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/highlighted_processes_settings_form"
|
@@ -172,6 +167,31 @@ module Decidim
|
|
172
167
|
register_highlighted_proposals
|
173
168
|
register_highlighted_results
|
174
169
|
register_related_assemblies
|
170
|
+
register_democratic_quality_stats
|
171
|
+
end
|
172
|
+
|
173
|
+
def self.register_democratic_quality_stats
|
174
|
+
return unless Decidim.module_installed?(:meetings)
|
175
|
+
return unless Decidim.module_installed?(:proposals)
|
176
|
+
return unless Decidim.module_installed?(:accountability)
|
177
|
+
return unless Decidim.module_installed?(:budgets)
|
178
|
+
|
179
|
+
Decidim.content_blocks.register(:participatory_process_homepage, :democratic_quality_stats) do |content_block|
|
180
|
+
content_block.cell = "decidim/participatory_processes/content_blocks/democratic_quality_stats"
|
181
|
+
content_block.public_name_key = "decidim.participatory_processes.content_blocks.democratic_quality_stats.name"
|
182
|
+
content_block.settings_form_cell = "decidim/participatory_processes/content_blocks/democratic_quality_stats_settings_form"
|
183
|
+
content_block.settings do |settings|
|
184
|
+
settings.attribute :functional_diversity_invited, type: :integer, default: -1
|
185
|
+
settings.attribute :languages_communicated, type: :integer, default: -1
|
186
|
+
settings.attribute :mobility_meeting_access, type: :integer, default: -1
|
187
|
+
settings.attribute :participation_scheduling_times, type: :integer, default: -1
|
188
|
+
settings.attribute :digital_support_offered, type: :integer, default: -1
|
189
|
+
settings.attribute :citizen_influence_level, type: :integer, default: -1
|
190
|
+
settings.attribute :citizen_decisional_intervention, type: :integer, default: -1
|
191
|
+
settings.attribute :published_information_clarity, type: :integer, default: -1
|
192
|
+
settings.attribute :information_provided, type: :integer, default: -1
|
193
|
+
end
|
194
|
+
end
|
175
195
|
end
|
176
196
|
|
177
197
|
def self.register_highlighted_debates
|
@@ -25,14 +25,8 @@ module Decidim
|
|
25
25
|
process ? "/processes/#{process.slug}/f/#{params[:component_id]}" : "/404"
|
26
26
|
}, constraints: { process_id: /[0-9]+/ }
|
27
27
|
|
28
|
-
get "processes/:process_id/all-metrics", to: redirect { |params, _request|
|
29
|
-
process = Decidim::ParticipatoryProcess.find(params[:process_id])
|
30
|
-
process ? "/processes/#{process.slug}/all-metrics" : "/404"
|
31
|
-
}, constraints: { process_id: /[0-9]+/ }, as: :all_metrics
|
32
|
-
|
33
28
|
resources :participatory_process_groups, only: :show, path: "processes_groups"
|
34
29
|
resources :participatory_processes, only: [:index, :show], param: :slug, path: "processes" do
|
35
|
-
get "all-metrics", on: :member
|
36
30
|
resources :participatory_space_private_users, only: :index, path: "members"
|
37
31
|
end
|
38
32
|
|
@@ -56,6 +50,8 @@ module Decidim
|
|
56
50
|
initializer "decidim_participatory_processes.register_icons" do
|
57
51
|
Decidim.icons.register(name: "Decidim::ParticipatoryProcess", icon: "treasure-map-line", description: "Participatory Process", category: "activity",
|
58
52
|
engine: :participatory_process)
|
53
|
+
Decidim.icons.register(name: "Decidim::ParticipatoryProcessGroup", icon: "treasure-map-line", description: "Participatory Process Group", category: "activity",
|
54
|
+
engine: :participatory_process)
|
59
55
|
Decidim.icons.register(name: "archive-line", icon: "archive-line", category: "system", description: "", engine: :participatory_process)
|
60
56
|
Decidim.icons.register(name: "grid-line", icon: "grid-line", category: "system", description: "", engine: :participatory_process)
|
61
57
|
Decidim.icons.register(name: "globe-line", icon: "globe-line", category: "system", description: "", engine: :participatory_process)
|
@@ -81,32 +77,33 @@ module Decidim
|
|
81
77
|
end
|
82
78
|
|
83
79
|
initializer "decidim_participatory_processes.stats" do
|
84
|
-
Decidim.stats.register :
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
80
|
+
Decidim.stats.register :processes_count,
|
81
|
+
priority: StatsRegistry::HIGH_PRIORITY,
|
82
|
+
icon_name: "treasure-map-line",
|
83
|
+
tooltip_key: "processes_count_tooltip" do |organization, start_at, end_at|
|
84
|
+
processes = ParticipatoryProcesses::OrganizationPrioritizedParticipatoryProcesses.new(organization)
|
85
|
+
|
86
|
+
processes = processes.where(created_at: start_at..) if start_at.present?
|
87
|
+
processes = processes.where(created_at: ..end_at) if end_at.present?
|
88
|
+
processes.count
|
90
89
|
end
|
91
|
-
end
|
92
90
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
settings.attribute :highlighted, type: :boolean, default: false
|
99
|
-
settings.attribute :scopes, type: :array, default: %w(home)
|
100
|
-
settings.attribute :weight, type: :integer, default: 2
|
101
|
-
end
|
91
|
+
Decidim.stats.register :followers_count,
|
92
|
+
priority: StatsRegistry::MEDIUM_PRIORITY,
|
93
|
+
icon_name: "user-follow-line",
|
94
|
+
tooltip_key: "followers_count_tooltip" do |participatory_space|
|
95
|
+
Decidim::ParticipatoryProcesses::ParticipatoryProcessesStatsFollowersCount.for(participatory_space)
|
102
96
|
end
|
103
97
|
|
104
|
-
Decidim.
|
105
|
-
|
98
|
+
Decidim.stats.register :participants_count,
|
99
|
+
priority: StatsRegistry::MEDIUM_PRIORITY,
|
100
|
+
icon_name: "user-line",
|
101
|
+
tooltip_key: "participants_count_tooltip" do |participatory_space|
|
102
|
+
Decidim::ParticipatoryProcesses::ParticipatoryProcessesStatsParticipantsCount.for(participatory_space)
|
106
103
|
end
|
107
104
|
end
|
108
105
|
|
109
|
-
initializer "decidim_participatory_processes.
|
106
|
+
initializer "decidim_participatory_processes.shakapacker.assets_path" do
|
110
107
|
Decidim.register_assets_path File.expand_path("app/packs", root)
|
111
108
|
end
|
112
109
|
end
|
@@ -172,7 +172,7 @@ module Decidim
|
|
172
172
|
decidim_admin_participatory_processes.participatory_process_share_tokens_path(current_participatory_space),
|
173
173
|
active: is_active_link?(decidim_admin_participatory_processes.participatory_process_share_tokens_path(current_participatory_space)),
|
174
174
|
icon_name: "share-line",
|
175
|
-
if: allowed_to?(:read, :
|
175
|
+
if: allowed_to?(:read, :share_token, current_participatory_space:)
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
@@ -27,10 +27,7 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
|
|
27
27
|
resource.model_class_name = "Decidim::ParticipatoryProcessGroup"
|
28
28
|
resource.card = "decidim/participatory_processes/process_group"
|
29
29
|
resource.content_blocks_scope_name = "participatory_process_group_homepage"
|
30
|
-
|
31
|
-
|
32
|
-
participatory_space.register_stat :followers_count, tag: :followers, priority: Decidim::StatsRegistry::LOW_PRIORITY do |spaces, _start_at, _end_at|
|
33
|
-
Decidim::Follow.where(followable: spaces).count
|
30
|
+
resource.searchable = true
|
34
31
|
end
|
35
32
|
|
36
33
|
participatory_space.context(:public) do |context|
|
@@ -10,7 +10,7 @@ module Decidim
|
|
10
10
|
create_content_block!
|
11
11
|
|
12
12
|
process_groups = []
|
13
|
-
|
13
|
+
number_of_records.times do
|
14
14
|
process_groups << create_process_group!
|
15
15
|
end
|
16
16
|
|
@@ -19,7 +19,7 @@ module Decidim
|
|
19
19
|
end
|
20
20
|
|
21
21
|
taxonomy = create_taxonomy!(name: "Process Types", parent: nil)
|
22
|
-
|
22
|
+
number_of_records.times do
|
23
23
|
create_taxonomy!(name: ::Faker::Lorem.word, parent: taxonomy)
|
24
24
|
end
|
25
25
|
# filters for processes only
|
@@ -27,7 +27,7 @@ module Decidim
|
|
27
27
|
taxonomies: taxonomy.all_children,
|
28
28
|
participatory_space_manifests: [:participatory_processes])
|
29
29
|
|
30
|
-
|
30
|
+
number_of_records.times do |_n|
|
31
31
|
process = create_process!(process_group: process_groups.sample)
|
32
32
|
|
33
33
|
create_follow!(Decidim::User.where(organization:, admin: true).first, process)
|
@@ -61,7 +61,6 @@ module Decidim
|
|
61
61
|
description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
62
62
|
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
63
63
|
end,
|
64
|
-
hashtag: ::Faker::Internet.slug,
|
65
64
|
group_url: ::Faker::Internet.url,
|
66
65
|
organization:,
|
67
66
|
hero_image: ::Faker::Boolean.boolean(true_ratio: 0.5) ? hero_image : nil, # Keep after organization
|
@@ -80,7 +79,6 @@ module Decidim
|
|
80
79
|
title: Decidim::Faker::Localized.sentence(word_count: 5),
|
81
80
|
slug: Decidim::Faker::Internet.unique.slug(words: nil, glue: "-"),
|
82
81
|
subtitle: Decidim::Faker::Localized.sentence(word_count: 2),
|
83
|
-
hashtag: "##{::Faker::Lorem.word}",
|
84
82
|
short_description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
85
83
|
Decidim::Faker::Localized.sentence(word_count: 3)
|
86
84
|
end,
|
@@ -111,7 +111,6 @@ FactoryBot.define do
|
|
111
111
|
description { generate_localized_description(:participatory_process_group_description, skip_injection:) }
|
112
112
|
hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") }
|
113
113
|
organization
|
114
|
-
hashtag { Faker::Internet.slug }
|
115
114
|
group_url { Faker::Internet.url }
|
116
115
|
developer_group { generate_localized_title(:participatory_process_group_developer_group, skip_injection:) }
|
117
116
|
local_area { generate_localized_title(:participatory_process_group_local_area, skip_injection:) }
|
@@ -227,7 +226,7 @@ FactoryBot.define do
|
|
227
226
|
end
|
228
227
|
end
|
229
228
|
|
230
|
-
factory :
|
229
|
+
factory :process_evaluator, parent: :user, class: "Decidim::User" do
|
231
230
|
transient do
|
232
231
|
skip_injection { false }
|
233
232
|
participatory_process { create(:participatory_process, skip_injection:) }
|
@@ -240,7 +239,7 @@ FactoryBot.define do
|
|
240
239
|
create(:participatory_process_user_role,
|
241
240
|
user:,
|
242
241
|
participatory_process: evaluator.participatory_process,
|
243
|
-
role: :
|
242
|
+
role: :evaluator, skip_injection: evaluator.skip_injection)
|
244
243
|
end
|
245
244
|
end
|
246
245
|
|