decidim-participatory_processes 0.19.1 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +0 -11
- data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +72 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_exports_controller.rb +20 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_imports_controller.rb +31 -0
- data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +80 -0
- data/app/models/decidim/participatory_process.rb +13 -0
- data/app/permissions/decidim/participatory_processes/permissions.rb +6 -2
- data/app/presenters/decidim/participatory_processes/participatory_process_group_presenter.rb +22 -0
- data/app/presenters/decidim/participatory_processes/participatory_process_presenter.rb +25 -0
- data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +178 -0
- data/app/serializers/decidim/participatory_processes/participatory_process_serializer.rb +153 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb +8 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_imports/_form.html.erb +49 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_imports/new.html.erb +7 -0
- data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +12 -0
- data/app/views/decidim/participatory_processes/admin/shared/_secondary_nav.html.erb +17 -0
- data/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +0 -11
- data/config/locales/ca.yml +19 -0
- data/config/locales/cs.yml +19 -0
- data/config/locales/en.yml +19 -0
- data/config/locales/fi-plain.yml +19 -0
- data/config/locales/fi.yml +19 -0
- data/config/locales/fr.yml +19 -0
- data/config/locales/hu.yml +19 -0
- data/config/locales/it.yml +19 -0
- data/config/locales/nl.yml +19 -0
- data/config/locales/no.yml +4 -0
- data/config/locales/sv.yml +10 -0
- data/lib/decidim/participatory_processes/admin_engine.rb +9 -9
- data/lib/decidim/participatory_processes/participatory_space.rb +10 -0
- data/lib/decidim/participatory_processes/version.rb +1 -1
- metadata +19 -8
@@ -0,0 +1,153 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module ParticipatoryProcesses
|
5
|
+
# This class serializes a ParticipatoryProcesses so can be exported to CSV, JSON or other
|
6
|
+
# formats.
|
7
|
+
class ParticipatoryProcessSerializer < Decidim::Exporters::Serializer
|
8
|
+
include Decidim::ApplicationHelper
|
9
|
+
include Decidim::ResourceHelper
|
10
|
+
include Decidim::TranslationsHelper
|
11
|
+
|
12
|
+
# Public: Initializes the serializer with a participatory_process.
|
13
|
+
def initialize(participatory_process)
|
14
|
+
@participatory_process = participatory_process
|
15
|
+
end
|
16
|
+
|
17
|
+
# Public: Exports a hash with the serialized data for this participatory_process.
|
18
|
+
def serialize
|
19
|
+
{
|
20
|
+
id: participatory_process.id,
|
21
|
+
title: participatory_process.title,
|
22
|
+
subtitle: participatory_process.subtitle,
|
23
|
+
slug: participatory_process.slug,
|
24
|
+
hashtag: participatory_process.hashtag,
|
25
|
+
short_description: participatory_process.short_description,
|
26
|
+
description: participatory_process.description,
|
27
|
+
announcement: participatory_process.announcement,
|
28
|
+
start_date: participatory_process.start_date,
|
29
|
+
end_date: participatory_process.end_date,
|
30
|
+
remote_hero_image_url: Decidim::ParticipatoryProcesses::ParticipatoryProcessPresenter.new(participatory_process).hero_image_url,
|
31
|
+
remote_banner_image_url: Decidim::ParticipatoryProcesses::ParticipatoryProcessPresenter.new(participatory_process).banner_image_url,
|
32
|
+
developer_group: participatory_process.developer_group,
|
33
|
+
local_area: participatory_process.local_area,
|
34
|
+
meta_scope: participatory_process.meta_scope,
|
35
|
+
participatory_scope: participatory_process.participatory_scope,
|
36
|
+
participatory_structure: participatory_process.participatory_structure,
|
37
|
+
target: participatory_process.target,
|
38
|
+
area: {
|
39
|
+
id: participatory_process.area.try(:id),
|
40
|
+
name: participatory_process.area.try(:name) || empty_translatable
|
41
|
+
},
|
42
|
+
participatory_process_group: {
|
43
|
+
id: participatory_process.participatory_process_group.try(:id),
|
44
|
+
name: participatory_process.participatory_process_group.try(:name) || empty_translatable,
|
45
|
+
description: participatory_process.participatory_process_group.try(:description) || empty_translatable,
|
46
|
+
remote_hero_image_url: Decidim::ParticipatoryProcesses::ParticipatoryProcessGroupPresenter.new(participatory_process.participatory_process_group).hero_image_url
|
47
|
+
},
|
48
|
+
scope: {
|
49
|
+
id: participatory_process.scope.try(:id),
|
50
|
+
name: participatory_process.scope.try(:name) || empty_translatable
|
51
|
+
},
|
52
|
+
private_space: participatory_process.private_space,
|
53
|
+
promoted: participatory_process.promoted,
|
54
|
+
scopes_enabled: participatory_process.scopes_enabled,
|
55
|
+
show_statistics: participatory_process.show_statistics,
|
56
|
+
participatory_process_steps: serialize_participatory_process_steps,
|
57
|
+
participatory_process_categories: serialize_categories,
|
58
|
+
attachments: {
|
59
|
+
attachment_collections: serialize_attachment_collections,
|
60
|
+
files: serialize_attachments
|
61
|
+
},
|
62
|
+
components: serialize_components
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
attr_reader :participatory_process
|
69
|
+
|
70
|
+
def serialize_participatory_process_steps
|
71
|
+
return unless participatory_process.steps.any?
|
72
|
+
|
73
|
+
participatory_process.steps.map do |step|
|
74
|
+
{
|
75
|
+
id: step.try(:id),
|
76
|
+
title: step.try(:title),
|
77
|
+
description: step.try(:description),
|
78
|
+
start_date: step.try(:start_date),
|
79
|
+
end_date: step.try(:end_date),
|
80
|
+
cta_path: step.try(:cta_path),
|
81
|
+
cta_text: step.try(:cta_text),
|
82
|
+
active: step.active,
|
83
|
+
position: step.position
|
84
|
+
}
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def serialize_categories
|
89
|
+
return unless participatory_process.categories.first_class.any?
|
90
|
+
|
91
|
+
participatory_process.categories.first_class.map do |category|
|
92
|
+
{
|
93
|
+
id: category.try(:id),
|
94
|
+
name: category.try(:name),
|
95
|
+
description: category.try(:description),
|
96
|
+
parent_id: category.try(:parent_id),
|
97
|
+
subcategories: serialize_subcategories(category.subcategories)
|
98
|
+
}
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
def serialize_subcategories(subcategories)
|
103
|
+
return unless subcategories.any?
|
104
|
+
|
105
|
+
subcategories.map do |subcategory|
|
106
|
+
{
|
107
|
+
id: subcategory.try(:id),
|
108
|
+
name: subcategory.try(:name),
|
109
|
+
description: subcategory.try(:description),
|
110
|
+
parent_id: subcategory.try(:parent_id)
|
111
|
+
}
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def serialize_attachment_collections
|
116
|
+
return unless participatory_process.attachment_collections.any?
|
117
|
+
|
118
|
+
participatory_process.attachment_collections.map do |collection|
|
119
|
+
{
|
120
|
+
id: collection.try(:id),
|
121
|
+
name: collection.try(:name),
|
122
|
+
weight: collection.try(:weight),
|
123
|
+
description: collection.try(:description)
|
124
|
+
}
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def serialize_attachments
|
129
|
+
return unless participatory_process.attachments.any?
|
130
|
+
|
131
|
+
participatory_process.attachments.map do |attachment|
|
132
|
+
{
|
133
|
+
id: attachment.try(:id),
|
134
|
+
title: attachment.try(:title),
|
135
|
+
weight: attachment.try(:weight),
|
136
|
+
description: attachment.try(:description),
|
137
|
+
attachment_collection: {
|
138
|
+
name: attachment.attachment_collection.try(:name),
|
139
|
+
weight: attachment.attachment_collection.try(:weight),
|
140
|
+
description: attachment.attachment_collection.try(:description)
|
141
|
+
},
|
142
|
+
remote_file_url: Decidim::AttachmentPresenter.new(attachment).attachment_file_url
|
143
|
+
}
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
def serialize_components
|
148
|
+
serializer = Decidim::Exporters::ParticipatorySpaceComponentsSerializer.new(@participatory_process)
|
149
|
+
serializer.serialize
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
data/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
<%= render partial: "decidim/participatory_processes/admin/shared/secondary_nav" %>
|
2
|
+
|
3
|
+
<div class="process-title">
|
4
|
+
<div class="process-title-content">
|
5
|
+
<%= link_to t("decidim.admin.titles.participatory_process_groups"), decidim_participatory_processes.participatory_processes_path, target: "_blank" %>
|
6
|
+
</div>
|
7
|
+
</div>
|
8
|
+
|
1
9
|
<div class="card">
|
2
10
|
<div class="card-divider">
|
3
11
|
<h2 class="card-title">
|
data/app/views/decidim/participatory_processes/admin/participatory_process_imports/_form.html.erb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
<%= javascript_include_tag "decidim/slug_form" %>
|
2
|
+
|
3
|
+
<div class="card" id="processes">
|
4
|
+
<div class="card-divider">
|
5
|
+
<h2 class="card-title"><%= title %></h2>
|
6
|
+
</div>
|
7
|
+
<div class="card-section">
|
8
|
+
<div class="row column">
|
9
|
+
<div class="row">
|
10
|
+
<div class="column xlarge-8">
|
11
|
+
<%= form.translated :text_field, :title, autofocus: true %>
|
12
|
+
</div>
|
13
|
+
<div class="column xlarge-4 slug">
|
14
|
+
<%= form.text_field :slug %>
|
15
|
+
<p class="help-text"><%== t(".slug_help", url: decidim_form_slug_url(:processes, form.object.slug)) %></p>
|
16
|
+
</div>
|
17
|
+
<div class="column xlarge-8">
|
18
|
+
<fieldset>
|
19
|
+
<legend><%= t(".document_legend") %> </legend>
|
20
|
+
<div class="row column">
|
21
|
+
<%= form.upload :document, optional: false %>
|
22
|
+
</div>
|
23
|
+
</fieldset>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<div class="card">
|
27
|
+
<div class="card-divider">
|
28
|
+
<legend><%= select %></legend>
|
29
|
+
</div>
|
30
|
+
<div class="card-section">
|
31
|
+
<div class="row">
|
32
|
+
<div class="columns xlarge-3">
|
33
|
+
<%= form.check_box :import_steps %>
|
34
|
+
</div>
|
35
|
+
<div class="columns xlarge-3">
|
36
|
+
<%= form.check_box :import_categories %>
|
37
|
+
</div>
|
38
|
+
<div class="columns xlarge-3">
|
39
|
+
<%= form.check_box :import_attachments %>
|
40
|
+
</div>
|
41
|
+
<div class="columns xlarge-6">
|
42
|
+
<%= form.check_box :import_components %>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
data/app/views/decidim/participatory_processes/admin/participatory_process_imports/new.html.erb
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: imports_path, method: :post, html: { class: "form import_participatory_process" }) do |f| %>
|
2
|
+
<%= render partial: "form", object: f, locals: { title: t("participatory_process_imports.new.title", scope: "decidim.admin"), select: t("participatory_process_imports.new.select", scope: "decidim.admin") } %>
|
3
|
+
|
4
|
+
<div class="button--double form-general-submit">
|
5
|
+
<%= f.submit t("participatory_process_imports.new.import", scope: "decidim.admin") %>
|
6
|
+
</div>
|
7
|
+
<% end %>
|
@@ -1,3 +1,5 @@
|
|
1
|
+
<%= render partial: "decidim/participatory_processes/admin/shared/secondary_nav" %>
|
2
|
+
|
1
3
|
<div class="card" id="processes">
|
2
4
|
<div class="card-divider">
|
3
5
|
<h2 class="card-title">
|
@@ -9,6 +11,12 @@
|
|
9
11
|
edit_participatory_process_group_path(@process_group) %>
|
10
12
|
<% end %>
|
11
13
|
|
14
|
+
<% if allowed_to? :import, :process %>
|
15
|
+
<%= link_to t("actions.import_process", scope: "decidim.admin"),
|
16
|
+
new_import_path,
|
17
|
+
class: "button tiny button--title" %>
|
18
|
+
<% end %>
|
19
|
+
|
12
20
|
<% if allowed_to? :create, :process %>
|
13
21
|
<%= link_to t("actions.new_process", scope: "decidim.admin"),
|
14
22
|
["new", "participatory_process"],
|
@@ -88,6 +96,10 @@
|
|
88
96
|
<% end %>
|
89
97
|
</td>
|
90
98
|
<td class="table-list__actions">
|
99
|
+
<% if allowed_to? :create, :process, process: process %>
|
100
|
+
<%= icon_link_to "data-transfer-download", participatory_process_export_path(process), t("actions.export", scope: "decidim.admin"), method: :post, class: "action-icon--export" %>
|
101
|
+
<% end %>
|
102
|
+
|
91
103
|
<% if allowed_to? :create, :process, process: process %>
|
92
104
|
<%= icon_link_to "clipboard", new_participatory_process_copy_path(process), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
|
93
105
|
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<% content_for :secondary_nav do %>
|
2
|
+
<div class="secondary-nav secondary-nav--subnav">
|
3
|
+
<ul>
|
4
|
+
<% if allowed_to?(:enter, :space_area, space_name: :processes) %>
|
5
|
+
<li <% if is_active_link?(decidim_admin_participatory_processes.participatory_processes_path) %> class="is-active" <% end %>>
|
6
|
+
<%= aria_selected_link_to I18n.t("menu.participatory_processes", scope: "decidim.admin"),
|
7
|
+
decidim_admin_participatory_processes.participatory_processes_path %>
|
8
|
+
</li>
|
9
|
+
<% end %>
|
10
|
+
<% if allowed_to?(:enter, :space_area, space_name: :process_groups) %>
|
11
|
+
<li <% if is_active_link?(decidim_admin_participatory_processes.participatory_process_groups_path) %> class="is-active" <% end %>>
|
12
|
+
<%= aria_selected_link_to I18n.t("menu.participatory_process_groups", scope: "decidim.admin"), decidim_admin_participatory_processes.participatory_process_groups_path %>
|
13
|
+
</li>
|
14
|
+
<% end %>
|
15
|
+
</ul>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
@@ -1,14 +1,3 @@
|
|
1
|
-
<% content_for :secondary_nav do %>
|
2
|
-
<div class="secondary-nav">
|
3
|
-
<div class="secondary-nav__title">
|
4
|
-
<%= t "decidim.admin.titles.participatory_process_groups" %>
|
5
|
-
</div>
|
6
|
-
<div class="secondary-nav__actions">
|
7
|
-
<%= link_to t("actions.new", scope: "decidim.admin", name: t("models.participatory_process_group.name", scope: "decidim.admin")), ["new", "participatory_process_group"], class: "button expanded small new" if allowed_to? :create, :process_group %>
|
8
|
-
</div>
|
9
|
-
</div>
|
10
|
-
<% end %>
|
11
|
-
|
12
1
|
<%= render "layouts/decidim/admin/application" do %>
|
13
2
|
<%= yield %>
|
14
3
|
<% end %>
|
data/config/locales/ca.yml
CHANGED
@@ -48,6 +48,12 @@ ca:
|
|
48
48
|
email: Correu electrònic
|
49
49
|
name: Nom
|
50
50
|
role: Rol
|
51
|
+
errors:
|
52
|
+
models:
|
53
|
+
participatory_process:
|
54
|
+
attributes:
|
55
|
+
document:
|
56
|
+
invalid_document_type: 'Tipus de document no vàlid. Els formats acceptats són: %{valid_mime_types}'
|
51
57
|
models:
|
52
58
|
decidim/participatory_process_step_activated_event: Fase activada
|
53
59
|
decidim/participatory_process_step_changed_event: Fase modificada
|
@@ -74,6 +80,7 @@ ca:
|
|
74
80
|
filter:
|
75
81
|
all: Mostra tots els processos
|
76
82
|
process_groups: Grups de processos
|
83
|
+
import_process: Importar
|
77
84
|
new_process: Nou procés
|
78
85
|
new_process_group: Nou grup de processos
|
79
86
|
new_process_step: Nova fase
|
@@ -147,6 +154,14 @@ ca:
|
|
147
154
|
update:
|
148
155
|
error: S'ha produït un error en actualitzar aquest grup de processos participatius.
|
149
156
|
success: Grup de processos participatius actualitzat correctament.
|
157
|
+
participatory_process_imports:
|
158
|
+
create:
|
159
|
+
error: S'ha produït un error en actualitzar aquest procés participatiu.
|
160
|
+
success: El procés participatiu s'ha importat correctament.
|
161
|
+
new:
|
162
|
+
import: Importar
|
163
|
+
select: Selecciona quines dades vols importar.
|
164
|
+
title: Importar el procés participatiu
|
150
165
|
participatory_process_publications:
|
151
166
|
create:
|
152
167
|
error: S'ha produït un error en publicar aquest procés participatiu.
|
@@ -291,6 +306,10 @@ ca:
|
|
291
306
|
participatory_process_copies:
|
292
307
|
form:
|
293
308
|
slug_help: 'Els noms curts d''URL s''utilitzen per generar els URL que apunten a aquest procés. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
|
309
|
+
participatory_process_imports:
|
310
|
+
form:
|
311
|
+
document_legend: Afegeix un document
|
312
|
+
slug_help: 'Els noms curts d''URL s''utilitzen per generar les URL que apunten a aquest procés. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
|
294
313
|
participatory_process_steps:
|
295
314
|
form:
|
296
315
|
cta_path_help: 'Utilitza rutes parcials, no URL complerts aquí. Accepta lletres, números, guions i barres, i ha de començar amb una lletra. Si no s''estableix cap ruta, el botó no es mostrarà. Exemple: %{url}'
|
data/config/locales/cs.yml
CHANGED
@@ -48,6 +48,12 @@ cs:
|
|
48
48
|
email: E-mailem
|
49
49
|
name: název
|
50
50
|
role: Role
|
51
|
+
errors:
|
52
|
+
models:
|
53
|
+
participatory_process:
|
54
|
+
attributes:
|
55
|
+
document:
|
56
|
+
invalid_document_type: 'Neplatný typ dokumentu. Přijatelné formáty jsou: %{valid_mime_types}'
|
51
57
|
models:
|
52
58
|
decidim/participatory_process_step_activated_event: Krok aktivován
|
53
59
|
decidim/participatory_process_step_changed_event: Krok se změnil
|
@@ -80,6 +86,7 @@ cs:
|
|
80
86
|
filter:
|
81
87
|
all: Zobrazit všechny procesy
|
82
88
|
process_groups: Skupiny procesů
|
89
|
+
import_process: Importovat
|
83
90
|
new_process: Nový proces
|
84
91
|
new_process_group: Nová skupina procesů
|
85
92
|
new_process_step: Nový krok
|
@@ -153,6 +160,14 @@ cs:
|
|
153
160
|
update:
|
154
161
|
error: Byla chyba při aktualizaci této participační skupiny procesů.
|
155
162
|
success: Skupina účastnických procesů byla úspěšně aktualizována.
|
163
|
+
participatory_process_imports:
|
164
|
+
create:
|
165
|
+
error: Při importu tohoto participačního procesu došlo k chybě.
|
166
|
+
success: Participační proces byl úspěšně importován.
|
167
|
+
new:
|
168
|
+
import: Importovat
|
169
|
+
select: Vyberte, které údaje chcete importovat
|
170
|
+
title: Importovat proces participace
|
156
171
|
participatory_process_publications:
|
157
172
|
create:
|
158
173
|
error: Při publikování tohoto procesu participace došlo k chybě.
|
@@ -299,6 +314,10 @@ cs:
|
|
299
314
|
participatory_process_copies:
|
300
315
|
form:
|
301
316
|
slug_help: 'Sloupce adres URL se používají k vygenerování adres URL, které směřují k tomuto procesu. Přijme pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}'
|
317
|
+
participatory_process_imports:
|
318
|
+
form:
|
319
|
+
document_legend: Přidat dokument
|
320
|
+
slug_help: 'URL slug se používají k vygenerování adres URL, které odkazují na toto shromáždění. Přijme pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}'
|
302
321
|
participatory_process_steps:
|
303
322
|
form:
|
304
323
|
cta_path_help: 'Použijte zde částečné cesty, ne úplné adresy URL. Přijme písmena, čísla, pomlčky a lomítka a musí začínat písmenem. Není-li nastaveno, tlačítko se nezobrazí. Příklad: %{url}'
|
data/config/locales/en.yml
CHANGED
@@ -49,6 +49,12 @@ en:
|
|
49
49
|
email: Email
|
50
50
|
name: Name
|
51
51
|
role: Role
|
52
|
+
errors:
|
53
|
+
models:
|
54
|
+
participatory_process:
|
55
|
+
attributes:
|
56
|
+
document:
|
57
|
+
invalid_document_type: 'Invalid document type. Accepted formats are: %{valid_mime_types}'
|
52
58
|
models:
|
53
59
|
decidim/participatory_process_step_activated_event: Phase activated
|
54
60
|
decidim/participatory_process_step_changed_event: Phase changed
|
@@ -75,6 +81,7 @@ en:
|
|
75
81
|
filter:
|
76
82
|
all: Show all processes
|
77
83
|
process_groups: Process Groups
|
84
|
+
import_process: Import
|
78
85
|
new_process: New process
|
79
86
|
new_process_group: New process group
|
80
87
|
new_process_step: New phase
|
@@ -148,6 +155,14 @@ en:
|
|
148
155
|
update:
|
149
156
|
error: There was a problem updating this participatory process group.
|
150
157
|
success: Participatory process group successfully updated.
|
158
|
+
participatory_process_imports:
|
159
|
+
create:
|
160
|
+
error: There was a problem importing this participatory process.
|
161
|
+
success: Participatory process successfully imported.
|
162
|
+
new:
|
163
|
+
import: Import
|
164
|
+
select: Select which data you would like to import
|
165
|
+
title: Import participatory process
|
151
166
|
participatory_process_publications:
|
152
167
|
create:
|
153
168
|
error: There was a problem publishing this participatory process.
|
@@ -292,6 +307,10 @@ en:
|
|
292
307
|
participatory_process_copies:
|
293
308
|
form:
|
294
309
|
slug_help: 'URL slugs are used to generate the URLs that point to this process. Only accepts letters, numbers and dashes, and must start with a letter. Example: %{url}'
|
310
|
+
participatory_process_imports:
|
311
|
+
form:
|
312
|
+
document_legend: Add a document
|
313
|
+
slug_help: 'URL slugs are used to generate the URLs that point to this process. Only accepts letters, numbers and dashes, and must start with a letter. Example: %{url}'
|
295
314
|
participatory_process_steps:
|
296
315
|
form:
|
297
316
|
cta_path_help: 'Use partial paths, not full URLs here. Accepts letters, numbers, dashes and slashes, and must start with a letter. If not set, the button will not be shown. Example: %{url}'
|
data/config/locales/fi-plain.yml
CHANGED
@@ -48,6 +48,12 @@ fi-pl:
|
|
48
48
|
email: Sähköposti
|
49
49
|
name: Nimi
|
50
50
|
role: Rooli
|
51
|
+
errors:
|
52
|
+
models:
|
53
|
+
participatory_process:
|
54
|
+
attributes:
|
55
|
+
document:
|
56
|
+
invalid_document_type: 'Virheellinen asiakirjan tyyppi. Hyväksytyt tiedostomuodot ovat: %{valid_mime_types}'
|
51
57
|
models:
|
52
58
|
decidim/participatory_process_step_activated_event: Vaihe aktivoidaan
|
53
59
|
decidim/participatory_process_step_changed_event: Vaihe muutettu
|
@@ -74,6 +80,7 @@ fi-pl:
|
|
74
80
|
filter:
|
75
81
|
all: Näytä kaikki prosessit
|
76
82
|
process_groups: Prosessiryhmät
|
83
|
+
import_process: Tuo
|
77
84
|
new_process: Uusi prosessi
|
78
85
|
new_process_group: Uusi prosessiryhmä
|
79
86
|
new_process_step: Uusi vaihe
|
@@ -147,6 +154,14 @@ fi-pl:
|
|
147
154
|
update:
|
148
155
|
error: Tämän osallisuusprosessien ryhmän päivityksessä tapahtui virhe.
|
149
156
|
success: Osallisuusprosessien ryhmä päivitetty onnistuneesti.
|
157
|
+
participatory_process_imports:
|
158
|
+
create:
|
159
|
+
error: Virhe tuotaessa tätä osallisuusprosessia.
|
160
|
+
success: Osallisuusprosessi tuotu onnistuneesti.
|
161
|
+
new:
|
162
|
+
import: Tuo
|
163
|
+
select: Valitse, mitkä tiedot haluat tuoda
|
164
|
+
title: Tuo osallisuusprosessi
|
150
165
|
participatory_process_publications:
|
151
166
|
create:
|
152
167
|
error: Tämän osallisuusprosessin julkaisussa tapahtui virhe.
|
@@ -291,6 +306,10 @@ fi-pl:
|
|
291
306
|
participatory_process_copies:
|
292
307
|
form:
|
293
308
|
slug_help: 'URL-tunnisteita käytetään tuottamaan URL-tunnisteet, jotka viittaavat tähän prosessiin. Hyväksyy vain kirjaimia, numeroita ja viivoja. Arvon on alettava kirjaimella. Esimerkki: %{url}'
|
309
|
+
participatory_process_imports:
|
310
|
+
form:
|
311
|
+
document_legend: Lisää asiakirja
|
312
|
+
slug_help: 'URL-tunnisteita käytetään tuottamaan URL-osoitteet, jotka viittaavat tähän prosessiin. Hyväksyy vain kirjaimet, numerot ja viivat. Arvon on alettava kirjaimella. Esimerkki: %{url}'
|
294
313
|
participatory_process_steps:
|
295
314
|
form:
|
296
315
|
cta_path_help: 'Käytä osittaisia polkuja, ei kokonaisia URL-osoitteita. Hyväksyy kirjaimet, numerot, väliviivat ja kauttaviivat. Arvon täytyy alkaa kirjaimella. Jos asetusta ei ole asetettu, painiketta ei näytetä. Esimerkki: %{url}'
|