decidim-participatory_processes 0.20.1 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/participatory_processes/admin/participatory_processes.js.es6 +6 -0
  3. data/app/cells/decidim/participatory_processes/statistic/show.erb +9 -0
  4. data/app/cells/decidim/participatory_processes/statistic_cell.rb +20 -0
  5. data/app/cells/decidim/participatory_processes/statistics/show.erb +17 -0
  6. data/app/cells/decidim/participatory_processes/statistics_cell.rb +18 -0
  7. data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +13 -3
  8. data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +16 -5
  9. data/app/controllers/concerns/decidim/participatory_processes/admin/filterable.rb +27 -0
  10. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +6 -16
  11. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +17 -3
  12. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +13 -0
  13. data/app/functions/decidim/participatory_processes/participatory_process_finder.rb +10 -0
  14. data/app/functions/decidim/participatory_processes/participatory_process_list.rb +11 -0
  15. data/app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb +23 -0
  16. data/app/models/decidim/participatory_process.rb +12 -1
  17. data/app/models/decidim/participatory_process_user_role.rb +32 -0
  18. data/app/permissions/decidim/participatory_processes/permissions.rb +9 -0
  19. data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +32 -22
  20. data/app/queries/decidim/participatory_processes/stats_followers_count.rb +46 -0
  21. data/app/queries/decidim/participatory_processes/stats_participants_count.rb +98 -0
  22. data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +2 -0
  23. data/app/serializers/decidim/participatory_processes/participatory_process_serializer.rb +1 -0
  24. data/app/types/decidim/participatory_processes/participatory_process_group_type.rb +20 -0
  25. data/app/types/decidim/participatory_processes/participatory_process_input_filter.rb +13 -0
  26. data/app/types/decidim/participatory_processes/participatory_process_input_sort.rb +15 -0
  27. data/app/types/decidim/participatory_processes/participatory_process_step_type.rb +7 -4
  28. data/app/types/decidim/participatory_processes/participatory_process_type.rb +8 -4
  29. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +31 -0
  30. data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +18 -15
  31. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +1 -1
  32. data/app/views/decidim/participatory_processes/participatory_processes/{statistics.html.erb → all_metrics.html.erb} +0 -0
  33. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +15 -1
  34. data/app/views/layouts/decidim/_process_navigation.html.erb +1 -1
  35. data/app/views/layouts/decidim/admin/participatory_process.html.erb +2 -2
  36. data/config/locales/ar.yml +9 -4
  37. data/config/locales/ca.yml +15 -5
  38. data/config/locales/cs.yml +15 -5
  39. data/config/locales/de.yml +6 -4
  40. data/config/locales/el.yml +1 -0
  41. data/config/locales/en.yml +15 -5
  42. data/config/locales/es-MX.yml +14 -4
  43. data/config/locales/es-PY.yml +14 -4
  44. data/config/locales/es.yml +15 -5
  45. data/config/locales/eu.yml +6 -4
  46. data/config/locales/fi-plain.yml +14 -4
  47. data/config/locales/fi.yml +14 -4
  48. data/config/locales/fr.yml +6 -4
  49. data/config/locales/gl.yml +6 -4
  50. data/config/locales/hu.yml +14 -4
  51. data/config/locales/id-ID.yml +6 -4
  52. data/config/locales/is-IS.yml +4 -0
  53. data/config/locales/it.yml +6 -4
  54. data/config/locales/nl.yml +6 -4
  55. data/config/locales/no.yml +11 -4
  56. data/config/locales/pl.yml +6 -4
  57. data/config/locales/pt-BR.yml +6 -4
  58. data/config/locales/pt.yml +6 -4
  59. data/config/locales/ru.yml +5 -3
  60. data/config/locales/sv.yml +6 -4
  61. data/config/locales/tr-TR.yml +6 -4
  62. data/config/locales/uk.yml +5 -3
  63. data/db/migrate/20200114142253_add_scope_type_to_participatory_processes.rb +7 -0
  64. data/db/migrate/20200204154917_add_show_metrics_to_participatory_processes.rb +7 -0
  65. data/lib/decidim/participatory_processes/engine.rb +21 -4
  66. data/lib/decidim/participatory_processes/participatory_space.rb +6 -0
  67. data/lib/decidim/participatory_processes/query_extensions.rb +40 -0
  68. data/lib/decidim/participatory_processes/test/factories.rb +20 -0
  69. data/lib/decidim/participatory_processes/version.rb +1 -1
  70. metadata +27 -11
  71. data/app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb +0 -17
  72. data/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +0 -10
