decidim-core 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_core_manifest.js +1 -0
  3. data/app/assets/images/decidim/process.svg +10 -0
  4. data/app/assets/javascripts/decidim.js.es6 +2 -0
  5. data/app/assets/javascripts/decidim/editor.js.es6 +2 -2
  6. data/app/assets/javascripts/decidim/filters.js.es6 +1 -1
  7. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +26 -5
  8. data/app/assets/javascripts/decidim/form_filter.component.test.js +1 -18
  9. data/app/assets/javascripts/decidim/foundation.js.es6 +1 -0
  10. data/app/assets/javascripts/decidim/history.js.es6 +35 -0
  11. data/app/assets/javascripts/decidim/orders.js.es6 +28 -0
  12. data/app/assets/stylesheets/decidim/_decidim.scss +1 -0
  13. data/app/assets/stylesheets/decidim/email.css +21 -3
  14. data/app/assets/stylesheets/decidim/extras/_leaflet.scss +4 -2
  15. data/app/assets/stylesheets/decidim/extras/_quill.scss +8 -0
  16. data/app/assets/stylesheets/decidim/extras/_register_form.scss +9 -0
  17. data/app/assets/stylesheets/decidim/modules/_buttons.scss +19 -3
  18. data/app/assets/stylesheets/decidim/utils/_mixins.scss +8 -4
  19. data/app/commands/decidim/authorize_user.rb +9 -4
  20. data/app/commands/decidim/create_omniauth_registration.rb +4 -2
  21. data/app/commands/decidim/create_registration.rb +4 -1
  22. data/app/commands/decidim/invite_user.rb +3 -1
  23. data/app/commands/decidim/update_notifications_settings.rb +31 -0
  24. data/app/constraints/decidim/current_feature.rb +16 -15
  25. data/app/controllers/concerns/decidim/action_authorization.rb +73 -0
  26. data/app/controllers/concerns/decidim/feature_settings.rb +2 -5
  27. data/app/controllers/concerns/decidim/needs_authorization.rb +5 -1
  28. data/app/controllers/concerns/decidim/user_profile.rb +1 -0
  29. data/app/controllers/decidim/application_controller.rb +12 -0
  30. data/app/controllers/decidim/authorizations_controller.rb +10 -12
  31. data/app/controllers/decidim/cookie_policy_controller.rb +15 -0
  32. data/app/controllers/decidim/devise/confirmations_controller.rb +4 -0
  33. data/app/controllers/decidim/devise/invitations_controller.rb +4 -0
  34. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +10 -3
  35. data/app/controllers/decidim/devise/passwords_controller.rb +4 -0
  36. data/app/controllers/decidim/devise/registrations_controller.rb +21 -0
  37. data/app/controllers/decidim/devise/sessions_controller.rb +4 -0
  38. data/app/controllers/decidim/notifications_settings_controller.rb +31 -0
  39. data/app/controllers/decidim/pages_controller.rb +17 -6
  40. data/app/controllers/decidim/participatory_processes_controller.rb +5 -5
  41. data/app/forms/decidim/notifications_settings_form.rb +17 -0
  42. data/app/forms/decidim/registration_form.rb +2 -1
  43. data/app/helpers/decidim/action_authorization_helper.rb +82 -0
  44. data/app/helpers/decidim/application_helper.rb +2 -0
  45. data/app/helpers/decidim/authorization_form_helper.rb +1 -1
  46. data/app/helpers/decidim/cookies_helper.rb +11 -0
  47. data/app/helpers/decidim/decidim_form_helper.rb +18 -0
  48. data/app/helpers/decidim/language_chooser_helper.rb +18 -0
  49. data/app/helpers/decidim/layout_helper.rb +0 -5
  50. data/app/helpers/decidim/localized_locales_helper.rb +1 -1
  51. data/app/helpers/decidim/meta_tags_helper.rb +104 -0
  52. data/app/helpers/decidim/orders_helper.rb +28 -0
  53. data/app/helpers/decidim/resource_helper.rb +46 -6
  54. data/app/mailers/decidim/application_mailer.rb +2 -2
  55. data/app/mailers/decidim/decidim_devise_mailer.rb +0 -1
  56. data/app/mailers/decidim/newsletter_mailer.rb +24 -0
  57. data/app/models/decidim/abilities/everyone.rb +2 -0
  58. data/app/models/decidim/feature.rb +30 -0
  59. data/app/models/decidim/newsletter.rb +24 -0
  60. data/app/models/decidim/organization.rb +2 -0
  61. data/app/models/decidim/user.rb +3 -2
  62. data/app/queries/decidim/highlighted_participatory_processes.rb +10 -0
  63. data/app/queries/decidim/promoted_participatory_processes.rb +9 -0
  64. data/app/queries/decidim/public_participatory_processes.rb +10 -0
  65. data/app/services/decidim/action_authorizer.rb +102 -0
  66. data/app/services/decidim/resource_search.rb +1 -1
  67. data/app/uploaders/decidim/official_image_footer_uploader.rb +12 -0
  68. data/app/uploaders/decidim/official_image_header_uploader.rb +12 -0
  69. data/app/validators/etiquette_validator.rb +42 -0
  70. data/app/views/decidim/account/show.html.erb +1 -1
  71. data/app/views/decidim/authorizations/index.html.erb +4 -4
  72. data/app/views/decidim/authorizations/new.html.erb +2 -2
  73. data/app/views/decidim/cookie_policy/accept.js.erb +3 -0
  74. data/app/views/decidim/devise/confirmations/new.html.erb +3 -1
  75. data/app/views/decidim/devise/invitations/edit.html.erb +1 -1
  76. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +1 -1
  77. data/app/views/decidim/devise/passwords/edit.html.erb +1 -1
  78. data/app/views/decidim/devise/passwords/new.html.erb +3 -1
  79. data/app/views/decidim/devise/registrations/edit.html.erb +2 -1
  80. data/app/views/decidim/devise/registrations/new.html.erb +13 -1
  81. data/app/views/decidim/devise/sessions/new.html.erb +3 -1
  82. data/app/views/decidim/newsletter_mailer/newsletter.html.erb +5 -0
  83. data/app/views/decidim/notifications_settings/show.html.erb +26 -0
  84. data/app/views/decidim/pages/index.html.erb +34 -0
  85. data/app/views/decidim/participatory_process_steps/index.html.erb +1 -1
  86. data/app/views/decidim/participatory_processes/_participatory_process.html.erb +4 -2
  87. data/app/views/decidim/participatory_processes/_promoted_process.html.erb +1 -1
  88. data/app/views/decidim/participatory_processes/index.html.erb +3 -3
  89. data/app/views/decidim/participatory_processes/show.html.erb +30 -9
  90. data/app/views/decidim/shared/_action_authorization_modal.html.erb +55 -0
  91. data/app/views/decidim/shared/_login_modal.html.erb +2 -3
  92. data/app/views/decidim/shared/_orders.html.erb +15 -0
  93. data/app/views/decidim/shared/_share_modal.html.erb +33 -0
  94. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +1 -1
  95. data/app/views/layouts/decidim/_application.html.erb +12 -0
  96. data/app/views/layouts/decidim/_cookie_warning.html.erb +8 -0
  97. data/app/views/layouts/decidim/_footer.html.erb +6 -0
  98. data/app/views/layouts/decidim/_header.html.erb +7 -9
  99. data/app/views/layouts/decidim/_language_chooser.html.erb +3 -3
  100. data/app/views/layouts/decidim/_logo.html.erb +1 -1
  101. data/app/views/layouts/decidim/_mailer_logo.html.erb +31 -0
  102. data/app/views/layouts/decidim/_main_nav.html.erb +11 -0
  103. data/app/views/layouts/decidim/_process_header.html.erb +9 -7
  104. data/app/views/layouts/decidim/_social_media_links.html.erb +39 -0
  105. data/app/views/layouts/decidim/_social_meta.html.erb +8 -8
  106. data/app/views/layouts/decidim/mailer.html.erb +110 -62
  107. data/app/views/layouts/decidim/participatory_process.html.erb +14 -3
  108. data/app/views/layouts/decidim/user_profile.html.erb +1 -0
  109. data/app/views/pages/decidim_page.html.erb +5 -0
  110. data/app/views/pages/home.html.erb +4 -0
  111. data/app/views/pages/home/_extended.html.erb +2 -2
  112. data/app/views/pages/home/_footer_sub_hero.html.erb +12 -0
  113. data/app/views/pages/home/_hero.html.erb +2 -2
  114. data/app/views/pages/home/_highlighted_processes.html.erb +2 -2
  115. data/config/i18n-tasks.yml +6 -2
  116. data/config/initializers/invisible_captcha.rb +10 -0
  117. data/config/initializers/mail_previews.rb +4 -0
  118. data/config/locales/ca.yml +129 -23
  119. data/config/locales/en.yml +98 -13
  120. data/config/locales/es.yml +128 -22
  121. data/config/locales/eu.yml +5 -0
  122. data/config/routes.rb +13 -5
  123. data/db/migrate/20170131134349_add_action_permissions_to_decidim_features.rb +5 -0
  124. data/db/migrate/20170202084913_add_comments_and_replies_notifications_to_users.rb +6 -0
  125. data/db/migrate/20170203150545_add_newsletter_notifications_to_users.rb +5 -0
  126. data/db/migrate/20170206083118_rename_extra_info_on_processes.rb +12 -0
  127. data/db/migrate/20170206142116_add_published_at_to_decidim_features.rb +6 -0
  128. data/db/migrate/20170207091021_add_social_media_handlers_to_organization.rb +8 -0
  129. data/db/migrate/20170207093048_add_organization_logo_and_url.rb +7 -0
  130. data/db/migrate/20170213081133_create_decidim_newsletters.rb +15 -0
  131. data/db/seeds.rb +29 -4
  132. data/lib/decidim/attributes.rb +6 -0
  133. data/lib/decidim/attributes/time_with_zone.rb +13 -0
  134. data/lib/decidim/authorable.rb +2 -2
  135. data/lib/decidim/core.rb +11 -0
  136. data/lib/decidim/core/api.rb +11 -0
  137. data/lib/decidim/core/api/author_interface.rb +11 -0
  138. data/lib/decidim/core/api/localized_string_type.rb +11 -0
  139. data/{app/types/decidim → lib/decidim/core/api}/process_step_type.rb +2 -2
  140. data/{app/types/decidim → lib/decidim/core/api}/process_type.rb +1 -1
  141. data/{app/types/decidim → lib/decidim/core/api}/session_type.rb +0 -0
  142. data/lib/decidim/core/api/translated_field_type.rb +42 -0
  143. data/{app/types/decidim → lib/decidim/core/api}/user_group_type.rb +1 -1
  144. data/{app/types/decidim → lib/decidim/core/api}/user_type.rb +1 -1
  145. data/lib/decidim/core/engine.rb +7 -1
  146. data/lib/decidim/core/test.rb +1 -0
  147. data/lib/decidim/core/test/factories.rb +41 -8
  148. data/lib/decidim/core/test/shared_examples/localised_email.rb +24 -0
  149. data/lib/decidim/core/version.rb +1 -1
  150. data/lib/decidim/feature_manifest.rb +11 -0
  151. data/{app/validators → lib/decidim}/feature_validator.rb +1 -3
  152. data/lib/decidim/features/base_controller.rb +6 -1
  153. data/lib/decidim/form_builder.rb +166 -1
  154. data/lib/decidim/has_feature.rb +2 -1
  155. data/lib/decidim/resourceable.rb +26 -0
  156. data/vendor/assets/javascripts/morphdom.js +679 -0
  157. metadata +174 -49
  158. data/lib/decidim/has_attachment.rb +0 -32
