decidim-participatory_documents 0.2.0 → 0.2.1
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/.github/workflows/lint.yml +2 -2
- data/.github/workflows/test.yml +8 -5
- data/.ruby-version +1 -1
- data/.simplecov +15 -9
- data/Gemfile.lock +186 -184
- data/README.md +32 -28
- data/app/commands/decidim/participatory_documents/create_suggestion.rb +3 -1
- data/app/controllers/concerns/decidim/participatory_documents/needs_pdf_document.rb +8 -1
- data/app/controllers/decidim/participatory_documents/admin/documents_controller.rb +5 -3
- data/app/controllers/decidim/participatory_documents/admin/suggestions_controller.rb +21 -1
- data/app/controllers/decidim/participatory_documents/admin/valuation_assignments_controller.rb +5 -1
- data/app/controllers/decidim/participatory_documents/document_suggestions_controller.rb +14 -0
- data/app/controllers/decidim/participatory_documents/section_suggestions_controller.rb +4 -0
- data/app/forms/decidim/participatory_documents/admin/document_form.rb +2 -1
- data/app/jobs/decidim/participatory_documents/export_my_suggestions_job.rb +16 -0
- data/app/models/decidim/participatory_documents/suggestion.rb +12 -0
- data/app/packs/entrypoints/decidim_participatory_documents.scss +8 -0
- data/app/packs/entrypoints/decidim_participatory_documents_editor.js +1 -3
- data/app/packs/entrypoints/decidim_participatory_documents_viewer_off.js +6 -0
- data/app/packs/images/export_suggestions.svg +1 -0
- data/app/packs/src/decidim/participatory_documents/pdf/pdf_modal_manager.js +4 -1
- data/app/packs/src/decidim/participatory_documents/pdf/suggestion_form.js +1 -1
- data/app/packs/src/decidim/participatory_documents/pdf.js +46 -0
- data/app/packs/src/decidim/participatory_documents/pdf_off.js +39 -0
- data/app/packs/stylesheets/decidim/participatory_documents/pdf/admin_modals.scss +9 -5
- data/app/packs/stylesheets/decidim/participatory_documents/pdf/admin_tweaks.scss +0 -21
- data/app/packs/stylesheets/decidim/participatory_documents/{decidim_admin_classes.scss → pdf/decidim_admin_styles.scss} +0 -3
- data/app/packs/stylesheets/decidim/participatory_documents/pdf/modals.scss +49 -0
- data/app/packs/stylesheets/decidim/participatory_documents/pdf/tweaks.scss +76 -7
- data/app/permissions/decidim/participatory_documents/admin/permissions.rb +30 -15
- data/app/permissions/decidim/participatory_documents/permissions.rb +2 -0
- data/app/serializers/decidim/participatory_documents/my_suggestion_serializer.rb +22 -0
- data/app/serializers/decidim/participatory_documents/suggestion_serializer.rb +1 -1
- data/app/uploaders/decidim/participatory_documents/pdf_document_uploader.rb +4 -0
- data/app/views/decidim/participatory_documents/admin/documents/_editor_modal.html.erb +1 -1
- data/app/views/decidim/participatory_documents/admin/documents/pdf_viewer.html.erb +1 -1
- data/app/views/decidim/participatory_documents/admin/sections/_form.html.erb +0 -3
- data/app/views/decidim/participatory_documents/admin/suggestions/_suggestion.html.erb +1 -1
- data/app/views/decidim/participatory_documents/documents/_export_modal.html.erb +25 -0
- data/app/views/decidim/participatory_documents/documents/_pdfjs_base.html.erb +5 -2
- data/app/views/decidim/participatory_documents/documents/pdf_viewer.html.erb +40 -33
- data/config/assets.rb +1 -0
- data/config/locales/ca.yml +259 -0
- data/config/locales/de.yml +259 -0
- data/config/locales/en.yml +13 -0
- data/config/locales/es.yml +259 -0
- data/lib/decidim/participatory_documents/component.rb +6 -4
- data/lib/decidim/participatory_documents/engine.rb +5 -1
- data/lib/decidim/participatory_documents/version.rb +2 -2
- data/lib/decidim/participatory_documents.rb +5 -3
- metadata +12 -3
@@ -0,0 +1,259 @@
|
|
1
|
+
---
|
2
|
+
es:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
document:
|
6
|
+
box_color: Color of the boxes
|
7
|
+
box_opacity: Opacity applied at the color of the boxes (%)
|
8
|
+
description: Helper description
|
9
|
+
file: PDF Document
|
10
|
+
title: Helper title
|
11
|
+
errors:
|
12
|
+
models:
|
13
|
+
answer_suggestion:
|
14
|
+
attributes:
|
15
|
+
state:
|
16
|
+
inclusion: It's not possible to publish with status "not answered"
|
17
|
+
document:
|
18
|
+
has_suggestions: This document cannot be changed or removed because it has suggestions
|
19
|
+
suggestion:
|
20
|
+
attributes:
|
21
|
+
not_blank: 'Validation failed: Please provide a message or upload a file'
|
22
|
+
too_long: is too long (over %{max_length} characters)
|
23
|
+
too_short: is too short (under %{min_length} characters)
|
24
|
+
decidim:
|
25
|
+
admin:
|
26
|
+
actions:
|
27
|
+
export: Export
|
28
|
+
exports:
|
29
|
+
export_as: "%{name} as %{export_format}"
|
30
|
+
filters:
|
31
|
+
search_placeholder:
|
32
|
+
body_cont: Body Contains
|
33
|
+
suggestions:
|
34
|
+
body_cont:
|
35
|
+
label: Body contains
|
36
|
+
dummy_author_ids_has:
|
37
|
+
label: Author
|
38
|
+
dummy_suggestable_id_has:
|
39
|
+
label: Section
|
40
|
+
state_eq:
|
41
|
+
label: State is
|
42
|
+
values:
|
43
|
+
accepted: Accepted
|
44
|
+
evaluating: Evaluating
|
45
|
+
not_answered: Not Answered
|
46
|
+
published: Published
|
47
|
+
rejected: Rejected
|
48
|
+
withdrawn: Withdrawn
|
49
|
+
valuator_role_ids_has:
|
50
|
+
label: Assigned to valuator
|
51
|
+
admin_log:
|
52
|
+
annotation:
|
53
|
+
create: "%{user_name} creó una nueva área participativa para %{document_name}"
|
54
|
+
delete: "%{user_name} deleted a participatory area for %{document_name}"
|
55
|
+
update: "%{user_name} has updated a participatory area for %{document_name}"
|
56
|
+
document:
|
57
|
+
create: "%{user_name} creó el documento llamado %{resource_name} en %{space_name}"
|
58
|
+
delete: "%{user_name} borro el documento llamado %{resource_name} en %{space_name}"
|
59
|
+
update: "%{user_name} actualizo el documento llamado %{resource_name} en %{space_name}"
|
60
|
+
section:
|
61
|
+
create: "%{user_name} has created a new Section named %{resource_name} for %{document_name}"
|
62
|
+
delete: "%{user_name} has deleted a section"
|
63
|
+
update: "%{user_name} has updated a section in %{document_name}"
|
64
|
+
suggestion_note:
|
65
|
+
create: "%{user_name} created a new suggestion note %{suggestion}"
|
66
|
+
components:
|
67
|
+
participatory_documents:
|
68
|
+
name: Documento participativo
|
69
|
+
settings:
|
70
|
+
global:
|
71
|
+
max_suggestion_length: Maximum suggestion length (characters)
|
72
|
+
min_suggestion_length: Minimum suggestion length (characters)
|
73
|
+
suggestion_answering_enabled: Enable suggestion answering from admin
|
74
|
+
events:
|
75
|
+
participatory_documents:
|
76
|
+
suggestion_answered:
|
77
|
+
affected_user:
|
78
|
+
email_intro: 'A suggestion you submitted on "<a href="%{resource_path}">%{resource_title}</a>" document has been answered by an administrator. You can read the answer in this page:'
|
79
|
+
email_outro: You have received this notification because you have submitted a suggestion for "<a href="%{resource_path}">%{resource_title}</a>" document.
|
80
|
+
email_subject: A suggestion you have submitted has been answered by an administrator
|
81
|
+
notification_title: A suggestion you submitted on "<a href="%{resource_path}">%{resource_title}</a>" document has been answered by an administrator
|
82
|
+
forms:
|
83
|
+
file_help:
|
84
|
+
file:
|
85
|
+
pdf_message: Only PDF files are allowed
|
86
|
+
participatory_documents:
|
87
|
+
actions:
|
88
|
+
back: Atrás
|
89
|
+
back_edit: Go back to edit participatory sections
|
90
|
+
confirm: This action means that you will not be able to edit the document or create new sections, are you sure?
|
91
|
+
edit_boxes: Editar áreas participativas
|
92
|
+
edit_document: Editar/subir documento
|
93
|
+
finish_publishing: Publish participatory sections
|
94
|
+
new: Subir un documento PDF
|
95
|
+
preview_publishing_sections: Preview and publish sections
|
96
|
+
title: Acciones
|
97
|
+
admin:
|
98
|
+
documents:
|
99
|
+
create:
|
100
|
+
invalid: Se ha producido un error al crear el documento
|
101
|
+
success: El documento ha sido creado con éxito
|
102
|
+
edit:
|
103
|
+
title: Edita el documento participativo
|
104
|
+
update: Actualiza
|
105
|
+
final_publish:
|
106
|
+
error: There was an error publishing sections
|
107
|
+
success: Sections have been successfully published
|
108
|
+
form:
|
109
|
+
alert_suggestions_html: "<strong>IMPORTANT:</strong> This document cannot be changed or removed because it already has suggestions attached"
|
110
|
+
box_style_preview: 'Box style preview:'
|
111
|
+
warning_sections_html: "<strong>Warning:</strong> If you upload a new document, all the participatory areas will be deleted!"
|
112
|
+
index:
|
113
|
+
start: Por favor cargue un documento PDF para empezar
|
114
|
+
new:
|
115
|
+
create: Create participatory document
|
116
|
+
title: New participatory document
|
117
|
+
sections:
|
118
|
+
empty: "(empty)"
|
119
|
+
update:
|
120
|
+
error: There was a problem updating Document
|
121
|
+
success: El documento ha sido actualizado con éxito
|
122
|
+
exports:
|
123
|
+
suggestions: Suggestions
|
124
|
+
suggestion_notes:
|
125
|
+
create:
|
126
|
+
error: There was a problem creating this suggestion note
|
127
|
+
success: Suggestion note successfully created
|
128
|
+
form:
|
129
|
+
note: Note
|
130
|
+
submit: Submit
|
131
|
+
leave_your_note: Leave your note
|
132
|
+
modal:
|
133
|
+
body: Body
|
134
|
+
title: Edit note
|
135
|
+
update: Update
|
136
|
+
title: Private notes
|
137
|
+
update:
|
138
|
+
edited: Edited
|
139
|
+
invalid: There was a problem updating this suggestion note
|
140
|
+
success: Suggestion note successfully updated
|
141
|
+
suggestions:
|
142
|
+
answer:
|
143
|
+
invalid: There was an error adding the answer
|
144
|
+
success: Successfully added the answer
|
145
|
+
form:
|
146
|
+
answer: Answer
|
147
|
+
answer_is_published: Published
|
148
|
+
title: Answer Suggestion
|
149
|
+
index:
|
150
|
+
actions:
|
151
|
+
answer: Answer
|
152
|
+
assign_to_valuator: Assign to valuator
|
153
|
+
assign_to_valuator_button: Assign
|
154
|
+
cancel: Cancel
|
155
|
+
download: download %{filename}
|
156
|
+
publish: Publish
|
157
|
+
publish_answers: Publish answers
|
158
|
+
title: Actions
|
159
|
+
unassign_from_valuator: Unassign from valuator
|
160
|
+
unassign_from_valuator_button: Unassign
|
161
|
+
author: Author
|
162
|
+
created_at: Submitted on
|
163
|
+
id: Id
|
164
|
+
no_text: "(no text)"
|
165
|
+
published_answer: Published Answer
|
166
|
+
section: Section
|
167
|
+
selected: selected
|
168
|
+
state: State
|
169
|
+
suggestion: Suggestion
|
170
|
+
title: List Suggestions
|
171
|
+
publish_answers:
|
172
|
+
number_of_suggestions: Answers for %{number} suggestions will be published.
|
173
|
+
select_a_suggestion: Please select a suggestion
|
174
|
+
success: Suggestion answers successfully published.
|
175
|
+
show:
|
176
|
+
authors: Authors
|
177
|
+
body: Body
|
178
|
+
created_at: Creation date
|
179
|
+
file: File
|
180
|
+
update: Update
|
181
|
+
suggestion:
|
182
|
+
global: Global
|
183
|
+
valuators:
|
184
|
+
assigned_valuators: Assigned valuators
|
185
|
+
remove_assignment: Remove assignment
|
186
|
+
remove_assignment_confirmation: Are you sure you want to remove the valuator from this suggestion?
|
187
|
+
valuators: Valuators
|
188
|
+
valuation_assignments:
|
189
|
+
create:
|
190
|
+
invalid: There was an error assigning suggestions to a valuator
|
191
|
+
success: Suggestions assigned to a valuator successfully
|
192
|
+
delete:
|
193
|
+
invalid: There was an error unassigning suggestions from a valuator
|
194
|
+
success: Valuator unassigned from suggestions successfully
|
195
|
+
document:
|
196
|
+
close: Close
|
197
|
+
export_my_suggestions: Export my suggestions
|
198
|
+
global_suggestions: Global suggestions
|
199
|
+
save_changes: Save changes!
|
200
|
+
send_suggestion: Send suggestion
|
201
|
+
suggestion_answer: Official answer
|
202
|
+
upload_file: Attach a document
|
203
|
+
document_suggestions:
|
204
|
+
export:
|
205
|
+
empty: There are no suggestions to export.
|
206
|
+
success: "%{count} suggestions have been successfully exported. Please check your email inbox at %{email}."
|
207
|
+
documents:
|
208
|
+
export_modal:
|
209
|
+
description_html: You have %{count} suggestions on this document. If you want to export them, you will receive a ZIP file with and Excel document in it with all your data and any possible answer the admins have given to you. <br><br>You will receive an email at <b>%{email}</b>.
|
210
|
+
send: Send me my suggestions
|
211
|
+
title: Export my suggestions
|
212
|
+
missing: There is no document uploaded yet
|
213
|
+
not_supported: This page requires JavaScript to be enabled!
|
214
|
+
preview_title: Preview
|
215
|
+
publish_description: 'Admin options: you are previewing the participatory sections of the document'
|
216
|
+
models:
|
217
|
+
document:
|
218
|
+
fields:
|
219
|
+
document_pages: Número de página
|
220
|
+
id: Id
|
221
|
+
published: Publicado
|
222
|
+
state: Estado
|
223
|
+
title: Título
|
224
|
+
section:
|
225
|
+
fields:
|
226
|
+
artificial_tile: Section %{position}
|
227
|
+
suggestion:
|
228
|
+
fields:
|
229
|
+
valuators: Valuators
|
230
|
+
'no': 'No'
|
231
|
+
suggestions:
|
232
|
+
answers:
|
233
|
+
accepted: Accepted
|
234
|
+
evaluating: Evaluating
|
235
|
+
not_answered: Not Answered
|
236
|
+
published: Published
|
237
|
+
rejected: Rejected
|
238
|
+
withdrawn: Withdrawn
|
239
|
+
modal:
|
240
|
+
exit_full_screen: Exit fullscreen
|
241
|
+
full_screen: Fullscreen
|
242
|
+
ui_messages:
|
243
|
+
allSaved: All the areas have been saved successfully
|
244
|
+
confirmExit: Are you sure you want to exit?
|
245
|
+
created: The area has been created
|
246
|
+
errorsSaving: Some errors have occurred while saving the areas
|
247
|
+
group: Group
|
248
|
+
modalTitle: Section %{section}, area %{box}
|
249
|
+
move: Move
|
250
|
+
needsSaving: You have to save the areas before editing them
|
251
|
+
operationFailed: The operation has failed
|
252
|
+
removeBoxConfirm: Are you sure you want to delete this area? This cannot be undone.
|
253
|
+
removed: The area has been removed
|
254
|
+
startEditing: Start creating areas for participation by clicking and dragging. Once created, boxes can be resized, moved, or grouped.
|
255
|
+
startSuggesting: Click on a marked area to participate!
|
256
|
+
suggestion_form:
|
257
|
+
blank: There was an error creating the suggestion. Upload the valid file or add a text message with the suggestion.
|
258
|
+
title: Write your suggestion or upload a file with your suggestions
|
259
|
+
'yes': 'Sí'
|
@@ -31,11 +31,13 @@ Decidim.register_component(:participatory_documents) do |component|
|
|
31
31
|
# end
|
32
32
|
|
33
33
|
component.exports :suggestions do |exports|
|
34
|
-
exports.collection do |component_instance|
|
34
|
+
exports.collection do |component_instance, user, context|
|
35
35
|
document = Decidim::ParticipatoryDocuments::Document.find_by(component: component_instance)
|
36
|
-
Decidim::ParticipatoryDocuments::Suggestion
|
37
|
-
|
38
|
-
|
36
|
+
suggestions = Decidim::ParticipatoryDocuments::Suggestion
|
37
|
+
.where(suggestable: document)
|
38
|
+
.or(Decidim::ParticipatoryDocuments::Suggestion.where(suggestable: document.sections))
|
39
|
+
suggestions = suggestions.where(author: user) if context == :my_suggestions && user
|
40
|
+
suggestions.order(:id)
|
39
41
|
end
|
40
42
|
|
41
43
|
exports.include_in_open_data = false
|
@@ -14,7 +14,11 @@ module Decidim
|
|
14
14
|
collection do
|
15
15
|
get :pdf_viewer
|
16
16
|
end
|
17
|
-
resources :suggestions, only: [:index, :create], controller: :document_suggestions
|
17
|
+
resources :suggestions, only: [:index, :create], controller: :document_suggestions do
|
18
|
+
collection do
|
19
|
+
post :export
|
20
|
+
end
|
21
|
+
end
|
18
22
|
end
|
19
23
|
|
20
24
|
root to: "documents#index"
|
@@ -8,17 +8,19 @@ module Decidim
|
|
8
8
|
# Public: The maximum length of any text field (body, answers, etc) to export.
|
9
9
|
# Defaults to 50. Set to 0 to export the full text.
|
10
10
|
config_accessor :max_export_text_length do
|
11
|
-
|
11
|
+
ENV.fetch("MAX_EXPORT_TEXT_LENGTH", 0).to_i
|
12
12
|
end
|
13
13
|
|
14
14
|
# Public: The minimum length of a suggestion to be considered valid.
|
15
|
+
# This setting is configurable per-component by admins
|
15
16
|
config_accessor :min_suggestion_length do
|
16
|
-
5
|
17
|
+
ENV.fetch("MIN_SUGGESTION_LENGTH", 5).to_i
|
17
18
|
end
|
18
19
|
|
19
20
|
# Public: The maximum length of a suggestion to be considered valid.
|
21
|
+
# This setting is configurable per-component by admins
|
20
22
|
config_accessor :max_suggestion_length do
|
21
|
-
|
23
|
+
ENV.fetch("MAX_SUGGESTION_LENGTH", 1000).to_i
|
22
24
|
end
|
23
25
|
end
|
24
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-participatory_documents
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Vergés
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-core
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- app/helpers/decidim/participatory_documents/admin/documents_helper.rb
|
127
127
|
- app/helpers/decidim/participatory_documents/admin/suggestion_helper.rb
|
128
128
|
- app/helpers/decidim/participatory_documents/documents_helper.rb
|
129
|
+
- app/jobs/decidim/participatory_documents/export_my_suggestions_job.rb
|
129
130
|
- app/models/concerns/decidim/participatory_documents/participatory_space_user_role_override.rb
|
130
131
|
- app/models/concerns/decidim/participatory_documents/valuator_override.rb
|
131
132
|
- app/models/decidim/participatory_documents/annotation.rb
|
@@ -143,8 +144,10 @@ files:
|
|
143
144
|
- app/packs/entrypoints/decidim_participatory_documents_editor.scss
|
144
145
|
- app/packs/entrypoints/decidim_participatory_documents_viewer.js
|
145
146
|
- app/packs/entrypoints/decidim_participatory_documents_viewer.scss
|
147
|
+
- app/packs/entrypoints/decidim_participatory_documents_viewer_off.js
|
146
148
|
- app/packs/images/.keep
|
147
149
|
- app/packs/images/badge.svg
|
150
|
+
- app/packs/images/export_suggestions.svg
|
148
151
|
- app/packs/images/fullscreen.svg
|
149
152
|
- app/packs/images/fullscreen_exit.svg
|
150
153
|
- app/packs/images/group.svg
|
@@ -165,11 +168,12 @@ files:
|
|
165
168
|
- app/packs/src/decidim/participatory_documents/pdf/suggestion_form.js
|
166
169
|
- app/packs/src/decidim/participatory_documents/pdf_admin.js
|
167
170
|
- app/packs/src/decidim/participatory_documents/pdf_notifications.js
|
171
|
+
- app/packs/src/decidim/participatory_documents/pdf_off.js
|
168
172
|
- app/packs/src/decidim/participatory_documents/skip_cookie_warning.js
|
169
|
-
- app/packs/stylesheets/decidim/participatory_documents/decidim_admin_classes.scss
|
170
173
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/admin_modals.scss
|
171
174
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/admin_polygons.scss
|
172
175
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/admin_tweaks.scss
|
176
|
+
- app/packs/stylesheets/decidim/participatory_documents/pdf/decidim_admin_styles.scss
|
173
177
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/defaults.scss
|
174
178
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/document.scss
|
175
179
|
- app/packs/stylesheets/decidim/participatory_documents/pdf/modals.scss
|
@@ -182,6 +186,7 @@ files:
|
|
182
186
|
- app/presenters/decidim/participatory_documents/admin_log/document_presenter.rb
|
183
187
|
- app/presenters/decidim/participatory_documents/admin_log/section_presenter.rb
|
184
188
|
- app/presenters/decidim/participatory_documents/admin_log/suggestion_note_presenter.rb
|
189
|
+
- app/serializers/decidim/participatory_documents/my_suggestion_serializer.rb
|
185
190
|
- app/serializers/decidim/participatory_documents/suggestion_serializer.rb
|
186
191
|
- app/uploaders/decidim/participatory_documents/pdf_document_uploader.rb
|
187
192
|
- app/views/decidim/admin/exports/_dropdown.html.erb
|
@@ -212,6 +217,7 @@ files:
|
|
212
217
|
- app/views/decidim/participatory_documents/admin/suggestions/show.html.erb
|
213
218
|
- app/views/decidim/participatory_documents/document_suggestions/_form.html.erb
|
214
219
|
- app/views/decidim/participatory_documents/document_suggestions/index.html.erb
|
220
|
+
- app/views/decidim/participatory_documents/documents/_export_modal.html.erb
|
215
221
|
- app/views/decidim/participatory_documents/documents/_pdfjs_base.html.erb
|
216
222
|
- app/views/decidim/participatory_documents/documents/index.html.erb
|
217
223
|
- app/views/decidim/participatory_documents/documents/pdf_viewer.html.erb
|
@@ -224,7 +230,10 @@ files:
|
|
224
230
|
- codecov.yml
|
225
231
|
- config/assets.rb
|
226
232
|
- config/i18n-tasks.yml
|
233
|
+
- config/locales/ca.yml
|
234
|
+
- config/locales/de.yml
|
227
235
|
- config/locales/en.yml
|
236
|
+
- config/locales/es.yml
|
228
237
|
- crowdin.yml
|
229
238
|
- db/migrate/20221018112720_create_decidim_participatory_documents_document.rb
|
230
239
|
- db/migrate/20221115233021_create_decidim_participatory_documents_participation_sections.rb
|