@@ -22,6 +22,7 @@ pl:
22
22
  participatory_structure: Jak to się decyduje
23
23
  promoted: Lansowany
24
24
  published_at: Opublikowano na
25
+ related_process_ids: Powiązane procesy
25
26
  scope_id: Zakres
26
27
  scopes_enabled: Zakresy włączone
27
28
  short_description: Krótki opis
@@ -78,7 +79,7 @@ pl:
78
79
  duplicate: Duplikat
79
80
  edit: Edytuj
80
81
  filter:
81
- all: Pokaż wszystkie procesy
82
+ all_processes: Pokaż wszystkie procesy
82
83
  process_groups: Grupy procesowe
83
84
  new_process: Nowy proces
84
85
  new_process_group: Nowa grupa procesów
@@ -193,13 +194,11 @@ pl:
193
194
  destroy:
194
195
  success: Użytkownik usunięty pomyślnie z tego procesu uczestnictwa.
195
196
  edit:
196
- title: Zaktualizuj uczestniczącego użytkownika procesu.
197
197
  update: Aktualizuj
198
198
  index:
199
199
  process_admins_title: Uczestniczący użytkownicy procesu
200
200
  new:
201
201
  create: Utwórz
202
- title: Nowy użytkownik procesu partycypacyjnego.
203
202
  update:
204
203
  error: Wystąpił błąd podczas aktualizacji użytkownika dla tego procesu uczestnictwa.
205
204
  success: Użytkownik zaktualizował się pomyślnie dla tego procesu partycypacyjnego.
@@ -307,6 +306,7 @@ pl:
307
306
  images: Obrazy
308
307
  metadata: Metadane
309
308
  other: Inny
309
+ related_processes: Powiązane procesy
310
310
  select_an_area: Wybierz obszar
311
311
  select_process_group: Wybierz grupę procesów
312
312
  slug_help: 'Ślimaki URL służą do generowania adresów URL wskazujących ten proces. Akceptuje tylko litery, cyfry i myślniki i musi zaczynać się od litery. Przykład: %{url}'
@@ -370,6 +370,7 @@ pl:
370
370
  participatory_scope: Co jest zdecydowane
371
371
  participatory_structure: Jak to się stało
372
372
  private_space: To jest prywatny proces
373
+ related_processes: Powiązane procesy
373
374
  scope: Zakres
374
375
  start_date: Data rozpoczęcia
375
376
  target: Kto uczestniczy
@@ -383,13 +384,14 @@ pl:
383
384
  meetings_count: Spotkania
384
385
  orders_count: Głosowania
385
386
  pages_count: Strony
387
+ participants_count: Uczestnicy
386
388
  processes_count: Procesy
387
389
  projects_count: Projekty
388
390
  proposals_count: Propozycje
389
391
  results_count: Wyniki
392
+ supports_count: Głosowania
390
393
  surveys_count: Ankiety
391
394
  users_count: Uczestnicy
392
- votes_count: Głosowania
393
395
  layouts:
394
396
  decidim:
395
397
  participatory_process_groups:
@@ -22,6 +22,7 @@ pt-BR:
22
22
  participatory_structure: Como é decidido
23
23
  promoted: Destacado
24
24
  published_at: Publicado em
25
+ related_process_ids: Processos relacionados
25
26
  scope_id: Âmbito
26
27
  scopes_enabled: Âmbitos ativados
27
28
  short_description: Descrição curta
@@ -72,7 +73,7 @@ pt-BR:
72
73
  duplicate: Duplicar
73
74
  edit: Editar
74
75
  filter:
75
- all: Mostrar todos os processos
76
+ all_processes: Mostrar todos os processos
76
77
  process_groups: Grupos de Processos
77
78
  new_process: Novo processo
78
79
  new_process_group: Novo grupo de processos
@@ -187,13 +188,11 @@ pt-BR:
187
188
  destroy:
188
189
  success: Usuário removido com sucesso deste processo participativo.
189
190
  edit:
190
- title: Atualize o usuário do processo participativo.
191
191
  update: Atualizar
192
192
  index:
193
193
  process_admins_title: Usuários do processo participativo
194
194
  new:
195
195
  create: Criar
196
- title: Novo usuário do processo participativo.
197
196
  update:
198
197
  error: Ocorreu um erro ao atualizar um usuário para esse processo participativo.
199
198
  success: Usuário atualizado com sucesso para este processo participativo.