@@ -4,8 +4,8 @@ es:
4
4
  user:
5
5
  email: Tu correo electrónico
6
6
  name: Tu nombre
7
- password: Nueva contraseña
8
- password_confirmation: Confirme su nueva contraseña
7
+ password: Contraseña
8
+ password_confirmation: Confirma tu contraseña
9
9
  user_group_document_number: Número de documento acreditativo
10
10
  user_group_name: Nombre de la Organización
11
11
  user_group_phone: Teléfono de la organización
@@ -17,6 +17,7 @@ es:
17
17
  name: Nombre de usuario
18
18
  password: Contraseña
19
19
  password_confirmation: Confirmación de contraseña
20
+ remember_me: Recuérdame
20
21
  user_group_document_number: Número de documento acreditativo
21
22
  user_group_name: Nombre de la Organización
22
23
  user_group_phone: Teléfono de la organización
@@ -32,9 +33,9 @@ es:
32
33
  change_password: Cambia la contraseña
33
34
  update_account: Actualizar cuenta
34
35
  update:
35
- error: Se ha producido un error al actualizar su cuenta.
36
- success: Su cuenta se ha actualizado correctamente.
37
- success_with_email_confirmation: Su cuenta se ha actualizado correctamente. Usted recibirá un correo electrónico para confirmar su nueva dirección de correo electrónico.
36
+ error: Se ha producido un error al actualizar tu cuenta.
37
+ success: Tu cuenta se ha actualizado correctamente.
38
+ success_with_email_confirmation: Tu cuenta se ha actualizado correctamente. Recibirás un correo electrónico para confirmar tu nueva dirección de correo electrónico.
38
39
  anonymous_user: Anónimo
