decidim-participatory_documents 0.2.0 → 0.2.2

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/lint.yml +2 -2
  3. data/.github/workflows/test.yml +15 -5
  4. data/.ruby-version +1 -1
  5. data/.simplecov +15 -9
  6. data/Gemfile.lock +196 -192
  7. data/README.md +42 -28
  8. data/app/cells/decidim/participatory_documents/suggestion/admin_answer.erb +1 -1
  9. data/app/commands/decidim/participatory_documents/admin/create_document.rb +6 -2
  10. data/app/commands/decidim/participatory_documents/create_suggestion.rb +3 -1
  11. data/app/controllers/concerns/decidim/participatory_documents/needs_pdf_document.rb +8 -1
  12. data/app/controllers/decidim/participatory_documents/admin/documents_controller.rb +6 -4
  13. data/app/controllers/decidim/participatory_documents/admin/suggestions_controller.rb +30 -2
  14. data/app/controllers/decidim/participatory_documents/admin/valuation_assignments_controller.rb +13 -3
  15. data/app/controllers/decidim/participatory_documents/document_suggestions_controller.rb +14 -0
  16. data/app/controllers/decidim/participatory_documents/section_suggestions_controller.rb +4 -0
  17. data/app/forms/decidim/participatory_documents/admin/document_form.rb +9 -1
  18. data/app/jobs/decidim/participatory_documents/export_my_suggestions_job.rb +16 -0
  19. data/app/models/decidim/participatory_documents/document.rb +11 -0
  20. data/app/models/decidim/participatory_documents/suggestion.rb +12 -0
  21. data/app/packs/entrypoints/decidim_participatory_documents.scss +8 -0
  22. data/app/packs/entrypoints/decidim_participatory_documents_editor.js +1 -3
  23. data/app/packs/entrypoints/decidim_participatory_documents_viewer_off.js +6 -0
  24. data/app/packs/images/export_suggestions.svg +1 -0
  25. data/app/packs/src/decidim/participatory_documents/pdf/pdf_modal_manager.js +4 -1
  26. data/app/packs/src/decidim/participatory_documents/pdf/suggestion_form.js +1 -1
  27. data/app/packs/src/decidim/participatory_documents/pdf.js +46 -0
  28. data/app/packs/src/decidim/participatory_documents/pdf_off.js +39 -0
  29. data/app/packs/stylesheets/decidim/participatory_documents/pdf/admin_modals.scss +9 -5
  30. data/app/packs/stylesheets/decidim/participatory_documents/pdf/admin_tweaks.scss +0 -21
  31. data/app/packs/stylesheets/decidim/participatory_documents/{decidim_admin_classes.scss → pdf/decidim_admin_styles.scss} +0 -3
  32. data/app/packs/stylesheets/decidim/participatory_documents/pdf/modals.scss +49 -0
  33. data/app/packs/stylesheets/decidim/participatory_documents/pdf/tweaks.scss +76 -7
  34. data/app/permissions/decidim/participatory_documents/admin/permissions.rb +32 -25
  35. data/app/permissions/decidim/participatory_documents/permissions.rb +2 -0
  36. data/app/serializers/decidim/participatory_documents/my_suggestion_serializer.rb +22 -0
  37. data/app/serializers/decidim/participatory_documents/suggestion_serializer.rb +1 -1
  38. data/app/uploaders/decidim/participatory_documents/pdf_document_uploader.rb +4 -0
  39. data/app/views/decidim/participatory_documents/admin/documents/_editor_modal.html.erb +1 -1
  40. data/app/views/decidim/participatory_documents/admin/documents/edit_pdf.html.erb +1 -0
  41. data/app/views/decidim/participatory_documents/admin/documents/pdf_viewer.html.erb +1 -1
  42. data/app/views/decidim/participatory_documents/admin/sections/_form.html.erb +0 -3
  43. data/app/views/decidim/participatory_documents/admin/suggestions/_add_valuators.html.erb +1 -1
  44. data/app/views/decidim/participatory_documents/admin/suggestions/_suggestion.html.erb +1 -1
  45. data/app/views/decidim/participatory_documents/admin/suggestions/_valuators.html.erb +1 -2
  46. data/app/views/decidim/participatory_documents/documents/_export_modal.html.erb +25 -0
  47. data/app/views/decidim/participatory_documents/documents/_pdfjs_base.html.erb +5 -2
  48. data/app/views/decidim/participatory_documents/documents/index.html.erb +2 -2
  49. data/app/views/decidim/participatory_documents/documents/pdf_viewer.html.erb +40 -33
  50. data/config/assets.rb +1 -0
  51. data/config/locales/ca.yml +261 -0
  52. data/config/locales/de.yml +261 -0
  53. data/config/locales/en.yml +15 -0
  54. data/config/locales/es.yml +261 -0
  55. data/lib/decidim/participatory_documents/component.rb +6 -4
  56. data/lib/decidim/participatory_documents/engine.rb +5 -1
  57. data/lib/decidim/participatory_documents/version.rb +2 -2
  58. data/lib/decidim/participatory_documents.rb +9 -3
  59. metadata +12 -3