@@ -299,6 +298,7 @@ pt-BR:
299
298
  images: Imagens
300
299
  metadata: Metadados
301
300
  other: De outros
301
+ related_processes: Processos relacionados
302
302
  select_an_area: Selecione uma área
303
303
  select_process_group: Selecione um grupo de processos
304
304
  slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}'
@@ -354,6 +354,7 @@ pt-BR:
354
354
  participatory_scope: O que é decidido
355
355
  participatory_structure: Como é decidido
356
356
  private_space: Este é um processo privado
357
+ related_processes: Processos relacionados
357
358
  scope: Âmbito
358
359
  start_date: Data de início
359
360
  target: Quem participa
@@ -367,13 +368,14 @@ pt-BR:
367
368
  meetings_count: Reuniões
368
369
  orders_count: Votos
369
370
  pages_count: Páginas
371
+ participants_count: Participantes
370
372
  processes_count: Processos
371
373
  projects_count: Projetos
372
374
  proposals_count: Propostas
373
375
  results_count: Resultados
376
+ supports_count: Votos
374
377
  surveys_count: pesquisas
375
378
  users_count: Participantes
376
- votes_count: Votos
377
379
  layouts:
378
380
  decidim:
379
381
  participatory_process_groups:
@@ -22,6 +22,7 @@ pt:
22
22
  participatory_structure: Como é decidido
23
23
  promoted: Destacado
24
24
  published_at: Publicado em
25
+ related_process_ids: Processos relacionados
25
26
  scope_id: Âmbito
26
27
  scopes_enabled: Âmbitos ativados
27
28
  short_description: Pequena descrição
@@ -72,7 +73,7 @@ pt:
72
73
  duplicate: Duplicar
73
74
  edit: Editar
74
75
  filter:
75
- all: Mostrar todos os processos
76
+ all_processes: Mostrar todos os processos
76
77
  process_groups: Grupos de Processos
77
78
  new_process: Novo processo
78
79
  new_process_group: Novo grupo de processos
@@ -187,13 +188,11 @@ pt:
187
188
  destroy:
188
189
  success: Usuário removido com sucesso deste processo participativo.
189
190
  edit:
190
- title: Atualize o usuário do processo participativo.
191
191
  update: Atualizar
192
192
  index:
193
193
  process_admins_title: Usuários do processo participativo
194
194
  new:
195
195
  create: Criar
196
- title: Novo usuário do processo participativo.
197
196
  update:
198
197
  error: Ocorreu um erro ao atualizar um usuário para esse processo participativo.
199
198
  success: Usuário atualizado com sucesso para este processo participativo.
@@ -299,6 +298,7 @@ pt:
299
298
  images: Imagens
300
299
  metadata: Metadados
301
300
  other: De outros
301
+ related_processes: Processos relacionados
302
302
  select_an_area: Selecione uma área
303
303
  select_process_group: Selecione um grupo de processos
304
304
  slug_help: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para esse processo. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}'
@@ -354,6 +354,7 @@ pt:
354
354
  participatory_scope: O que é decidido
355
355
  participatory_structure: Como é decidido
356
356
  private_space: Este é um processo privado
357
+ related_processes: Processos relacionados
357
358
  scope: Âmbito
358
359
  start_date: Data de início
359
360
  target: Quem participa
@@ -367,13 +368,14 @@ pt:
367
368
  meetings_count: Reuniões
368
369
  orders_count: Votos
369
370
  pages_count: Páginas
371
+ participants_count: Participantes
370
372
  processes_count: Processos
371
373
  projects_count: Projetos
372
374
  proposals_count: Propostas
373
375
  results_count: Resultados
376
+ supports_count: Votos
374
377
  surveys_count: pesquisas
375
378
  users_count: Participantes
376
- votes_count: Votos
377
379
  layouts:
378
380
  decidim:
379
381
  participatory_process_groups:
@@ -20,6 +20,7 @@ ru:
20
20
  participatory_structure: Как это решается
21
21
  promoted: Рекомендуется
22
22
  published_at: 'Обнародовано:'
23
+ related_process_ids: Подобные движения
23
24
  scope_id: Охват
24
25
  scopes_enabled: Охваты включены
25
26
  short_description: Краткое описание
@@ -186,13 +187,11 @@ ru:
186
187
  destroy:
187
188
  success: Успешно удален участник этого движения соучастия.
188
189
  edit:
189
- title: Обновить участника движения соучастия.
190
190
  update: Обновить
191
191
  index:
192
192
  process_admins_title: Участники движения соучастия
193
193
  new:
194
194
  create: Создать
195
- title: Добавить участника движения соучастия.
196
195
  update:
197
196
  error: При попытке обновить участника этого движения соучастия произошла ошибка.
198
197
  success: Успешно обновлен участник этого движения соучастия.
@@ -277,6 +276,7 @@ ru:
277
276
  participatory_processes:
278
277
  form:
279
278
  announcement_help: Текст, который вы введете здесь, будет показан участнику прямо под описанием движения.
279
+ related_processes: Подобные движения
280
280
  slug_help: 'Сокращенные веб-адреса используются для создания ссылок на это движение. В них допустимы только буквы, цифры и тире, и они должны начинаться с буквы. Пример: %{url}'
281
281
  title: Общие сведения
282
282
  content_blocks:
@@ -334,6 +334,7 @@ ru:
334
334
  participatory_scope: Что решается
335
335
  participatory_structure: Как это решается
336
336
  private_space: Это частное движение
337
+ related_processes: Подобные движения
337
338
  scope: Охват
338
339
  start_date: Дата начала
339
340
  target: Кто участвует
@@ -347,13 +348,14 @@ ru:
347
348
  meetings_count: Встреч
348
349
  orders_count: Голосов
349
350
  pages_count: Страниц
351
+ participants_count: Участников
350
352
  processes_count: Движений
351
353
  projects_count: Проектов
352
354
  proposals_count: Предложений
353
355
  results_count: Итогов
356
+ supports_count: Голосов
354
357
  surveys_count: Опросов
355
358
  users_count: Участников
356
- votes_count: Голосов
357
359
  layouts:
358
360
  decidim:
359
361
  participatory_process_groups:
@@ -22,6 +22,7 @@ sv:
22
22
  participatory_structure: Hur det bestäms
23
23
  promoted: Annonserad
24
24
  published_at: Publicerad
25
+ related_process_ids: Relaterade processer
25
26
  scope_id: Omfång
26
27
  scopes_enabled: Omfång aktiverade
27
28
  short_description: Kort beskrivning
@@ -72,7 +73,7 @@ sv:
72
73
  duplicate: Duplicera
73
74
  edit: Redigera
74
75
  filter:
75
- all: Visa alla processer
76
+ all_processes: Visa alla processer
76
77
  process_groups: Processgrupper
77
78
  import_process: Importera
78
79
  new_process: Ny process
@@ -193,13 +194,11 @@ sv:
193
194
  destroy:
194
195
  success: Administratören togs bort från deltagarprocessen.
195
196
  edit:
196
- title: Uppdatera administratören för deltagarprocessen.
197
197
  update: Uppdatera
198
198
  index:
199
199
  process_admins_title: Administratörer för deltagarprocessen
200
200
  new:
201
201
  create: Skapa
202
- title: Ny administratör för deltagarprocess.
203
202
  update:
204
203
  error: Det gick inte att uppdatera administratören för deltagarprocessen.
205
204
  success: Administratören har uppdaterats för deltagarprocessen.
@@ -309,6 +308,7 @@ sv:
309
308
  images: Bilder
310
309
  metadata: Metadata
311
310
  other: Andra
311
+ related_processes: Relaterade processer
312
312
  select_an_area: Välj ett område
313
313
  select_process_group: Välj en processgrupp
314
314
  slug_help: 'URL-slugs används till att generera de URL:er som pekar på processen. Använd bara bokstäver, siffror och bindestreck, och de måste börja med en bokstav. Exempel: %{url}'
@@ -364,6 +364,7 @@ sv:
364
364
  participatory_scope: Vad som bestäms
365
365
  participatory_structure: Hur bestäms det
366
366
  private_space: Detta är en privat process
367
+ related_processes: Relaterade processer
367
368
  scope: Omfång
368
369
  start_date: Startdatum
369
370
  target: Vilka deltar
@@ -377,13 +378,14 @@ sv:
377
378
  meetings_count: Möten
378
379
  orders_count: Röster
379
380
  pages_count: Sidor
381
+ participants_count: Deltagare
380
382
  processes_count: Processer
381
383
  projects_count: Projekt
382
384
  proposals_count: Förslag
383
385
  results_count: Resultat
386
+ supports_count: Röster
384
387
  surveys_count: Undersökningar
385
388
  users_count: Deltagare
386
- votes_count: Röster
387
389
  layouts:
388
390
  decidim:
389
391
  participatory_process_groups:
