decidim-participatory_processes 0.28.2 → 0.29.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/participatory_process_groups/content_blocks/extra_data_cell.rb +4 -4
- data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +0 -2
- data/app/cells/decidim/participatory_processes/content_blocks/stats_cell.rb +1 -1
- data/app/cells/decidim/participatory_processes/process_filters/filter_tabs.erb +2 -2
- data/app/cells/decidim/participatory_processes/process_filters/show.erb +1 -1
- data/app/cells/decidim/participatory_processes/process_filters/type_filter.erb +1 -1
- data/app/cells/decidim/participatory_processes/process_filters_cell.rb +1 -2
- data/app/cells/decidim/participatory_processes/process_group_s_cell.rb +5 -1
- data/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +5 -7
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +27 -99
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +10 -53
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +9 -36
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb +4 -34
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +6 -37
- data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +5 -4
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +10 -80
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +6 -55
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +8 -52
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_type.rb +2 -38
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_copies_controller.rb +1 -1
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_groups_controller.rb +2 -2
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_steps_controller.rb +2 -2
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_types_controller.rb +2 -2
- data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +1 -1
- data/app/controllers/decidim/participatory_processes/admin/participatory_space_private_users_controller.rb +1 -1
- data/app/controllers/decidim/participatory_processes/application_controller.rb +3 -0
- data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +1 -6
- data/app/events/decidim/participatory_process_role_assigned_event.rb +0 -5
- data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +0 -5
- data/app/models/decidim/participatory_process.rb +0 -3
- data/app/models/decidim/participatory_process_step.rb +1 -1
- data/app/permissions/decidim/participatory_processes/permissions.rb +1 -1
- data/app/presenters/decidim/participatory_processes/participatory_process_presenter.rb +0 -4
- data/app/queries/decidim/participatory_processes/stats_participants_count.rb +4 -4
- data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +2 -5
- data/app/serializers/decidim/participatory_processes/participatory_process_serializer.rb +0 -3
- data/app/views/decidim/participatory_processes/admin/participatory_process_steps/index.html.erb +1 -1
- data/app/views/decidim/participatory_processes/admin/participatory_process_steps/show.html.erb +1 -1
- data/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/index.html.erb +1 -1
- data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +5 -17
- data/app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb +4 -1
- data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +23 -19
- data/config/locales/ar.yml +0 -3
- data/config/locales/bg.yml +1 -4
- data/config/locales/ca.yml +1 -4
- data/config/locales/cs.yml +1 -4
- data/config/locales/de.yml +1 -4
- data/config/locales/el.yml +0 -4
- data/config/locales/en.yml +1 -4
- data/config/locales/es-MX.yml +1 -4
- data/config/locales/es-PY.yml +1 -4
- data/config/locales/es.yml +1 -4
- data/config/locales/eu.yml +1 -4
- data/config/locales/fi-plain.yml +1 -4
- data/config/locales/fi.yml +1 -4
- data/config/locales/fr-CA.yml +1 -4
- data/config/locales/fr.yml +1 -4
- data/config/locales/gl.yml +0 -4
- data/config/locales/hu.yml +0 -4
- data/config/locales/id-ID.yml +0 -2
- data/config/locales/is-IS.yml +0 -2
- data/config/locales/it.yml +0 -4
- data/config/locales/ja.yml +1 -4
- data/config/locales/lb.yml +0 -3
- data/config/locales/lt.yml +0 -4
- data/config/locales/lv.yml +0 -3
- data/config/locales/nl.yml +0 -4
- data/config/locales/no.yml +0 -4
- data/config/locales/pl.yml +1 -4
- data/config/locales/pt-BR.yml +0 -4
- data/config/locales/pt.yml +0 -4
- data/config/locales/ro-RO.yml +0 -4
- data/config/locales/ru.yml +0 -2
- data/config/locales/sk.yml +0 -3
- data/config/locales/sr-CS.yml +0 -1
- data/config/locales/sv.yml +0 -4
- data/config/locales/tr-TR.yml +0 -4
- data/config/locales/uk.yml +0 -2
- data/config/locales/zh-CN.yml +0 -3
- data/config/locales/zh-TW.yml +0 -4
- data/db/migrate/20240529161054_add_link_to_decidim_attachments.rb +7 -0
- data/decidim-participatory_processes.gemspec +1 -1
- data/lib/decidim/api/participatory_process_type.rb +0 -7
- data/lib/decidim/participatory_processes/content_blocks/registry_manager.rb +1 -1
- data/lib/decidim/participatory_processes/engine.rb +1 -0
- data/lib/decidim/participatory_processes/menu.rb +11 -0
- data/lib/decidim/participatory_processes/seeds.rb +4 -12
- data/lib/decidim/participatory_processes/test/factories.rb +0 -3
- data/lib/decidim/participatory_processes/version.rb +1 -1
- data/lib/tasks/decidim_participatory_processes.rake +1 -1
- metadata +14 -18
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb +0 -46
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_type.rb +0 -49
- data/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +0 -0
- data/app/views/layouts/decidim/_process_header.html.erb +0 -17
- data/app/views/layouts/decidim/participatory_process.html.erb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b84cba31d60663fcc0d5019de35f7c4329d09e4e2153294eb010368d17af16ee
|
4
|
+
data.tar.gz: e673a844e3df55d1490f1cbe47cde4eeddbb93194dee57a99de1f5d394e35214
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 765151861f1ac86aa53205108476869605ad71a4fb21b5c3019951e17e16e8e9176bd6259ddf72115159f169ae89375cd748eb05b601cc40e0eef287b2a7e255
|
7
|
+
data.tar.gz: 0ed036e6c2c8e2516152f3c3d31976640a7536a6a178537d47b51a36295124fa3b7243adc59f37e28782d8313469047f7cf32c2e9444e6b2f71a805876938119
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def developer_group_item
|
18
|
-
return if (text =
|
18
|
+
return if (text = decidim_sanitize_translated(developer_group)).blank?
|
19
19
|
|
20
20
|
{
|
21
21
|
title: t("decidim.participatory_process_groups.content_blocks.extra_data.developer_group"),
|
@@ -25,7 +25,7 @@ module Decidim
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def target_item
|
28
|
-
return if (text =
|
28
|
+
return if (text = decidim_sanitize_translated(target)).blank?
|
29
29
|
|
30
30
|
{
|
31
31
|
title: t("decidim.participatory_process_groups.content_blocks.extra_data.target"),
|
@@ -35,7 +35,7 @@ module Decidim
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def participatory_scope_item
|
38
|
-
return if (text =
|
38
|
+
return if (text = decidim_sanitize_translated(participatory_scope)).blank?
|
39
39
|
|
40
40
|
{
|
41
41
|
title: t("decidim.participatory_process_groups.content_blocks.extra_data.participatory_scope"),
|
@@ -45,7 +45,7 @@ module Decidim
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def participatory_structure_item
|
48
|
-
return if (text =
|
48
|
+
return if (text = decidim_sanitize_translated(participatory_structure)).blank?
|
49
49
|
|
50
50
|
{
|
51
51
|
title: t("decidim.participatory_process_groups.content_blocks.extra_data.participatory_structure"),
|
@@ -4,8 +4,6 @@ module Decidim
|
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
module ContentBlocks
|
6
6
|
class HighlightedProcessesCell < Decidim::ContentBlocks::HighlightedParticipatorySpacesCell
|
7
|
-
delegate :current_user, to: :controller
|
8
|
-
|
9
7
|
def highlighted_spaces
|
10
8
|
@highlighted_spaces ||= promoted_groups + highlighted_processes
|
11
9
|
end
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
private
|
10
10
|
|
11
11
|
def stats
|
12
|
-
@stats ||=
|
12
|
+
@stats ||= ParticipatoryProcessStatsPresenter.new(participatory_process: resource).collection
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<span
|
1
|
+
<span>
|
2
2
|
<% if should_show_tabs? %>
|
3
3
|
<%= explanation %>
|
4
|
-
<span
|
4
|
+
<span><%= t("decidim.participatory_processes.participatory_processes.filters.see") %></span>
|
5
5
|
<% other_filters_with_value.each do |filter| %>
|
6
6
|
<%= link_to filter_link(filter), remote: true, class: "order-by__tab" do %>
|
7
7
|
<strong>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div id="process-type-filter"
|
1
|
+
<div id="process-type-filter">
|
2
2
|
<div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
|
3
3
|
<ul>
|
4
4
|
<% participatory_process_types_for_select.each do |title, id| %>
|
@@ -99,8 +99,7 @@ module Decidim
|
|
99
99
|
|
100
100
|
content_tag(
|
101
101
|
:span,
|
102
|
-
I18n.t(explanation_text, scope: "decidim.participatory_processes.participatory_processes.filters.explanations")
|
103
|
-
class: "muted mr-s ml-s"
|
102
|
+
I18n.t(explanation_text, scope: "decidim.participatory_processes.participatory_processes.filters.explanations")
|
104
103
|
)
|
105
104
|
end
|
106
105
|
|
@@ -7,8 +7,12 @@ module Decidim
|
|
7
7
|
class ProcessGroupSCell < Decidim::CardSCell
|
8
8
|
private
|
9
9
|
|
10
|
+
def resource_path
|
11
|
+
Decidim::ParticipatoryProcesses::Engine.routes.url_helpers.participatory_process_group_path(model)
|
12
|
+
end
|
13
|
+
|
10
14
|
def metadata_cell
|
11
|
-
"decidim/participatory_processes/
|
15
|
+
"decidim/participatory_processes/process_group_metadata"
|
12
16
|
end
|
13
17
|
end
|
14
18
|
end
|
@@ -6,14 +6,14 @@ module Decidim
|
|
6
6
|
# A command with all the business logic when copying a new participatory
|
7
7
|
# process in the system.
|
8
8
|
class CopyParticipatoryProcess < Decidim::Command
|
9
|
+
delegate :current_user, to: :form
|
9
10
|
# Public: Initializes the command.
|
10
11
|
#
|
11
12
|
# form - A form object with the params.
|
12
13
|
# participatory_process - A participatory_process we want to duplicate
|
13
|
-
def initialize(form, participatory_process
|
14
|
+
def initialize(form, participatory_process)
|
14
15
|
@form = form
|
15
16
|
@participatory_process = participatory_process
|
16
|
-
@current_user = current_user
|
17
17
|
end
|
18
18
|
|
19
19
|
# Executes the command. Broadcasts these events:
|
@@ -25,7 +25,7 @@ module Decidim
|
|
25
25
|
def call
|
26
26
|
return broadcast(:invalid) if form.invalid?
|
27
27
|
|
28
|
-
Decidim.traceability.perform_action!("duplicate", @participatory_process,
|
28
|
+
Decidim.traceability.perform_action!("duplicate", @participatory_process, current_user) do
|
29
29
|
ParticipatoryProcess.transaction do
|
30
30
|
copy_participatory_process
|
31
31
|
copy_participatory_process_attachments
|
@@ -68,11 +68,9 @@ module Decidim
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def copy_participatory_process_attachments
|
71
|
-
|
72
|
-
next unless @participatory_process.attached_uploader(attribute).attached?
|
71
|
+
return unless @participatory_process.attached_uploader(:hero_image).attached?
|
73
72
|
|
74
|
-
|
75
|
-
end
|
73
|
+
@copied_process.send(:hero_image).attach(@participatory_process.send(:hero_image).blob)
|
76
74
|
end
|
77
75
|
|
78
76
|
def copy_participatory_process_steps
|
@@ -5,118 +5,46 @@ module Decidim
|
|
5
5
|
module Admin
|
6
6
|
# A command with all the business logic when creating a new participatory
|
7
7
|
# process in the system.
|
8
|
-
class CreateParticipatoryProcess < Decidim::
|
9
|
-
|
10
|
-
#
|
11
|
-
# form - A form object with the params.
|
12
|
-
def initialize(form)
|
13
|
-
@form = form
|
14
|
-
end
|
15
|
-
|
16
|
-
# Executes the command. Broadcasts these events:
|
17
|
-
#
|
18
|
-
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form was not valid and we could not proceed.
|
20
|
-
#
|
21
|
-
# Returns nothing.
|
22
|
-
def call
|
23
|
-
return broadcast(:invalid) if form.invalid?
|
24
|
-
|
25
|
-
create_participatory_process
|
26
|
-
|
27
|
-
if process.persisted?
|
28
|
-
add_admins_as_followers(process)
|
29
|
-
link_related_processes
|
30
|
-
Decidim::ContentBlocksCreator.new(process).create_default!
|
31
|
-
|
32
|
-
broadcast(:ok, process)
|
33
|
-
else
|
34
|
-
form.errors.add(:hero_image, process.errors[:hero_image]) if process.errors.include? :hero_image
|
35
|
-
form.errors.add(:banner_image, process.errors[:banner_image]) if process.errors.include? :banner_image
|
36
|
-
broadcast(:invalid)
|
37
|
-
end
|
38
|
-
end
|
8
|
+
class CreateParticipatoryProcess < Decidim::Commands::CreateResource
|
9
|
+
fetch_file_attributes :hero_image
|
39
10
|
|
40
|
-
|
11
|
+
fetch_form_attributes :organization, :title, :subtitle, :weight, :slug, :hashtag, :description,
|
12
|
+
:short_description, :promoted, :scopes_enabled, :scope, :announcement,
|
13
|
+
:scope_type_max_depth, :private_space, :developer_group, :local_area, :area, :target,
|
14
|
+
:participatory_scope, :participatory_structure, :meta_scope, :start_date, :end_date,
|
15
|
+
:participatory_process_group, :participatory_process_type
|
41
16
|
|
42
|
-
|
17
|
+
protected
|
43
18
|
|
44
|
-
def
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
transaction do
|
51
|
-
process.save!
|
52
|
-
|
53
|
-
log_process_creation(process)
|
54
|
-
|
55
|
-
process.steps.create!(
|
56
|
-
title: TranslationsHelper.multi_translation(
|
57
|
-
"decidim.admin.participatory_process_steps.default_title",
|
58
|
-
form.current_organization.available_locales
|
59
|
-
),
|
60
|
-
active: true
|
61
|
-
)
|
62
|
-
|
63
|
-
process
|
64
|
-
end
|
19
|
+
def run_after_hooks
|
20
|
+
create_steps
|
21
|
+
add_admins_as_followers
|
22
|
+
link_related_processes
|
23
|
+
Decidim::ContentBlocksCreator.new(resource).create_default!
|
65
24
|
end
|
66
25
|
|
67
|
-
def
|
68
|
-
{
|
69
|
-
organization: form.current_organization,
|
70
|
-
title: form.title,
|
71
|
-
subtitle: form.subtitle,
|
72
|
-
weight: form.weight,
|
73
|
-
slug: form.slug,
|
74
|
-
hashtag: form.hashtag,
|
75
|
-
description: form.description,
|
76
|
-
short_description: form.short_description,
|
77
|
-
hero_image: form.hero_image,
|
78
|
-
banner_image: form.banner_image,
|
79
|
-
promoted: form.promoted,
|
80
|
-
scopes_enabled: form.scopes_enabled,
|
81
|
-
scope: form.scope,
|
82
|
-
scope_type_max_depth: form.scope_type_max_depth,
|
83
|
-
private_space: form.private_space,
|
84
|
-
developer_group: form.developer_group,
|
85
|
-
local_area: form.local_area,
|
86
|
-
area: form.area,
|
87
|
-
target: form.target,
|
88
|
-
participatory_scope: form.participatory_scope,
|
89
|
-
participatory_structure: form.participatory_structure,
|
90
|
-
meta_scope: form.meta_scope,
|
91
|
-
start_date: form.start_date,
|
92
|
-
end_date: form.end_date,
|
93
|
-
participatory_process_group: form.participatory_process_group,
|
94
|
-
participatory_process_type: form.participatory_process_type,
|
95
|
-
show_metrics: form.show_metrics,
|
96
|
-
show_statistics: form.show_statistics,
|
97
|
-
announcement: form.announcement
|
98
|
-
}
|
99
|
-
end
|
26
|
+
def resource_class = Decidim::ParticipatoryProcess
|
100
27
|
|
101
|
-
def
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
28
|
+
def create_steps
|
29
|
+
resource.steps.create!(
|
30
|
+
title: TranslationsHelper.multi_translation(
|
31
|
+
"decidim.admin.participatory_process_steps.default_title",
|
32
|
+
form.current_organization.available_locales
|
33
|
+
),
|
34
|
+
active: true
|
107
35
|
)
|
108
36
|
end
|
109
37
|
|
110
|
-
def add_admins_as_followers
|
111
|
-
|
38
|
+
def add_admins_as_followers
|
39
|
+
resource.organization.admins.each do |admin|
|
112
40
|
form = Decidim::FollowForm
|
113
|
-
.from_params(followable_gid:
|
41
|
+
.from_params(followable_gid: resource.to_signed_global_id.to_s)
|
114
42
|
.with_context(
|
115
|
-
current_organization:
|
43
|
+
current_organization: resource.organization,
|
116
44
|
current_user: admin
|
117
45
|
)
|
118
46
|
|
119
|
-
Decidim::CreateFollow.new(form
|
47
|
+
Decidim::CreateFollow.new(form).call
|
120
48
|
end
|
121
49
|
end
|
122
50
|
|
@@ -125,7 +53,7 @@ module Decidim
|
|
125
53
|
end
|
126
54
|
|
127
55
|
def link_related_processes
|
128
|
-
|
56
|
+
resource.link_participatory_space_resources(related_processes, "related_processes")
|
129
57
|
end
|
130
58
|
end
|
131
59
|
end
|
data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb
CHANGED
@@ -5,65 +5,22 @@ module Decidim
|
|
5
5
|
module Admin
|
6
6
|
# A command with all the business logic when creating a new participatory
|
7
7
|
# process group in the system.
|
8
|
-
class CreateParticipatoryProcessGroup < Decidim::
|
9
|
-
|
10
|
-
#
|
11
|
-
# form - A form object with the params.
|
12
|
-
def initialize(form)
|
13
|
-
@form = form
|
14
|
-
end
|
15
|
-
|
16
|
-
# Executes the command. Broadcasts these events:
|
17
|
-
#
|
18
|
-
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form was not valid and we could not proceed.
|
20
|
-
#
|
21
|
-
# Returns nothing.
|
22
|
-
def call
|
23
|
-
return broadcast(:invalid) if form.invalid?
|
8
|
+
class CreateParticipatoryProcessGroup < Decidim::Commands::CreateResource
|
9
|
+
fetch_file_attributes :hero_image
|
24
10
|
|
25
|
-
|
11
|
+
fetch_form_attributes :organization, :title, :description, :hashtag, :group_url, :target, :promoted,
|
12
|
+
:developer_group, :local_area, :meta_scope, :participatory_scope, :participatory_structure
|
26
13
|
|
27
|
-
|
28
|
-
Decidim::ContentBlocksCreator.new(group).create_default!
|
14
|
+
protected
|
29
15
|
|
30
|
-
|
31
|
-
|
32
|
-
form.errors.add(:hero_image, group.errors[:hero_image]) if group.errors.include? :hero_image
|
33
|
-
form.errors.add(:banner_image, group.errors[:banner_image]) if group.errors.include? :banner_image
|
34
|
-
broadcast(:invalid)
|
35
|
-
end
|
16
|
+
def run_after_hooks
|
17
|
+
Decidim::ContentBlocksCreator.new(resource).create_default!
|
36
18
|
end
|
37
19
|
|
38
|
-
|
39
|
-
|
40
|
-
attr_reader :form
|
20
|
+
def resource_class = Decidim::ParticipatoryProcessGroup
|
41
21
|
|
42
|
-
def
|
43
|
-
|
44
|
-
Decidim.traceability.perform_action!(
|
45
|
-
"create",
|
46
|
-
ParticipatoryProcessGroup,
|
47
|
-
form.current_user
|
48
|
-
) do
|
49
|
-
ParticipatoryProcessGroup.create(
|
50
|
-
organization: form.current_organization,
|
51
|
-
title: form.title,
|
52
|
-
description: form.description,
|
53
|
-
hashtag: form.hashtag,
|
54
|
-
group_url: form.group_url,
|
55
|
-
hero_image: form.hero_image, # Keep after organization
|
56
|
-
participatory_processes:,
|
57
|
-
developer_group: form.developer_group,
|
58
|
-
local_area: form.local_area,
|
59
|
-
meta_scope: form.meta_scope,
|
60
|
-
participatory_scope: form.participatory_scope,
|
61
|
-
participatory_structure: form.participatory_structure,
|
62
|
-
target: form.target,
|
63
|
-
promoted: form.promoted
|
64
|
-
)
|
65
|
-
end
|
66
|
-
end
|
22
|
+
def attributes
|
23
|
+
super.merge({ participatory_processes: })
|
67
24
|
end
|
68
25
|
|
69
26
|
def participatory_processes
|
data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb
CHANGED
@@ -4,47 +4,20 @@ module Decidim
|
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
module Admin
|
6
6
|
# A command with all the business logic when creating a new participatory
|
7
|
-
# process in the system.
|
8
|
-
class CreateParticipatoryProcessStep < Decidim::
|
9
|
-
|
10
|
-
#
|
11
|
-
# form - A form object with the params.
|
12
|
-
# participatory_process - The ParticipatoryProcess that will hold the
|
13
|
-
# step
|
14
|
-
def initialize(form, participatory_process)
|
15
|
-
@form = form
|
16
|
-
@participatory_process = participatory_process
|
17
|
-
end
|
18
|
-
|
19
|
-
# Executes the command. Broadcasts these events:
|
20
|
-
#
|
21
|
-
# - :ok when everything is valid.
|
22
|
-
# - :invalid if the form was not valid and we could not proceed.
|
23
|
-
#
|
24
|
-
# Returns nothing.
|
25
|
-
def call
|
26
|
-
return broadcast(:invalid) if form.invalid?
|
7
|
+
# process step in the system.
|
8
|
+
class CreateParticipatoryProcessStep < Decidim::Commands::CreateResource
|
9
|
+
fetch_form_attributes :title, :description, :start_date, :end_date
|
27
10
|
|
28
|
-
|
29
|
-
|
11
|
+
def attributes
|
12
|
+
super.merge({
|
13
|
+
participatory_process: form.current_participatory_space,
|
14
|
+
active: form.current_participatory_space.steps.empty?
|
15
|
+
})
|
30
16
|
end
|
31
17
|
|
32
18
|
private
|
33
19
|
|
34
|
-
|
35
|
-
|
36
|
-
def create_participatory_process_step
|
37
|
-
Decidim.traceability.create!(
|
38
|
-
ParticipatoryProcessStep,
|
39
|
-
@form.current_user,
|
40
|
-
title: form.title,
|
41
|
-
description: form.description,
|
42
|
-
start_date: form.start_date,
|
43
|
-
end_date: form.end_date,
|
44
|
-
participatory_process: @participatory_process,
|
45
|
-
active: @participatory_process.steps.empty?
|
46
|
-
)
|
47
|
-
end
|
20
|
+
def resource_class = Decidim::ParticipatoryProcessStep
|
48
21
|
end
|
49
22
|
end
|
50
23
|
end
|
data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb
CHANGED
@@ -5,42 +5,12 @@ module Decidim
|
|
5
5
|
module Admin
|
6
6
|
# A command with all the business logic when creating a new participatory
|
7
7
|
# process type in the system.
|
8
|
-
class CreateParticipatoryProcessType < Decidim::
|
9
|
-
|
10
|
-
#
|
11
|
-
# form - A form object with the params.
|
12
|
-
def initialize(form)
|
13
|
-
@form = form
|
14
|
-
end
|
8
|
+
class CreateParticipatoryProcessType < Decidim::Commands::CreateResource
|
9
|
+
fetch_form_attributes :title, :organization
|
15
10
|
|
16
|
-
|
17
|
-
#
|
18
|
-
# - :ok when everything is valid.
|
19
|
-
# - :invalid if the form was not valid and we could not proceed.
|
20
|
-
#
|
21
|
-
# Returns nothing.
|
22
|
-
def call
|
23
|
-
return broadcast(:invalid) if form.invalid?
|
11
|
+
protected
|
24
12
|
|
25
|
-
|
26
|
-
|
27
|
-
broadcast(:ok)
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
attr_reader :form
|
33
|
-
|
34
|
-
def create_participatory_process_type!
|
35
|
-
transaction do
|
36
|
-
Decidim.traceability.create!(
|
37
|
-
Decidim::ParticipatoryProcessType,
|
38
|
-
form.current_user,
|
39
|
-
organization: form.current_organization,
|
40
|
-
title: form.title
|
41
|
-
)
|
42
|
-
end
|
43
|
-
end
|
13
|
+
def resource_class = Decidim::ParticipatoryProcessType
|
44
14
|
end
|
45
15
|
end
|
46
16
|
end
|
data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb
CHANGED
@@ -3,48 +3,17 @@
|
|
3
3
|
module Decidim
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
module Admin
|
6
|
-
# A command that
|
7
|
-
class DestroyParticipatoryProcessStep < Decidim::
|
8
|
-
# Public: Initializes the command.
|
9
|
-
#
|
10
|
-
# step - A ParticipatoryProcessStep that will be deactivated
|
11
|
-
# current_user - the user performing the action
|
12
|
-
def initialize(step, current_user)
|
13
|
-
@step = step
|
14
|
-
@participatory_process = step.participatory_process
|
15
|
-
@current_user = current_user
|
16
|
-
end
|
17
|
-
|
18
|
-
# Executes the command. Broadcasts these events:
|
19
|
-
#
|
20
|
-
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the data was not valid and we could not proceed.
|
22
|
-
#
|
23
|
-
# Returns nothing.
|
24
|
-
def call
|
25
|
-
return broadcast(:invalid, :active_step) if active_step?
|
26
|
-
|
27
|
-
transaction do
|
28
|
-
Decidim.traceability.perform_action!(:delete, step, current_user) do
|
29
|
-
step.destroy!
|
30
|
-
step
|
31
|
-
end
|
32
|
-
|
33
|
-
reorder_steps
|
34
|
-
end
|
35
|
-
|
36
|
-
broadcast(:ok)
|
37
|
-
end
|
38
|
-
|
6
|
+
# A command that deletes a participatory process step
|
7
|
+
class DestroyParticipatoryProcessStep < Decidim::Commands::DestroyResource
|
39
8
|
private
|
40
9
|
|
41
|
-
|
10
|
+
def participatory_process = resource.participatory_space
|
42
11
|
|
43
|
-
def
|
44
|
-
participatory_process.steps.count > 1 &&
|
12
|
+
def invalid?
|
13
|
+
participatory_process.steps.count > 1 && resource.active?
|
45
14
|
end
|
46
15
|
|
47
|
-
def
|
16
|
+
def run_after_hooks
|
48
17
|
steps = participatory_process.steps.reload
|
49
18
|
|
50
19
|
ReorderParticipatoryProcessSteps
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
# A command with all the business logic when copying a new participatory
|
7
7
|
# process in the system.
|
8
8
|
class ImportParticipatoryProcess < Decidim::Command
|
9
|
+
delegate :current_user, to: :form
|
9
10
|
# Public: Initializes the command.
|
10
11
|
#
|
11
12
|
# form - A form object with the params.
|
@@ -36,10 +37,10 @@ module Decidim
|
|
36
37
|
attr_reader :form
|
37
38
|
|
38
39
|
def import_participatory_process
|
39
|
-
importer = Decidim::ParticipatoryProcesses::ParticipatoryProcessImporter.new(form.current_organization,
|
40
|
+
importer = Decidim::ParticipatoryProcesses::ParticipatoryProcessImporter.new(form.current_organization, current_user)
|
40
41
|
participatory_processes.each do |original_process|
|
41
|
-
Decidim.traceability.perform_action!("import", Decidim::ParticipatoryProcess,
|
42
|
-
@imported_process = importer.import(original_process,
|
42
|
+
Decidim.traceability.perform_action!("import", Decidim::ParticipatoryProcess, current_user) do
|
43
|
+
@imported_process = importer.import(original_process, current_user, title: form.title, slug: form.slug)
|
43
44
|
importer.import_participatory_process_steps(original_process["participatory_process_steps"]) if form.import_steps?
|
44
45
|
importer.import_categories(original_process["participatory_process_categories"]) if form.import_categories?
|
45
46
|
importer.import_folders_and_attachments(original_process["attachments"]) if form.import_attachments?
|
@@ -66,7 +67,7 @@ module Decidim
|
|
66
67
|
current_user: admin
|
67
68
|
)
|
68
69
|
|
69
|
-
Decidim::CreateFollow.new(form
|
70
|
+
Decidim::CreateFollow.new(form).call
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|