@@ -0,0 +1,261 @@
1
+ ---
2
+ es:
3
+ activemodel:
4
+ attributes:
5
+ document:
6
+ box_color: Color de las cajas
7
+ box_opacity: Opacidad aplicada al color de las cajas (%)
8
+ description: Descripción de ayuda
9
+ file: Documento PDF
10
+ title: Título de ayuda
11
+ suggestion:
12
+ body: Añade tu sugerencia
13
+ errors:
14
+ models:
15
+ answer_suggestion:
16
+ attributes:
17
+ state:
18
+ inclusion: No es posible publicar con estado "sin respuesta"
19
+ document:
20
+ has_suggestions: Este documento no puede ser cambiado o eliminado porque tiene sugerencias
21
+ suggestion:
22
+ attributes:
23
+ not_blank: 'Validación fallida: Por favor, proporcione un mensaje o suba un archivo'
24
+ too_long: es demasiado largo (más de %{max_length} caracteres)
25
+ too_short: es demasiado corto (menos de %{min_length} caracteres)
26
+ decidim:
27
+ admin:
28
+ actions:
29
+ export: Exportar
30
+ exports:
31
+ export_as: "%{name} como %{export_format}"
32
+ filters:
33
+ search_placeholder:
34
+ body_cont: El cuerpo contiene
35
+ suggestions:
36
+ body_cont:
37
+ label: El cuerpo contiene
38
+ dummy_author_ids_has:
39
+ label: Autor
40
+ dummy_suggestable_id_has:
41
+ label: Sección
42
+ state_eq:
43
+ label: El estado es
44
+ values:
45
+ accepted: Aceptada
46
+ evaluating: En evaluación
47
+ not_answered: No contestada
48
+ published: Publicada
49
+ rejected: Rechazada
50
+ withdrawn: Retirada
51
+ valuator_role_ids_has:
52
+ label: Asignada a evaluadora
53
+ admin_log:
54
+ annotation:
55
+ create: "%{user_name} eliminó una nueva área participativa en %{document_name}"
56
+ delete: "%{user_name} eliminó una nueva área participativa en %{document_name}"
57
+ update: "%{user_name} ha editado una nueva área participativa en %{document_name}"
58
+ document:
59
+ create: "%{user_name} creó el documento llamado %{resource_name} en %{space_name}"
60
+ delete: "%{user_name} borro el documento llamado %{resource_name} en %{space_name}"
61
+ update: "%{user_name} actualizo el documento llamado %{resource_name} en %{space_name}"
62
+ section:
63
+ create: "%{user_name} ha creado una nueva sección participativa llamada %{resource_name} en %{document_name}"
64
+ delete: "%{user_name} ha eliminado una sección"
65
+ update: "%{user_name} ha editado una sección en %{document_name}"
66
+ suggestion_note:
67
+ create: "%{user_name} ha creado una nueva nota privada en %{suggestion}"
68
+ components:
69
+ participatory_documents:
70
+ name: Documento participativo
71
+ settings:
72
+ global:
73
+ max_suggestion_length: Longitud máxima de la sugerencia (caracteres)
74
+ min_suggestion_length: Longitud mínima de la sugerencia (caracteres)
75
+ suggestion_answering_enabled: Habilitar la respuesta de sugerencias des del administrador
76
+ events:
77
+ participatory_documents:
78
+ suggestion_answered:
79
+ affected_user:
80
+ email_intro: 'La sugerencia que enviaste en el documento"<a href="%{resource_path}">%{resource_title}</a>" ha sido respondida por una administradora. Puedes consultar la respuesta en esta página:'
81
+ email_outro: Ha recibido esta notificación porque envió una sugerencia en el documento "<a href="%{resource_path}">%{resource_title}</a>".
82
+ email_subject: Una sugerencia que has enviado ha sido respondida por una administradora
83
+ notification_title: La sugerencia que enviaste en el documento"<a href="%{resource_path}">%{resource_title}</a>" ha sido respondida por una administradora
84
+ forms:
85
+ file_help:
86
+ file:
87
+ pdf_message: Solo se permiten archivos PDF
88
+ participatory_documents:
89
+ actions:
90
+ back: Atrás
91
+ back_edit: Volver atrás para editar las secciones de participación
92
+ confirm: Esta acción significa que no podrá editar el documento o crear nuevas secciones, ¿está seguro?
93
+ edit_boxes: Editar áreas participativas
94
+ edit_document: Editar/subir documento
95
+ finish_publishing: Publicar secciones participativas
96
+ new: Subir un documento PDF
97
+ preview_publishing_sections: Previsualizar y publicar secciones de participación
98
+ title: Acciones
99
+ admin:
100
+ documents:
101
+ create:
102
+ invalid: Se ha producido un error al crear el documento
103
+ success: El documento ha sido creado con éxito
104
+ edit:
105
+ title: Edita el documento participativo
106
+ update: Actualiza
107
+ final_publish:
108
+ error: Hubo un error al publicar las secciones
109
+ success: Las secciones han sido publicadas correctamente
110
+ form:
111
+ alert_suggestions_html: "<strong>IMPORTANTE:</strong> Este documento no puede ser cambiado o eliminado porque ya tiene sugerencias asociadas"
112
+ box_style_preview: 'Vista previa del estilo de caja:'
113
+ warning_sections_html: "<strong>¡Atención!:</strong> Si subes un nuevo documento, todas las secciones de participación serán eliminadas"
114
+ index:
115
+ start: Por favor cargue un documento PDF para empezar
116
+ new:
117
+ create: Crear documento participativo
118
+ title: Nuevo documento participativo
119
+ sections:
120
+ empty: "(vacío)"
121
+ update:
122
+ error: Se ha producido un error al actualizar el documento
123
+ success: El documento ha sido actualizado con éxito
124
+ exports:
125
+ suggestions: Sugerencias
126
+ suggestion_notes:
127
+ create:
128
+ error: Se ha producido un error al crear la nota
129
+ success: La nota ha sido creada con éxito
130
+ form:
131
+ note: Nota
132
+ submit: Enviar
133
+ leave_your_note: Deja tu nota
134
+ modal:
135
+ body: Cuerpo
136
+ title: Editar nota
137
+ update: Actualizar
138
+ title: Notas privadas
139
+ update:
140
+ edited: Editado
141
+ invalid: Se ha producido un error al actualizar la nota
142
+ success: La nota ha sido actualizada con éxito
143
+ suggestions:
144
+ answer:
145
+ invalid: Se ha producido un error al añadir la respuesta
146
+ success: Se añadió correctamente la respuesta
147
+ form:
148
+ answer: Respuesta
149
+ answer_is_published: Publicada
150
+ title: Respuesta de la sugerencia
151
+ index:
152
+ actions:
153
+ answer: Respuesta
154
+ assign_to_valuator: Asignar a evaluadora
155
+ assign_to_valuator_button: Asignar
156
+ cancel: Cancelar
157
+ download: descargar %{filename}
158
+ publish: Publicar
159
+ publish_answers: Publicar respuestas
160
+ title: Acciones
161
+ unassign_from_valuator: Desasignar la evaluadora
162
+ unassign_from_valuator_button: Desasignar
163
+ author: Autor
164
+ created_at: Envíado el
165
+ id: Id
166
+ no_text: "(sin texto)"
167
+ published_answer: Respuesta publicada
168
+ section: Sección de participación
169
+ selected: seleccionado
170
+ state: Estado
171
+ suggestion: Sugerencia
172
+ title: Lista de Sugerencias
173
+ publish_answers:
174
+ number_of_suggestions: Se publicarán las respuestas para %{number} sugerencias.
175
+ select_a_suggestion: Por favor, elige una sugerencia
176
+ success: Las respuestas en las sugerencias han sido publicadas correctamente.
177
+ show:
178
+ authors: Autores
179
+ body: Cuerpo
180
+ created_at: Fecha de creación
181
+ file: Archivo
182
+ update: Actualizar
183
+ suggestion:
184
+ global: Global
185
+ valuators:
186
+ assigned_valuators: Evaluadoras asignadas
187
+ remove_assignment: Eliminar asignación
188
+ remove_assignment_confirmation: '¿Confirmas que quieres desasignar la evaluadora de esta sugerencia?'
189
+ valuators: Evaluadoras
190
+ valuation_assignments:
191
+ create:
192
+ invalid: Se ha producido un error al asignar sugerencias a una evaluadora
193
+ success: Sugerencias asignadas a evaluadora con éxito
194
+ delete:
195
+ invalid: Se ha producido un error al desasignar sugerencias a una evaluadora
196
+ success: Evaluadora desasignada correctamente
197
+ document:
198
+ close: Cerrar
199
+ export_my_suggestions: Exportar mis sugerencias
200
+ global_suggestions: Sugerencias globales
201
+ save_changes: '¡Guardar cambios!'
202
+ send_suggestion: Enviar sugerencia
203
+ suggestion_answer: Respuesta oficial
204
+ upload_file: Adjuntar documento
205
+ document_suggestions:
206
+ export:
207
+ empty: No hay sugerencias para exportar.
208
+ success: "Se han exportado correctamente %{count} sugerencias. Revisa tu bandeja de entrada de correo en %{email}."
209
+ documents:
210
+ export_modal:
211
+ description_html: Tiene %{count} sugerencias en este documento. Si quiere exportarlo, recibirá un fichero ZIP que contiene un documento Excel con todos sus datos y cualquier posible respuesta que los administradores le hayan dado. <br><br>Recibirá un correo electrónico en <b>%{email}</b>.
212
+ send: Envíame mis sugerencias
213
+ title: Exportar mis sugerencias
214
+ missing: No hay ningún documento subido aún
215
+ not_supported: '¡Esta página requiere JavaScript para ser habilitada!'
216
+ preview_title: Previsualizar
217
+ publish_description: 'Opciones de administración: está previsualizando las secciones participativas del documento'
218
+ models:
219
+ document:
220
+ fields:
221
+ document_pages: Número de página
222
+ id: Id
223
+ published: Publicado
224
+ state: Estado
225
+ title: Título
226
+ section:
227
+ fields:
228
+ artificial_tile: Sección %{position}
229
+ suggestion:
230
+ fields:
231
+ valuators: Evaluadoras
232
+ 'no': 'No'
233
+ suggestions:
234
+ answers:
235
+ accepted: Aceptada
236
+ evaluating: En evaluación
237
+ not_answered: No contestada
238
+ published: Publicada
239
+ rejected: Rechazada
240
+ withdrawn: Retirada
241
+ modal:
242
+ exit_full_screen: Salir pantalla completa
243
+ full_screen: Pantalla Completa
244
+ ui_messages:
245
+ allSaved: Todas las áreas han sido guardadas correctamente
246
+ confirmExit: '¿Seguro que quieres salir?'
247
+ created: El área ha sido creada
248
+ errorsSaving: Se han producido algunos errores al guardar las áreas
249
+ group: Grupo
250
+ modalTitle: Sección %{section}, área %{box}
251
+ move: Mover
252
+ needsSaving: Tienes que guardar las áreas antes de editarlas
253
+ operationFailed: La operación falló
254
+ removeBoxConfirm: '¿Está seguro que desea eliminar esta área? Esta acción no se puede deshacer.'
255
+ removed: El área ha sido eliminada
256
+ startEditing: Empieza a crear áreas para la participación haciendo clic y arrastrando. Una vez creadas y guardadas, se pueden cambiar el tamaño, mover o agrupar. Una agrupación de áreas es una sección. Finalmente, se publicarán todas las secciones (sean agrupadas en varias áreas o en una sola área).
257
+ startSuggesting: '¡Haga clic en una sección marcada para participar!'
258
+ suggestion_form:
259
+ blank: Se ha producido un error al crear la sugerencia. Sube un archivo válido o añade un mensaje de texto con la sugerencia.
260
+ title: Escribe tu sugerencia o sube un archivo con tus sugerencias
261
+ '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
- .where(suggestable: document)
38
- .or(Decidim::ParticipatoryDocuments::Suggestion.where(suggestable: document.sections)).order(:id)
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"
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Decidim
4
4
  module ParticipatoryDocuments
5
- VERSION = "0.2.0"
6
- DECIDIM_VERSION = "0.27.3"
5
+ VERSION = "0.2.2"
6
+ DECIDIM_VERSION = "0.27.5"
7
7
  COMPAT_DECIDIM_VERSION = [">= 0.27.0", "< 0.28"].freeze
8
8
  end
9
9
  end
@@ -8,17 +8,23 @@ 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
- 50
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
- 500
23
+ ENV.fetch("MAX_SUGGESTION_LENGTH", 1000).to_i
24
+ end
25
+
26
+ config_accessor :antivirus_enabled do
27
+ defined?(AntivirusValidator) ? true : false
22
28
  end
23
29
  end
24
30
  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.0
4
+ version: 0.2.2
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-07-13 00:00:00.000000000 Z
11
+ date: 2024-01-17 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