39
40
  application:
40
41
  documents:
@@ -42,27 +43,32 @@ es:
42
43
  photos:
43
44
  related_photos: Fotos relacionadas
44
45
  authorization_handlers:
45
- decidim/dummy_authorization_handler: Autorización de ejemplo
46
+ decidim/dummy_authorization_handler:
47
+ fields:
48
+ document_number: Número de documento
49
+ postal_code: Código postal
50
+ name: ejemplo de autorización
46
51
  errors:
47
52
  duplicate_authorization: Un usuario ya está autorizado con los mismos datos.
53
+ foo_authorization:
54
+ fields:
55
+ bar: Bar
56
+ foo: Foo
57
+ name: Autorización foo
48
58
  authorizations:
49
59
  create:
50
60
  error: Se ha producido un error al crear la autorización.
51
61
  success: Has sido autorizado/a correctamente.
52
62
  current_participatory_processes: echar un vistazo a los procesos actuales
53
- destroy:
54
- success: Autorización destruida con éxito
55
63
  first_login:
56
64
  actions:
57
65
  decidim/dummy_authorization_handler: Verificar ejemplo autorización en contra de la
58
66
  title: Verifica tu identidad
59
67
  verify_with_these_options: 'Estas son las opciones disponibles para verificar su identidad:'