@@ -22,6 +22,7 @@ tr:
22
22
  participatory_structure: Nasıl karar verilir
23
23
  promoted: Tanıtılan
24
24
  published_at: Yayınlandı
25
+ related_process_ids: İlgili süreçler
25
26
  scope_id: kapsam
26
27
  scopes_enabled: Kapsamlar etkin
27
28
  short_description: Kısa Açıklama
@@ -72,7 +73,7 @@ tr:
72
73
  duplicate: Çift
73
74
  edit: Düzenle
74
75
  filter:
75
- all: Tüm işlemleri göster
76
+ all_processes: Tüm işlemleri göster
76
77
  process_groups: İşlem Grupları
77
78
  new_process: Yeni süreç
78
79
  new_process_group: Yeni işlem grubu
@@ -187,13 +188,11 @@ tr:
187
188
  destroy:
188
189
  success: Kullanıcı bu katılımcı işlemden başarıyla kaldırıldı.
189
190
  edit:
190
- title: Katılımcı süreç kullanıcısını güncelleyin.
191
191
  update: Güncelleştirme
192
192
  index:
193
193
  process_admins_title: Katılımcı süreç kullanıcıları
194
194
  new:
195
195
  create: yaratmak
196
- title: Yeni katılımcı süreç kullanıcısı.
197
196
  update:
198
197
  error: Bu katılımcı işlem için bir kullanıcı güncellendi bir hata oluştu.
199
198
  success: Kullanıcı bu katılımcı süreç için başarıyla güncellendi.
@@ -299,6 +298,7 @@ tr:
299
298
  images: Görüntüler
300
299
  metadata: Meta veri
301
300
  other: Diğer
301
+ related_processes: İlgili süreçler
302
302
  select_an_area: Bir alan seçin
303
303
  select_process_group: Bir işlem grubu seçin
304
304
  slug_help: 'URL sümükleri, bu işleme işaret eden URL''leri oluşturmak için kullanılır. Sadece harfleri, sayıları ve kısa çizgileri kabul eder ve bir harfle başlamalıdır. Örnek: %{url}'
@@ -354,6 +354,7 @@ tr:
354
354
  participatory_scope: Karar nedir
355
355
  participatory_structure: Nasıl karar verilir
356
356
  private_space: Bu özel bir süreç
357
+ related_processes: İlgili süreçler
357
358
  scope: kapsam
358
359
  start_date: Başlangıç tarihi
359
360
  target: Kimler katılır
@@ -367,13 +368,14 @@ tr:
367
368
  meetings_count: Toplantılar
368
369
  orders_count: oy
369
370
  pages_count: Sayfalar
371
+ participants_count: Katılımcılar
370
372
  processes_count: Süreçler
371
373
  projects_count: Projeler
372
374
  proposals_count: Teklif
373
375
  results_count: Sonuçlar
376
+ supports_count: oy
374
377
  surveys_count: Anketler
375
378
  users_count: Katılımcılar
376
- votes_count: oy
377
379
  layouts:
378
380
  decidim:
379
381
  participatory_process_groups:
@@ -20,6 +20,7 @@ uk:
20
20
  participatory_structure: Як це вирішується
21
21
  promoted: Висвітлено
22
22
  published_at: 'Оприлюднено:'
23
+ related_process_ids: Супутні рухи
23
24
  scope_id: Обсяг
24
25
  scopes_enabled: Обсяги увімкнено
25
26
  short_description: Стислий опис
@@ -186,13 +187,11 @@ uk:
186
187
  destroy:
187
188
  success: З цього руху співучасті успішно видалено учасника.
188
189
  edit:
189
- title: Оновити учасника руху співучасті.
190
190
  update: Оновити
191
191
  index:
192
192
  process_admins_title: Учасники руху співучасті
193
193
  new:
194
194
  create: Додати
195
- title: Додати учасника руху співучасті.
196
195
  update:
197
196
  error: При спробі оновити учасника цього руху співучасті сталася помилка.
198
197
  success: Учасника цього руху співучасті успішно оновлено.
@@ -277,6 +276,7 @@ uk:
277
276
  participatory_processes:
278
277
  form:
279
278
  announcement_help: Текст, який ви введете тут, буде показано учаснику трохи нижче опису руху.
279
+ related_processes: Супутні рухи
280
280
  slug_help: 'Cкорочені веб-адреси використовуються для створення посилань на цей рух. В них припустимі лише букви, цифри та тире, і вони мають починатися з букви. Приклад: %{url}'
