decidim-participatory_processes 0.30.2 → 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 +4 -4
- 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 +0 -1
- 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 -13
- data/config/locales/bg.yml +0 -24
- data/config/locales/bs-BA.yml +0 -4
- data/config/locales/ca-IT.yml +319 -25
- data/config/locales/ca.yml +319 -25
- data/config/locales/cs.yml +93 -26
- data/config/locales/de.yml +123 -25
- data/config/locales/el.yml +0 -21
- data/config/locales/en.yml +303 -24
- data/config/locales/es-MX.yml +319 -25
- data/config/locales/es-PY.yml +319 -25
- data/config/locales/es.yml +319 -25
- data/config/locales/eu.yml +304 -25
- data/config/locales/fi-plain.yml +303 -24
- data/config/locales/fi.yml +303 -24
- data/config/locales/fr-CA.yml +86 -24
- data/config/locales/fr.yml +86 -24
- data/config/locales/ga-IE.yml +0 -7
- data/config/locales/gl.yml +0 -19
- data/config/locales/hu.yml +0 -21
- data/config/locales/id-ID.yml +0 -13
- data/config/locales/is-IS.yml +0 -11
- data/config/locales/it.yml +0 -20
- data/config/locales/ja.yml +123 -25
- data/config/locales/lb.yml +0 -20
- data/config/locales/lt.yml +0 -21
- data/config/locales/lv.yml +0 -14
- data/config/locales/nl.yml +0 -20
- data/config/locales/no.yml +0 -21
- data/config/locales/pl.yml +16 -24
- data/config/locales/pt-BR.yml +0 -23
- data/config/locales/pt.yml +0 -20
- data/config/locales/ro-RO.yml +2 -21
- data/config/locales/ru.yml +0 -11
- data/config/locales/sk.yml +0 -14
- data/config/locales/sr-CS.yml +0 -4
- data/config/locales/sv.yml +86 -24
- data/config/locales/tr-TR.yml +0 -20
- data/config/locales/uk.yml +0 -11
- data/config/locales/zh-CN.yml +0 -17
- data/config/locales/zh-TW.yml +0 -21
- 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/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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e2a3865da4fea6e8086d1861c607c830ae4f6065d657403495831d54a7ea141
|
4
|
+
data.tar.gz: fd7a38162cfc5c5ab403b15eefca0c636ede53b79b3dd1ba15d1a891f65a1d29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e0f835e72277aedefef38a056a245682d8be43c4a4430f151de5f0d2e7960ae272a74535278ffc4470cd5690a723969606726208fa1fe823b9fbbd6e27fc65c
|
7
|
+
data.tar.gz: 115df8486de52b7c640ab4b968a7650226c18414246a5818c9abef2b3128001662db72c9ca93f28b709b6dae8b377ff559a6f5a98963b321237a88fd4c92a5cb
|
@@ -5,7 +5,7 @@
|
|
5
5
|
</div>
|
6
6
|
|
7
7
|
<% group_attributes1 = [processes_count_item, meta_scope_item].compact %>
|
8
|
-
<% group_attributes2 = [
|
8
|
+
<% group_attributes2 = [external_link_item].compact %>
|
9
9
|
|
10
10
|
<div class="participatory-space-group__content-block-metadata">
|
11
11
|
<% group_attributes1.each do |item| %>
|
@@ -5,9 +5,8 @@ module Decidim
|
|
5
5
|
module ContentBlocks
|
6
6
|
class MainDataCell < Decidim::ContentBlocks::ParticipatorySpaceMainDataCell
|
7
7
|
include Decidim::SanitizeHelper
|
8
|
-
include Decidim::TwitterSearchHelper
|
9
8
|
|
10
|
-
delegate :title, :description, :
|
9
|
+
delegate :title, :description, :group_url, :meta_scope, to: :resource
|
11
10
|
|
12
11
|
private
|
13
12
|
|
@@ -23,15 +22,6 @@ module Decidim
|
|
23
22
|
decidim_sanitize_editor_admin translated_attribute(description)
|
24
23
|
end
|
25
24
|
|
26
|
-
def hashtag_item
|
27
|
-
return if hashtag_text.blank?
|
28
|
-
|
29
|
-
{
|
30
|
-
icon: "twitter-x-line",
|
31
|
-
text: link_to("##{hashtag_text}", twitter_hashtag_url(hashtag_text), target: "_blank", rel: "noopener")
|
32
|
-
}
|
33
|
-
end
|
34
|
-
|
35
25
|
def processes_count_item
|
36
26
|
{
|
37
27
|
icon: "grid-line",
|
@@ -60,10 +50,6 @@ module Decidim
|
|
60
50
|
}
|
61
51
|
end
|
62
52
|
|
63
|
-
def hashtag_text
|
64
|
-
@hashtag_text ||= decidim_html_escape(hashtag || "")
|
65
|
-
end
|
66
|
-
|
67
53
|
def group_url_text
|
68
54
|
group_uri.host + group_uri.path
|
69
55
|
end
|
data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats/show.erb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
<section id="democratic_quality_stats" class="home__section home__section-content-block">
|
2
|
+
<h2 class="home__section-title">
|
3
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.name") %>
|
4
|
+
</h2>
|
5
|
+
|
6
|
+
<div>
|
7
|
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-4">
|
8
|
+
<%= cell "decidim/participatory_processes/indicator", nil, metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.global_score.name"), metric_value: stats[:global_score], metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.global_score.tooltip") %>
|
9
|
+
<div class="text-md col-span-3 text-gray-2 prose-a:underline">
|
10
|
+
<p><%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.global_score.description_html", info_url:) %></p>
|
11
|
+
<p class="text-sm mt-4 text-gray">
|
12
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.global_score.note") %>
|
13
|
+
</p>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="mt-8">
|
17
|
+
<h4 class="uppercase text-md font-semibold tracking-wider text-gray-2">
|
18
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.name") %>
|
19
|
+
</h4>
|
20
|
+
<p class="text-md mt-2 text-gray-2">
|
21
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.description") %>
|
22
|
+
</p>
|
23
|
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mt-4">
|
24
|
+
<%= cell "decidim/participatory_processes/indicator",
|
25
|
+
nil,
|
26
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.influence"),
|
27
|
+
metric_value: stats[:automatic][:influence],
|
28
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.influence_tooltip") %>
|
29
|
+
<%= cell "decidim/participatory_processes/indicator",
|
30
|
+
nil,
|
31
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.hybridization"),
|
32
|
+
metric_value: stats[:automatic][:hybridization],
|
33
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.hybridization_tooltip") %>
|
34
|
+
<%= cell "decidim/participatory_processes/indicator",
|
35
|
+
nil,
|
36
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.transparency"),
|
37
|
+
metric_value: stats[:automatic][:transparency],
|
38
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.transparency_tooltip") %>
|
39
|
+
<%= cell "decidim/participatory_processes/indicator",
|
40
|
+
nil,
|
41
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.traceability"),
|
42
|
+
metric_value: stats[:automatic][:traceability],
|
43
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.automatic_metrics.indicators.traceability_tooltip") %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<% if finished_survey? %>
|
47
|
+
<div class="mt-8">
|
48
|
+
<h4 class="uppercase text-md font-semibold tracking-wider text-gray-2">
|
49
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.name") %>
|
50
|
+
</h4>
|
51
|
+
<p class="text-md mt-2 text-gray-2">
|
52
|
+
<%= t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.description") %>
|
53
|
+
</p>
|
54
|
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mt-4">
|
55
|
+
<%= cell "decidim/participatory_processes/indicator",
|
56
|
+
nil,
|
57
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.inclusiveness"),
|
58
|
+
metric_value: stats[:auto_evaluation][:inclusiveness],
|
59
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.inclusiveness_tooltip") %>
|
60
|
+
<%= cell "decidim/participatory_processes/indicator",
|
61
|
+
nil,
|
62
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.citizen_influence"),
|
63
|
+
metric_value: stats[:auto_evaluation][:citizen_influence],
|
64
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.citizen_influence_tooltip") %>
|
65
|
+
<%= cell "decidim/participatory_processes/indicator",
|
66
|
+
nil,
|
67
|
+
metric_name: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.informativeness"),
|
68
|
+
metric_value: stats[:auto_evaluation][:informativeness],
|
69
|
+
metric_tooltip: t("decidim.participatory_processes.content_blocks.democratic_quality_stats.qualitative_metrics.indicators.informativeness_tooltip") %>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
<% end %>
|
73
|
+
</div>
|
74
|
+
</section>
|
data/app/cells/decidim/participatory_processes/content_blocks/democratic_quality_stats_cell.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module ParticipatoryProcesses
|
5
|
+
module ContentBlocks
|
6
|
+
class DemocraticQualityStatsCell < Decidim::ContentBlocks::BaseCell
|
7
|
+
include ParticipatorySpaceContentBlocksHelper
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def stats
|
12
|
+
@stats ||= presenter.stats
|
13
|
+
end
|
14
|
+
|
15
|
+
def finished_survey?
|
16
|
+
@finished_survey ||= presenter.finished_survey?
|
17
|
+
end
|
18
|
+
|
19
|
+
def presenter
|
20
|
+
@presenter ||= ParticipatoryProcessDemocraticQualityStatsPresenter.new(model, resource)
|
21
|
+
end
|
22
|
+
|
23
|
+
def info_url
|
24
|
+
decidim.page_path("democratic-quality-indicators")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div class="row column mt-10">
|
2
|
+
<h2 class="text-xl font-semibold">
|
3
|
+
<%= t("citizen_influence.name", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %>
|
4
|
+
</h2>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="row column">
|
8
|
+
<fieldset class="mt-4">
|
9
|
+
<legend class="font-semibold"><%= t("citizen_influence.citizen_influence_level.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
10
|
+
<% settings_options[:citizen_influence_level].each do |label, value, description| %>
|
11
|
+
<%= label_tag nil, class: "form__wrapper-radio-label" do %>
|
12
|
+
<%= radio_button_tag input_name("citizen_influence_level"), value, form.object.settings.citizen_influence_level == value %>
|
13
|
+
<%= label %>
|
14
|
+
<div class="text-sm text-gray mt-1 font-normal">
|
15
|
+
<%= description %>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
18
|
+
<% end %>
|
19
|
+
</fieldset>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div class="row column">
|
23
|
+
<fieldset>
|
24
|
+
<legend class="font-semibold"><%= t("citizen_influence.citizen_decisional_intervention.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
25
|
+
<% settings_options[:citizen_decisional_intervention].each do |label, value| %>
|
26
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
27
|
+
<%= radio_button_tag input_name("citizen_decisional_intervention"), value, form.object.settings.citizen_decisional_intervention == value %>
|
28
|
+
<%= label %>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
</fieldset>
|
32
|
+
</div>
|
@@ -0,0 +1,69 @@
|
|
1
|
+
<div class="row column">
|
2
|
+
<h2 class="text-xl font-semibold">
|
3
|
+
<%= t("inclusiveness.name", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %>
|
4
|
+
</h2>
|
5
|
+
|
6
|
+
<p class="text-md text-gray mt-2 font-normal">
|
7
|
+
<%= t("inclusiveness.description", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %>
|
8
|
+
</p>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="row column">
|
12
|
+
<fieldset>
|
13
|
+
<legend class="font-semibold"><%= t("inclusiveness.functional_diversity_invited.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
14
|
+
<% settings_options[:functional_diversity_invited].each do |label, value| %>
|
15
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
16
|
+
<%= radio_button_tag input_name("functional_diversity_invited"), value, form.object.settings.functional_diversity_invited == value %>
|
17
|
+
<%= label %>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
20
|
+
</fieldset>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="row column">
|
24
|
+
<fieldset>
|
25
|
+
<legend class="font-semibold"><%= t("inclusiveness.languages_communicated.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
26
|
+
<% settings_options[:languages_communicated].each do |label, value| %>
|
27
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
28
|
+
<%= radio_button_tag input_name("languages_communicated"), value, form.object.settings.languages_communicated == value %>
|
29
|
+
<%= label %>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
32
|
+
</fieldset>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="row column">
|
36
|
+
<fieldset>
|
37
|
+
<legend class="font-semibold"><%= t("inclusiveness.mobility_meeting_access.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
38
|
+
<% settings_options[:mobility_meeting_access].each do |label, value| %>
|
39
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
40
|
+
<%= radio_button_tag input_name("mobility_meeting_access"), value, form.object.settings.mobility_meeting_access == value %>
|
41
|
+
<%= label %>
|
42
|
+
<% end %>
|
43
|
+
<% end %>
|
44
|
+
</fieldset>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class="row column">
|
48
|
+
<fieldset>
|
49
|
+
<legend class="font-semibold"><%= t("inclusiveness.participation_scheduling_times.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
50
|
+
<% settings_options[:participation_scheduling_times].each do |label, value| %>
|
51
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
52
|
+
<%= radio_button_tag input_name("participation_scheduling_times"), value, form.object.settings.participation_scheduling_times == value %>
|
53
|
+
<%= label %>
|
54
|
+
<% end %>
|
55
|
+
<% end %>
|
56
|
+
</fieldset>
|
57
|
+
</div>
|
58
|
+
|
59
|
+
<div class="row column">
|
60
|
+
<fieldset>
|
61
|
+
<legend class="font-semibold"><%= t("inclusiveness.digital_support_offered.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
62
|
+
<% settings_options[:digital_support_offered].each do |label, value| %>
|
63
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
64
|
+
<%= radio_button_tag input_name("digital_support_offered"), value, form.object.settings.digital_support_offered == value %>
|
65
|
+
<%= label %>
|
66
|
+
<% end %>
|
67
|
+
<% end %>
|
68
|
+
</fieldset>
|
69
|
+
</div>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<div class="row column mt-10">
|
2
|
+
<h2 class="text-xl font-semibold">
|
3
|
+
<%= t("informativeness.name", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %>
|
4
|
+
</h2>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="row column">
|
8
|
+
<fieldset>
|
9
|
+
<legend class="font-semibold"><%= t("informativeness.published_information_clarity.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
10
|
+
<% settings_options[:published_information_clarity].each do |label, value| %>
|
11
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
12
|
+
<%= radio_button_tag input_name("published_information_clarity"), value, form.object.settings.published_information_clarity == value %>
|
13
|
+
<%= label %>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
</fieldset>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="row column">
|
20
|
+
<fieldset>
|
21
|
+
<legend class="font-semibold"><%= t("informativeness.information_provided.legend", scope: "decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form") %></legend>
|
22
|
+
<% settings_options[:information_provided].each do |label, value| %>
|
23
|
+
<%= label_tag nil, class: "form__wrapper-checkbox-label" do %>
|
24
|
+
<%= radio_button_tag input_name("information_provided"), value, form.object.settings.information_provided == value %>
|
25
|
+
<%= label %>
|
26
|
+
<% end %>
|
27
|
+
<% end %>
|
28
|
+
</fieldset>
|
29
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<div class="px-4 mb-4">
|
2
|
+
<%= cell("decidim/announcement", {
|
3
|
+
title: t("decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form.announcement.title"),
|
4
|
+
body: t("decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form.announcement.body_html")
|
5
|
+
}, callout_class: "secondary") %>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<%= render :informativeness %>
|
9
|
+
<%= render :citizen_influence %>
|
10
|
+
<%= render :inclusiveness %>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module ParticipatoryProcesses
|
5
|
+
module ContentBlocks
|
6
|
+
# Cell for the democratic quality stats settings form content block.
|
7
|
+
class DemocraticQualityStatsSettingsFormCell < Decidim::ContentBlocks::BaseCell
|
8
|
+
alias form model
|
9
|
+
|
10
|
+
def content_block
|
11
|
+
options[:content_block]
|
12
|
+
end
|
13
|
+
|
14
|
+
def option_scope
|
15
|
+
"decidim.participatory_processes.admin.content_blocks.democratic_quality_stats_settings_form"
|
16
|
+
end
|
17
|
+
|
18
|
+
def settings_options
|
19
|
+
{
|
20
|
+
functional_diversity_invited: [
|
21
|
+
[t("inclusiveness.functional_diversity_invited.options.zero", scope: option_scope), 0],
|
22
|
+
[t("inclusiveness.functional_diversity_invited.options.one", scope: option_scope), 1],
|
23
|
+
[t("inclusiveness.functional_diversity_invited.options.two_five", scope: option_scope), 2.5],
|
24
|
+
[t("inclusiveness.functional_diversity_invited.options.five", scope: option_scope), 5]
|
25
|
+
],
|
26
|
+
languages_communicated: [
|
27
|
+
[t("inclusiveness.languages_communicated.options.one", scope: option_scope), 1],
|
28
|
+
[t("inclusiveness.languages_communicated.options.two_five", scope: option_scope), 2.5],
|
29
|
+
[t("inclusiveness.languages_communicated.options.five", scope: option_scope), 5]
|
30
|
+
],
|
31
|
+
mobility_meeting_access: [
|
32
|
+
[t("inclusiveness.mobility_meeting_access.options.zero", scope: option_scope), 0],
|
33
|
+
[t("inclusiveness.mobility_meeting_access.options.two_five", scope: option_scope), 2.5],
|
34
|
+
[t("inclusiveness.mobility_meeting_access.options.five", scope: option_scope), 5]
|
35
|
+
],
|
36
|
+
participation_scheduling_times: [
|
37
|
+
[t("inclusiveness.participation_scheduling_times.options.zero", scope: option_scope), 0],
|
38
|
+
[t("inclusiveness.participation_scheduling_times.options.two_five", scope: option_scope), 2.5],
|
39
|
+
[t("inclusiveness.participation_scheduling_times.options.five", scope: option_scope), 5]
|
40
|
+
],
|
41
|
+
digital_support_offered: [
|
42
|
+
[t("inclusiveness.digital_support_offered.options.zero", scope: option_scope), 0],
|
43
|
+
[t("inclusiveness.digital_support_offered.options.two_five", scope: option_scope), 2.5],
|
44
|
+
[t("inclusiveness.digital_support_offered.options.five", scope: option_scope), 5]
|
45
|
+
],
|
46
|
+
citizen_influence_level: [
|
47
|
+
[t("citizen_influence.citizen_influence_level.options.one", scope: option_scope), 1],
|
48
|
+
[t("citizen_influence.citizen_influence_level.options.two", scope: option_scope), 2],
|
49
|
+
[t("citizen_influence.citizen_influence_level.options.three", scope: option_scope), 3],
|
50
|
+
[t("citizen_influence.citizen_influence_level.options.four", scope: option_scope), 4],
|
51
|
+
[t("citizen_influence.citizen_influence_level.options.five", scope: option_scope), 5]
|
52
|
+
],
|
53
|
+
citizen_decisional_intervention: [
|
54
|
+
[t("citizen_influence.citizen_decisional_intervention.options.one", scope: option_scope), 1],
|
55
|
+
[t("citizen_influence.citizen_decisional_intervention.options.two", scope: option_scope), 2],
|
56
|
+
[t("citizen_influence.citizen_decisional_intervention.options.three", scope: option_scope), 3],
|
57
|
+
[t("citizen_influence.citizen_decisional_intervention.options.four", scope: option_scope), 4],
|
58
|
+
[t("citizen_influence.citizen_decisional_intervention.options.five", scope: option_scope), 5]
|
59
|
+
],
|
60
|
+
published_information_clarity: [
|
61
|
+
[t("informativeness.published_information_clarity.options.zero", scope: option_scope), 0],
|
62
|
+
[t("informativeness.published_information_clarity.options.one", scope: option_scope), 1],
|
63
|
+
[t("informativeness.published_information_clarity.options.two_five", scope: option_scope), 2.5],
|
64
|
+
[t("informativeness.published_information_clarity.options.five", scope: option_scope), 5]
|
65
|
+
],
|
66
|
+
information_provided: [
|
67
|
+
[t("informativeness.information_provided.options.zero", scope: option_scope), 0],
|
68
|
+
[t("informativeness.information_provided.options.one", scope: option_scope), 1],
|
69
|
+
[t("informativeness.information_provided.options.two_five", scope: option_scope), 2.5],
|
70
|
+
[t("informativeness.information_provided.options.five", scope: option_scope), 5]
|
71
|
+
]
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
def input_name(name)
|
76
|
+
"content_block[settings][#{name}]"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -17,17 +17,25 @@ module Decidim
|
|
17
17
|
t("title", scope: "decidim.participatory_processes.participatory_processes.show")
|
18
18
|
end
|
19
19
|
|
20
|
+
def rich_text_processors?
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
20
24
|
def short_description_text
|
21
|
-
|
25
|
+
presenter.short_description
|
22
26
|
end
|
23
27
|
|
24
28
|
def description_text
|
25
|
-
|
29
|
+
presenter.description
|
26
30
|
end
|
27
31
|
|
28
32
|
def nav_items
|
29
33
|
process_nav_items(resource)
|
30
34
|
end
|
35
|
+
|
36
|
+
def presenter
|
37
|
+
@presenter ||= Decidim::ParticipatoryProcesses::ParticipatoryProcessPresenter.new(resource)
|
38
|
+
end
|
31
39
|
end
|
32
40
|
end
|
33
41
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="flex gap-2 py-2 px-4 rounded-lg justify-between items-center text-gray-2" style="background-color: #F3F8FC;">
|
2
|
+
<div class="text-lg font-semibold flex items-center gap-2">
|
3
|
+
<span><%= metric_name %></span>
|
4
|
+
<%= with_tooltip(metric_tooltip, class: "top") do %>
|
5
|
+
<%= icon("information-line", aria_label: metric_tooltip, role: "img", class: "fill-secondary h-4 w-4") %>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
8
|
+
<div class="text-lg font-semibold flex items-center gap-2">
|
9
|
+
<span class="font-bold text-5xl"><%= metric_value %></span><span class=""> /5*</span>
|
10
|
+
</div>
|
11
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module ParticipatoryProcesses
|
5
|
+
class IndicatorCell < Decidim::ViewModel
|
6
|
+
include Decidim::Admin::IconWithTooltipHelper
|
7
|
+
|
8
|
+
def show
|
9
|
+
render
|
10
|
+
end
|
11
|
+
|
12
|
+
def metric_name
|
13
|
+
options[:metric_name]
|
14
|
+
end
|
15
|
+
|
16
|
+
def metric_value
|
17
|
+
number_with_precision(options[:metric_value], strip_insignificant_zeros: true, precision: 2)
|
18
|
+
end
|
19
|
+
|
20
|
+
def metric_tooltip
|
21
|
+
options[:metric_tooltip]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -12,11 +12,4 @@
|
|
12
12
|
) %>
|
13
13
|
</span>
|
14
14
|
<% end %>
|
15
|
-
|
16
|
-
<% if hashtag.present? %>
|
17
|
-
<span>
|
18
|
-
<%= icon "twitter-x-line", class: "text-gray fill-current" %>
|
19
|
-
<%= link_to "##{hashtag}", twitter_hashtag_url(hashtag), target: "_blank", class: "text-secondary underline" %>
|
20
|
-
</span>
|
21
|
-
<% end %>
|
22
15
|
</div>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<%= icon "flag-line" %>
|
4
4
|
<h3 id="dialog-title-process-steps-modal" data-dialog-title><%= t("participatory_process_steps.index.process_steps", scope: "decidim") %></h3>
|
5
5
|
<div>
|
6
|
-
<div class="participatory-space__metadata-modal__list-container" data-
|
6
|
+
<div class="participatory-space__metadata-modal__list-container" data-controller="accordion" data-multiselectable="false" data-collapsible="false">
|
7
7
|
<ol class="participatory-space__metadata-modal__list">
|
8
8
|
<% steps.each_with_index do |step, i| %>
|
9
9
|
<% active = step == active_step %>
|
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
class CreateParticipatoryProcess < Decidim::Commands::CreateResource
|
9
9
|
fetch_file_attributes :hero_image
|
10
10
|
|
11
|
-
fetch_form_attributes :organization, :title, :subtitle, :weight, :slug, :
|
11
|
+
fetch_form_attributes :organization, :title, :subtitle, :weight, :slug, :description,
|
12
12
|
:short_description, :promoted, :taxonomizations, :announcement,
|
13
13
|
:private_space, :developer_group, :local_area, :target,
|
14
14
|
:participatory_scope, :participatory_structure, :meta_scope, :start_date, :end_date,
|
data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb
CHANGED
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
class CreateParticipatoryProcessGroup < Decidim::Commands::CreateResource
|
9
9
|
fetch_file_attributes :hero_image
|
10
10
|
|
11
|
-
fetch_form_attributes :organization, :title, :description, :
|
11
|
+
fetch_form_attributes :organization, :title, :description, :group_url, :target, :promoted,
|
12
12
|
:developer_group, :local_area, :meta_scope, :participatory_scope, :participatory_structure
|
13
13
|
|
14
14
|
protected
|