60
- index:
61
- authorization_confirm_destroy: '¿Está seguro de que quiere eliminar esta autorización?'
62
68
  new:
63
69
  authorize: Enviar
64
70
  authorize_with: Verificarme con %{authorizer}
65
- skip_verification: Puede saltarte este paso por ahora y %{link}
71
+ skip_verification: Puedes saltarte este paso por ahora y %{link}
66
72
  core:
67
73
  actions:
68
74
  unauthorized: No tienes permiso para realizar esta acción.
@@ -72,12 +78,13 @@ es:
72
78
  email_already_exists: Otra cuenta utiliza la misma dirección de correo electrónico
73
79
  new:
74
80
  complete_profile: Completar perfil
75
- sign_up: Complete su perfil
76
- subtitle: Por favor, rellene el siguiente formulario con el fin de completar la inscripción
81
+ sign_up: Por favor, completa tu perfil
82
+ subtitle: Por favor, rellena el siguiente formulario con el fin de completar la inscripción
77
83
  username_help: Nombre público que aparece en tus mensajes. Con el objetivo de garantizar el anonimato, puede ser cualquier nombre.
78
84
  registrations:
79
85
  new:
80
86
  already_have_an_account?: '¿Ya tienes una cuenta?'
87
+ newsletter_notifications: Recibir información sobre la actividad relevante
81
88
  sign_in: Entra