281
281
  title: Загальні відомості
282
282
  content_blocks:
@@ -334,6 +334,7 @@ uk:
334
334
  participatory_scope: Що вирішується
335
335
  participatory_structure: Як це вирішується
336
336
  private_space: Це приватний рух
337
+ related_processes: Супутні рухи
337
338
  scope: Обсяг
338
339
  start_date: Дата початку
339
340
  target: Хто бере участь
@@ -347,13 +348,14 @@ uk:
347
348
  meetings_count: Зустрічей
348
349
  orders_count: Голосів
349
350
  pages_count: Сторінок
351
+ participants_count: Учасників
350
352
  processes_count: Рухів
351
353
  projects_count: Проектів
352
354
  proposals_count: Пропозицій
353
355
  results_count: Підсумків
356
+ supports_count: Голосів
354
357
  surveys_count: Опитувань
355
358
  users_count: Учасників
356
- votes_count: Голосів
357
359
  layouts:
358
360
  decidim:
359
361
  participatory_process_groups:
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddScopeTypeToParticipatoryProcesses < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_reference :decidim_participatory_processes, :decidim_scope_type, foreign_key: true, index: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddShowMetricsToParticipatoryProcesses < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_participatory_processes, :show_metrics, :boolean, default: true
6
+ end
7
+ end
@@ -4,6 +4,7 @@ require "rails"
4
4
  require "active_support/all"
5
5
 
6
6
  require "decidim/core"
7
+ require "decidim/participatory_processes/query_extensions"
7
8
 
8
9
  module Decidim
9
10
  module ParticipatoryProcesses
@@ -22,14 +23,14 @@ module Decidim
22
23
  process ? "/processes/#{process.slug}/f/#{params[:component_id]}" : "/404"
23
24
  }, constraints: { process_id: /[0-9]+/ }
24
25
 
25
- get "processes/:process_id/statistics", to: redirect { |params, _request|
26
+ get "processes/:process_id/all-metrics", to: redirect { |params, _request|
26
27
  process = Decidim::ParticipatoryProcess.find(params[:process_id])
27
- process ? "/processes/#{process.slug}/statistics" : "/404"
28
- }, constraints: { process_id: /[0-9]+/ }, as: :statistics
28
+ process ? "/processes/#{process.slug}/all-metrics" : "/404"
29
+ }, constraints: { process_id: /[0-9]+/ }, as: :all_metrics
29
30
 
30
31
  resources :participatory_process_groups, only: :show, path: "processes_groups"
31
32
  resources :participatory_processes, only: [:index, :show], param: :slug, path: "processes" do
32
- get :statistics, on: :member
33
+ get "all-metrics", on: :member
33
34
  resources :participatory_process_steps, only: [:index], path: "steps"
34
35
  resource :participatory_process_widget, only: :show, path: "embed"
35
36
  end
@@ -49,6 +50,12 @@ module Decidim
49
50
  app.config.assets.precompile += %w(decidim_participatory_processes_manifest.js)
50
51
  end
51
52
 
53
+ initializer "decidim_participatory_processes.query_extensions" do
54
+ Decidim::Api::QueryType.define do
55
+ QueryExtensions.define(self)
56
+ end
57
+ end
58
+
52
59
  initializer "decidim_participatory_processes.add_cells_view_paths" do
53
60
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::ParticipatoryProcesses::Engine.root}/app/cells")
54
61
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::ParticipatoryProcesses::Engine.root}/app/views") # for partials
@@ -76,6 +83,16 @@ module Decidim
76
83
  end
77
84
  end
78
85
 
86
+ initializer "decidim_participatory_processes.stats" do
87
+ Decidim.stats.register :followers_count, priority: StatsRegistry::HIGH_PRIORITY do |participatory_process|
88
+ Decidim::ParticipatoryProcesses::StatsFollowersCount.for(participatory_process)
89
+ end
90
+
91
+ Decidim.stats.register :participants_count, priority: StatsRegistry::HIGH_PRIORITY do |participatory_process|
92
+ Decidim::ParticipatoryProcesses::StatsParticipantsCount.for(participatory_process)
93
+ end
94
+ end
95
+
79
96
  initializer "decidim_participatory_processes.register_metrics" do
80
97
  Decidim.metrics_registry.register(:participatory_processes) do |metric_registry|
81
98
  metric_registry.manager_class = "Decidim::ParticipatoryProcesses::Metrics::ParticipatoryProcessesMetricManage"