82
89
  sign_up: Regístrate
83
90
  sign_up_as:
@@ -95,13 +102,54 @@ es:
95
102
  shared:
96
103
  omniauth_buttons:
97
104
  or: O
105
+ features:
106
+ dummy:
107
+ actions:
108
+ bar: Bar
109
+ foo: Foo
110
+ name: Funcionalidad de prueba
111
+ settings:
112
+ global:
113
+ comments_enabled: Comentarios habilitados
114
+ dummy_global_attribute_1: Atributo de prueba 1
115
+ dummy_global_attribute_2: Atributo de prueba 2
116
+ step:
117
+ comments_blocked: Comentarios bloqueados
118
+ dummy_step_attribute_1: Atributo de fase de prueba 1
119
+ dummy_step_attribute_2: Atributo de fase de prueba 2
120
+ filters:
121
+ linked_classes:
122
+ all: Todas
123
+ meeting: Encuentros
124
+ project: Proyectos
125
+ proposal: Propuestas
126
+ result: Resultados
127
+ forms:
128
+ errors:
129
+ error: Hay un error en este campo.
98
130
  menu:
99
131
  home: Inicio
132
+ more_information: Más información
100
133
  processes: Procesos
134
+ newsletter_mailer:
135
+ newsletter:
136
+ note: Has recibido este mensaje porque estás suscrito a boletines de noticias en %{organization_name}. Puedes cambiar la configuración en tu <a href="%{link}">página de notificaciones</a>.
137
+ notifications_settings:
138
+ show:
139
+ comments_notifications: Quiero recibir notificaciones cuando alguien comenta en mis publicaciones.
140
+ newsletter_notifications: Quiero recibir información acerca de actividad relevante
141
+ replies_notifications: Quiero recibir notificaciones por correo electrónico cuando alguien responde a mis comentarios.
142
+ update_notifications_settings: Guardar cambios
143
+ update:
144
+ error: Ha habido un error al actualizar la configuración de las notificaciones.
145
+ success: La configuración de las notificaciones se han actualizado correctamente.
101
146
  own_user_groups:
102
147
  index:
103
148
  not_verified: No verificada
104
149
  verified: Verificada
150
+ pages:
151
+ index:
152
+ title: Más información
105
153
  participatory_process_steps:
106
154
  index:
107
155
  process_steps: Las fases de proceso
@@ -111,17 +159,40 @@ es:
111
159
  title: Procesos participativos
112
160
  show:
113
161
  developer_group: Grupo promotor
114
- domain: Dominio
115
162
  end_date: Fecha de finalización
163
+ local_area: Áreas muncipales
164
+ participatory_scope: Ámbito participativo
165
+ participatory_structure: Estructura participativa
116
166
  scope: Ámbito
167
+ target: '¿A quién va dirigido?'
117
168
  shared:
169
+ action_authorization_modal:
170
+ incomplete:
171
+ cancel: Cancelar
172
+ explanation: 'A pesar de que actualmente está autorizado con "%{authorization}", necesitamos que te vuelvas a autorizar porque carecemos de los datos siguientes:'
173
+ reauthorize: Reautorizarse
174
+ title: Por favor, re-autorízate
175
+ missing:
176
+ authorize: Autorizar con "%{authorization}"
177
+ explanation: Para llevar a cabo esta acción, tiene que disponer de la autorización "%{authorization}".
178
+ title: Autorización requerida
179
+ unauthorized:
180
+ explanation: No puedes realizar esta acción ya que algunos de los datos de autorización no son los requeridos.
181
+ invalid: "%{field} no es válido."
182
+ ok: De acuerdo
183
+ title: No autorizado
118
184
  login_modal:
119
- please_sign_in: Por favor, regístrese
120
- sign_up: Regístrese
185
+ please_sign_in: Por favor, regístrate
186
+ sign_up: Regístrate
187
+ share_modal:
188
+ close_window: Cerrar ventana
189
+ share: Compartir
190
+ share_link: Compartir enlace
121
191
  devise:
122
192
  invitations:
123
193
  edit:
124
194
  header: Escribe tu contraseña
195
+ submit_button: Guardar
125
196
  mailer:
126
197
  invitation_instructions:
127
198
  accept: Aceptar invitación
@@ -145,9 +216,21 @@ es:
145
216
  file_size_is_less_than_or_equal_to: el tamaño del archivo debe ser menor que o igual a %{count}
146
217
  invalid_manifest: Manifiesto inválido
147
218
  invalid_participatory_process: Proceso participativo inválido
219
+ long_words: Contiene palabras que son demasiado largas
220
+ must_start_with_caps: Debe comenzar con mayúsculas
148
221
  nesting_too_deep: no puede estar dentro de una subcategoría
222
+ too_many_marks: Está utilizando demasiados símbolos de interrogación o exclamación
223
+ too_much_caps: Está usando demasiadas mayúsculas
224
+ too_short: Es demasiado corto
225
+ invisible_captcha:
226
+ sentence_for_humans: Si eres humano, ignora este campo
227
+ timestamp_error_message: Lo siento, has sido demasiado rápido! Por favor, vuelva a enviar.
149
228
  layouts:
150
229
  decidim:
230
+ cookie_warning:
231
+ description_html: Este sitio web utiliza cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y servicios de interés. Al continuar la navegación entendemos que se acepta nuestra política de cookies. Para más información consulta %{link}.
232
+ link_label: aquí
233
+ ok: Estoy de acuerdo
151
234
  footer:
152
235
  made_with_open_source: 'Esta web está hecha con <a target="_blank" href="https://github.com/AjuntamentdeBarcelona/decidim">software libre</a>.'
153
236
  header:
@@ -184,12 +267,11 @@ es:
184
267
  user_profile:
185
268
  account: Cuenta
186
269
  authorizations: Autorizaciones
270
+ notifications_settings: Configuracion de notificaciones
187
271
  title: Ajustes de usuario
188
272
  user_groups: Organizaciones
189
- locales:
190
- ca: Català
191
- en: English
192
- es: Castellano
273
+ locale:
274
+ name: Castellano
193
275
  pages:
194
276
  '404':
195
277
  back_home: Volver al inicio
@@ -208,12 +290,16 @@ es:
208
290
  more_info: Más información
209
291
  proposals: Propuestas
210
292
  proposals_explanation: Espacio abierto de propuestas de los ciudadanos sobre en qué tipo de ciudad queremos vivir.
293
+ footer_sub_hero:
294
+ footer_sub_hero_body: Construyamos una sociedad más abierta, transparente y colaborativa. <br /> Únete, participa y decide.
295
+ footer_sub_hero_headline: Bienvenido a la plataforma participativa %{organization}.
296
+ register: Regístrate
211
297
  hero:
212
- register: Registro
298
+ participate: Participar
213
299
  welcome: Bienvenido a %{organization}!
214
300
  highlighted_processes:
215
301
  active_step: Fase activa
216
- highlighted_processes: Procesos destacados
302
+ processes_ending_soon: Procesos que terminan pronto
217
303
  see_all_processes: Ver todos los procesos
218
304
  statistics:
219
305
  headline: Estado actual de %{organization}
@@ -221,6 +307,26 @@ es:
221
307
  users: Usuarios
222
308
  sub_hero:
223
309
  register: Registro
310
+ social_share_button:
311
+ delicious: Delicious
312
+ douban: Douban
313
+ email: Correo electrónico
314
+ facebook: Facebook
315
+ google_bookmark: Google Bookmark
316
+ google_plus: Google+
317
+ hacker_news: Hacker News
318
+ linkedin: LinkedIn
319
+ pinterest: Pinterest
320
+ qq: Qzone
321
+ reddit: Reddit
322
+ share_to: Compartir a %{name}
323
+ tumblr: Tumblr
324
+ twitter: Twitter
325
+ vkontakte: Vkontakte
326
+ wechat: WeChat
327
+ wechat_footer: Abra su WeChat, haga clic en el botón "Discover" y luego haga clic en el menú "Escanear código QR".
328
+ weibo: Sina Weibo
329
+ xing: Xing
224
330
  views:
225
331
  pagination:
226
332
  first: "&laquo; Primera"
@@ -0,0 +1,5 @@
1
+ eu:
2
+ activemodel:
3
+ attributes:
4
+ user:
5
+ email: Zure emaila
@@ -20,11 +20,12 @@ Decidim::Core::Engine.routes.draw do
20
20
  end
21
21
 
22
22
  resource :locale, only: [:create]
23
- resources :participatory_processes, only: [:index, :show] do
24
- resources :participatory_process_steps, only: [:index]
23
+
24
+ resources :participatory_processes, only: [:index, :show], path: "processes" do
25
+ resources :participatory_process_steps, only: [:index], path: "steps"
25
26
  end
26
27
 
27
- scope "/participatory_processes/:participatory_process_id/features/:feature_id" do
28
+ scope "/processes/:participatory_process_id/f/:feature_id" do
28
29
  Decidim.feature_manifests.each do |manifest|
29
30
  next unless manifest.engine
30
31
 
@@ -37,19 +38,26 @@ Decidim::Core::Engine.routes.draw do
37
38
  end
38
39
 
39
40
  authenticate(:user) do
40
- resources :authorizations, only: [:new, :create, :destroy, :index] do
41
+ resources :authorizations, only: [:new, :create, :index] do
41
42
  collection do
42
43
  get :first_login
43
44
  end
44
45
  end
45
46
  resource :account, only: [:show, :update], controller: "account"
47
+ resource :notifications_settings, only: [:show, :update], controller: "notifications_settings"
46
48
  resources :own_user_groups, only: [:index]
47
49
  end
48
50
 
49
- get "/pages/*id" => "pages#show", as: :page, format: false
51
+ resources :pages, only: [:index, :show], format: false
52
+
53
+ get "/cookies/accept", to: "cookie_policy#accept", as: :accept_cookies
50
54
 
51
55
  match "/404", to: "pages#show", id: "404", via: :all
52
56
  match "/500", to: "pages#show", id: "500", via: :all
53
57
 
58
+ if Rails.env.development? && defined?(LetterOpenerWeb::Engine)
59
+ mount LetterOpenerWeb::Engine, at: "/letter_opener"
60
+ end
61
+
54
62
  root to: "pages#show", id: "home"
55
63
  end
@@ -0,0 +1,5 @@
1
+ class AddActionPermissionsToDecidimFeatures < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_features, :permissions, :jsonb
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddCommentsAndRepliesNotificationsToUsers < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_users, :comments_notifications, :boolean, null: false, default: false
4
+ add_column :decidim_users, :replies_notifications, :boolean, null: false, default: false
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddNewsletterNotificationsToUsers < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_users, :newsletter_notifications, :boolean, null: false, default: false
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class RenameExtraInfoOnProcesses < ActiveRecord::Migration[5.0]
2
+ def change
3
+ remove_column :decidim_participatory_processes, :developer_group
4
+
5
+ rename_column :decidim_participatory_processes, :domain, :developer_group
6
+
7
+ add_column :decidim_participatory_processes, :local_area, :jsonb
8
+ add_column :decidim_participatory_processes, :target, :jsonb
9
+ add_column :decidim_participatory_processes, :participatory_scope, :jsonb
10
+ add_column :decidim_participatory_processes, :participatory_structure, :jsonb
11
+ end
12
+ end
@@ -0,0 +1,6 @@
1
+ class AddPublishedAtToDecidimFeatures < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_features, :published_at, :datetime
4
+ execute "UPDATE decidim_features SET published_at=#{ActiveRecord::Base.connection.quote(Time.current)}"
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ class AddSocialMediaHandlersToOrganization < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_organizations, :instagram_handler, :string
4
+ add_column :decidim_organizations, :facebook_handler, :string
5
+ add_column :decidim_organizations, :youtube_handler, :string
6
+ add_column :decidim_organizations, :github_handler, :string
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ class AddOrganizationLogoAndUrl < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :decidim_organizations, :official_img_header, :string
4
+ add_column :decidim_organizations, :official_img_footer, :string
5
+ add_column :decidim_organizations, :official_url, :string
6
+ end
7
+ end
@@ -0,0 +1,15 @@
1
+ class CreateDecidimNewsletters < ActiveRecord::Migration[5.0]
2
+ def change
3
+ create_table :decidim_newsletters do |t|
4
+ t.jsonb :subject
5
+ t.jsonb :body
6
+ t.references :organization
7
+ t.references :author, foreign_key: { to_table: :decidim_users }
8
+ t.integer :total_recipients
9
+ t.integer :total_deliveries
10
+ t.datetime :sent_at
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -5,6 +5,10 @@ if !Rails.env.production? || ENV["SEED"]
5
5
  organization = Decidim::Organization.create!(
6
6
  name: Faker::Company.name,
7
7
  twitter_handler: Faker::Hipster.word,
8
+ facebook_handler: Faker::Hipster.word,
9
+ instagram_handler: Faker::Hipster.word,
10
+ youtube_handler: Faker::Hipster.word,
11
+ github_handler: Faker::Hipster.word,
8
12
  host: ENV["DECIDIM_HOST"] || "localhost",
9
13
  welcome_text: Decidim::Faker::Localized.sentence(5),
10
14
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
@@ -31,7 +35,23 @@ if !Rails.env.production? || ENV["SEED"]
31
35
  confirmed_at: Time.current,
32
36
  locale: I18n.default_locale,
33
37
  roles: ["admin"],
34
- tos_agreement: true
38
+ tos_agreement: true,
39
+ comments_notifications: true,
40
+ replies_notifications: true
41
+ )
42
+
43
+ Decidim::User.create!(
44
+ name: Faker::Name.name,
45
+ email: "collaborator@decidim.org",
46
+ password: "decidim123456",
47
+ password_confirmation: "decidim123456",
48
+ organization: organization,
49
+ confirmed_at: Time.current,
50
+ locale: I18n.default_locale,
51
+ roles: ["collaborator"],
52
+ tos_agreement: true,
53
+ comments_notifications: true,
54
+ replies_notifications: true
35
55
  )
36
56
 
37
57
  Decidim::User.create!(
@@ -42,7 +62,9 @@ if !Rails.env.production? || ENV["SEED"]
42
62
  confirmed_at: Time.current,
43
63
  locale: I18n.default_locale,
44
64
  organization: organization,
45
- tos_agreement: true
65
+ tos_agreement: true,
66
+ comments_notifications: true,
67
+ replies_notifications: true
46
68
  )
47
69
 
48
70
  3.times do
@@ -91,8 +113,11 @@ if !Rails.env.production? || ENV["SEED"]
91
113
  published_at: 2.weeks.ago,
92
114
  organization: organization,
93
115
  scope: Decidim::Faker::Localized.word,
94
- domain: Decidim::Faker::Localized.word,
95
- developer_group: Faker::Company.name,
116
+ developer_group: Decidim::Faker::Localized.sentence(1),
117
+ local_area: Decidim::Faker::Localized.sentence(2),
118
+ target: Decidim::Faker::Localized.sentence(3),
119
+ participatory_scope: Decidim::Faker::Localized.sentence(1),
120
+ participatory_structure: Decidim::Faker::Localized.sentence(2),
96
121
  end_date: 2.month.from_now.at_midnight
97
122
  )
98
123
  end