decidim-participatory_processes 0.15.2 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -15
  3. data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +1 -1
  4. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +1 -1
  5. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +0 -9
  6. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +14 -6
  7. data/app/events/decidim/participatory_process_step_activated_event.rb +23 -0
  8. data/app/events/decidim/participatory_process_step_changed_event.rb +23 -0
  9. data/app/models/decidim/participatory_process.rb +16 -4
  10. data/app/models/decidim/participatory_process_step.rb +2 -2
  11. data/app/permissions/decidim/participatory_processes/permissions.rb +7 -12
  12. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +83 -0
  13. data/app/queries/decidim/participatory_processes/metrics/participatory_process_followers_metric_measure.rb +31 -0
  14. data/app/queries/decidim/participatory_processes/visible_participatory_processes.rb +1 -0
  15. data/app/types/decidim/participatory_processes/participatory_process_type.rb +32 -0
  16. data/app/views/decidim/participatory_processes/admin/participatory_processes/edit.html.erb +0 -4
  17. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +10 -0
  18. data/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +1 -1
  19. data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +2 -3
  20. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +4 -1
  21. data/app/views/decidim/participatory_processes/participatory_processes/statistics.html.erb +9 -0
  22. data/app/views/layouts/decidim/_process_header.html.erb +8 -45
  23. data/app/views/layouts/decidim/_process_header_steps.html.erb +18 -22
  24. data/app/views/layouts/decidim/_process_navigation.html.erb +20 -0
  25. data/app/views/layouts/decidim/participatory_process.html.erb +1 -1
  26. data/config/locales/ca.yml +9 -5
  27. data/config/locales/de.yml +9 -5
  28. data/config/locales/en.yml +9 -5
  29. data/config/locales/es-PY.yml +9 -5
  30. data/config/locales/es.yml +9 -5
  31. data/config/locales/eu.yml +9 -5
  32. data/config/locales/fi-pl.yml +9 -5
  33. data/config/locales/fi.yml +9 -5
  34. data/config/locales/fr.yml +9 -5
  35. data/config/locales/gl.yml +9 -5
  36. data/config/locales/hu.yml +9 -5
  37. data/config/locales/id-ID.yml +9 -5
  38. data/config/locales/it.yml +9 -5
  39. data/config/locales/nl.yml +9 -5
  40. data/config/locales/pl.yml +9 -5
  41. data/config/locales/pt-BR.yml +9 -5
  42. data/config/locales/pt.yml +9 -5
  43. data/config/locales/ru.yml +2 -5
  44. data/config/locales/sv.yml +9 -5
  45. data/config/locales/tr-TR.yml +9 -5
  46. data/config/locales/uk.yml +2 -5
  47. data/lib/decidim/participatory_processes/admin_engine.rb +1 -1
  48. data/lib/decidim/participatory_processes/engine.rb +18 -11
  49. data/lib/decidim/participatory_processes/test/factories.rb +11 -0
  50. data/lib/decidim/participatory_processes/version.rb +1 -1
  51. metadata +16 -9
@@ -200,8 +200,6 @@ ru:
200
200
  create:
201
201
  error: При попытке создать новое движение соучастия произошла ошибка.
202
202
  success: Движение соучастия было успешно создано. Теперь настройте его шаги.
203
- destroy:
204
- success: Движение соучастия успешно удалено.
205
203
  edit:
206
204
  update: Обновить
207
205
  form:
@@ -379,9 +377,8 @@ ru:
379
377
  active_step: 'Текущий шаг:'
380
378
  more_info: Дополнительные сведения
381
379
  take_part: Принять участие
382
- process_header:
383
- process_menu_item: Движение
384
- unfold: Развернуть
385
380
  process_header_steps:
386
381
  step: Шаг %{current} из %{total}
387
382
  view_steps: Просмотреть шаги
383
+ process_navigation:
384
+ process_menu_item: Движение
@@ -196,8 +196,6 @@ sv:
196
196
  create:
197
197
  error: Det uppstod ett fel vid att skapa en ny deltagandeprocess.
198
198
  success: Deltagandeprocessen skapades framgångsrikt. Konfigurera nu dess steg.
199
- destroy:
200
- success: Deltagandeprocessen raderades framgångsrikt.
201
199
  edit:
202
200
  update: Uppdatera
203
201
  form:
@@ -255,10 +253,17 @@ sv:
255
253
  email_outro: Du har fått den här meddelandet eftersom du följer %{participatory_space_title}. Du kan sluta ta emot meddelanden vid föregående länk.
256
254
  email_subject: En uppdatering till %{participatory_space_title}
257
255
  notification_title: Dagen för <a href="%{resource_path}">%{resource_title}</a> steg vid <a href="%{participatory_space_url}">%{participatory_space_title}</a> har uppdaterats.
256
+ help:
257
+ participatory_spaces:
258
+ participatory_processes:
259
+ contextual: "<p>A <strong>deltagande process</strong> är en följd av deltagande aktiviteter (t ex först fyller i en undersökning, lägger fram förslag, diskuterar dem i ansikte mot virtuella möten och slutligen prioriterar dem) i syfte att definiera och fatta beslut på ett specifikt ämne.</p> <p>Exempel på deltagande processer är: en process för val av kommittémedlemmar (där kandidaterna presenteras, debatteras och slutligen en kandidatur väljs), deltagande budgetar (där förslag görs, värderas ekonomiskt och röstat med tillgängliga medel) en strategisk planeringsprocess, samverkan av en förordning eller norm, utformning av ett urbana utrymme eller framställning av en offentlig plan.</p>\n"
260
+ page: "<p>A <strong>deltagande process</strong> är en följd av deltagande aktiviteter (t ex först fyller i en undersökning, lägger fram förslag, diskuterar dem i ansikte mot virtuella möten och slutligen prioriterar dem) i syfte att definiera och fatta beslut på ett specifikt ämne.</p> <p>Exempel på deltagande processer är: en process för val av kommittémedlemmar (där kandidaterna presenteras, debatteras och slutligen en kandidatur väljs), deltagande budgetar (där förslag görs, värderas ekonomiskt och röstat med tillgängliga medel) en strategisk planeringsprocess, samverkan av en förordning eller norm, utformning av ett urbana utrymme eller framställning av en offentlig plan.</p>\n"
261
+ title: Vad är en deltagande process?
258
262
  menu:
259
263
  processes: Processer
260
264
  metrics:
261
265
  participatory_processes:
266
+ description: Antal deltagande processer i denna organisation
262
267
  object: deltagande processer
263
268
  title: Deltagande processer
264
269
  participatory_process_groups:
@@ -378,9 +383,8 @@ sv:
378
383
  active_step: 'Nuvarande steg:'
379
384
  more_info: Mer information
380
385
  take_part: Delta
381
- process_header:
382
- process_menu_item: Processen
383
- unfold: Veckla ut
384
386
  process_header_steps:
385
387
  step: Steg %{current} av %{total}
386
388
  view_steps: Visa steg
389
+ process_navigation:
390
+ process_menu_item: Processen
@@ -196,8 +196,6 @@ tr:
196
196
  create:
197
197
  error: Yeni bir katılımcı süreci oluştururken bir hata oluştu.
198
198
  success: Katılımcı süreç başarıyla oluşturuldu. Şimdi adımlarını yapılandırın.
199
- destroy:
200
- success: Katılımcı süreç başarıyla silindi.
201
199
  edit:
202
200
  update: Güncelleştirme
203
201
  form:
@@ -255,10 +253,17 @@ tr:
255
253
  email_outro: Bu bildirimi, %{participatory_space_title}izlediğiniz için aldınız. Önceki bağlantıyı takip ederek bildirimleri almayı durdurabilirsiniz.
256
254
  email_subject: '%{participatory_space_title}bir güncelleme'
257
255
  notification_title: <a href="%{participatory_space_url}">%{participatory_space_title}</a> de <a href="%{resource_path}">%{resource_title}</a> adım için tarihler güncellendi.
256
+ help:
257
+ participatory_spaces:
258
+ participatory_processes:
259
+ contextual: "<p>A <strong>katılımcı süreç</strong> tanımlanması ve karar verme amacıyla katılımcı faaliyetlerin bir dizi (örneğin, önce onları öncelik son olarak yüz-yüze ya da sanal toplantılar bunları tartışırken, teklif verme, sonra bir anket doldurarak ve benzeri) olduğu belirli bir konuda.</p> <p>Katılımcı süreçlerin örnekleri şunlardır: (adayların ilk sunulduğu, daha sonra tartışıldığı ve sonunda bir adaylığın seçildiği) komite üyelerini seçme süreci, katılımcı bütçeler (tekliflerin yapıldığı, ekonomik olarak değerlendirildiği ve mevcut para ile oy verildiğinde), Bir stratejik planlama süreci, bir yönetmeliğin veya kuralın işbirlikçi taslağının hazırlanması, bir kentsel alanın tasarımı veya bir kamu politikası planının üretilmesi.</p>\n"
260
+ page: "<p>A <strong>katılımcı süreç</strong> tanımlanması ve karar verme amacıyla katılımcı faaliyetlerin bir dizi (örneğin, önce onları öncelik son olarak yüz-yüze ya da sanal toplantılar bunları tartışırken, teklif verme, sonra bir anket doldurarak ve benzeri) olduğu belirli bir konuda.</p> <p>Katılımcı süreçlerin örnekleri şunlardır: (adayların ilk sunulduğu, daha sonra tartışıldığı ve sonunda bir adaylığın seçildiği) komite üyelerini seçme süreci, katılımcı bütçeler (tekliflerin yapıldığı, ekonomik olarak değerlendirildiği ve mevcut para ile oy verildiğinde), Bir stratejik planlama süreci, bir yönetmeliğin veya kuralın işbirlikçi taslağının hazırlanması, bir kentsel alanın tasarımı veya bir kamu politikası planının üretilmesi.</p>\n"
261
+ title: Katılımcı bir süreç nedir?
258
262
  menu:
259
263
  processes: Süreçler
260
264
  metrics:
261
265
  participatory_processes:
266
+ description: Bu kuruluştaki katılımcı süreçlerin sayısı
262
267
  object: katılımcı süreçler
263
268
  title: Katılımcı süreçler
264
269
  participatory_process_groups:
@@ -378,9 +383,8 @@ tr:
378
383
  active_step: 'Mevcut adım:'
379
384
  more_info: Daha fazla bilgi
380
385
  take_part: Yer almak
381
- process_header:
382
- process_menu_item: Süreç
383
- unfold: açılmak
384
386
  process_header_steps:
385
387
  step: '%{total}adımdan %{current}'
386
388
  view_steps: Adımları göster
389
+ process_navigation:
390
+ process_menu_item: Süreç
@@ -200,8 +200,6 @@ uk:
200
200
  create:
201
201
  error: При спробі створити новий рух співучасті сталася помилка.
202
202
  success: Рух співучасті успішно створено. Тепер налаштуйте його кроки.
203
- destroy:
204
- success: Рух співучасті успішно видалено.
205
203
  edit:
206
204
  update: Оновити
207
205
  form:
@@ -379,9 +377,8 @@ uk:
379
377
  active_step: 'Поточний крок:'
380
378
  more_info: Додаткові відомості
381
379
  take_part: Взяти участь
382
- process_header:
383
- process_menu_item: Рух
384
- unfold: Розгорнути
385
380
  process_header_steps:
386
381
  step: '%{current}-й крок з %{total} кроків'
387
382
  view_steps: Переглянути кроки
383
+ process_navigation:
384
+ process_menu_item: Рух
@@ -16,7 +16,7 @@ module Decidim
16
16
 
17
17
  routes do
18
18
  resources :participatory_process_groups
19
- resources :participatory_processes, param: :slug, except: :show do
19
+ resources :participatory_processes, param: :slug, except: [:show, :destroy] do
20
20
  resource :publish, controller: "participatory_process_publications", only: [:create, :destroy]
21
21
  resources :copies, controller: "participatory_process_copies", only: [:new, :create]
22
22
 
@@ -22,8 +22,14 @@ module Decidim
22
22
  process ? "/processes/#{process.slug}/f/#{params[:component_id]}" : "/404"
23
23
  }, constraints: { process_id: /[0-9]+/ }
24
24
 
25
+ get "processes/:process_id/statistics", to: redirect { |params, _request|
26
+ process = Decidim::ParticipatoryProcess.find(params[:process_id])
27
+ process ? "/processes/#{process.slug}/statistics" : "/404"
28
+ }, constraints: { process_id: /[0-9]+/ }, as: :statistics
29
+
25
30
  resources :participatory_process_groups, only: :show, path: "processes_groups"
26
31
  resources :participatory_processes, only: [:index, :show], param: :slug, path: "processes" do
32
+ get :statistics, on: :member
27
33
  resources :participatory_process_steps, only: [:index], path: "steps"
28
34
  resource :participatory_process_widget, only: :show, path: "embed"
29
35
  end
@@ -70,19 +76,20 @@ module Decidim
70
76
  end
71
77
  end
72
78
 
73
- initializer "decidim_participatory_processes.query_extensions" do
74
- Decidim::Api::QueryType.define do
75
- QueryExtensions.define(self)
79
+ initializer "decidim_participatory_processes.register_metrics" do
80
+ Decidim.metrics_registry.register(:participatory_processes) do |metric_registry|
81
+ metric_registry.manager_class = "Decidim::ParticipatoryProcesses::Metrics::ParticipatoryProcessesMetricManage"
82
+
83
+ metric_registry.settings do |settings|
84
+ settings.attribute :highlighted, type: :boolean, default: false
85
+ settings.attribute :scopes, type: :array, default: %w(home)
86
+ settings.attribute :weight, type: :integer, default: 2
87
+ end
76
88
  end
77
- end
78
89
 
79
- initializer "decidim_participatory_processes.register_metrics" do
80
- Decidim.metrics_registry.register(
81
- :participatory_processes,
82
- "Decidim::ParticipatoryProcesses::Metrics::ParticipatoryProcessesMetricManage",
83
- Decidim::MetricRegistry::NOT_HIGHLIGHTED,
84
- 2
85
- )
90
+ Decidim.metrics_operation.register(:followers, :participatory_process) do |metric_operation|
91
+ metric_operation.manager_class = "Decidim::ParticipatoryProcesses::Metrics::ParticipatoryProcessFollowersMetricMeasure"
92
+ end
86
93
  end
87
94
  end
88
95
  end
@@ -26,6 +26,7 @@ FactoryBot.define do
26
26
  target { generate_localized_title }
27
27
  participatory_scope { generate_localized_title }
28
28
  participatory_structure { generate_localized_title }
29
+ announcement { generate_localized_title }
29
30
  show_statistics { true }
30
31
  private_space { false }
31
32
  start_date { Date.current }
@@ -56,6 +57,11 @@ FactoryBot.define do
56
57
  end
57
58
  end
58
59
 
60
+ trait :active do
61
+ start_date { 2.weeks.ago }
62
+ end_date { 1.week.from_now }
63
+ end
64
+
59
65
  trait :past do
60
66
  start_date { 2.weeks.ago }
61
67
  end_date { 1.week.ago }
@@ -65,6 +71,11 @@ FactoryBot.define do
65
71
  start_date { 1.week.from_now }
66
72
  end_date { 2.weeks.from_now }
67
73
  end
74
+
75
+ trait :with_scope do
76
+ scopes_enabled { true }
77
+ scope { create :scope, organization: organization }
78
+ end
68
79
  end
69
80
 
70
81
  factory :participatory_process_group, class: "Decidim::ParticipatoryProcessGroup" do
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-participatory_processes version.
5
5
  module ParticipatoryProcesses
6
6
  def self.version
7
- "0.15.2"
7
+ "0.16.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-participatory_processes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.2
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-01-08 00:00:00.000000000 Z
13
+ date: 2019-01-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,42 +18,42 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.15.2
21
+ version: 0.16.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.15.2
28
+ version: 0.16.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-admin
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.15.2
35
+ version: 0.16.0
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.15.2
42
+ version: 0.16.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: decidim-dev
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.15.2
49
+ version: 0.16.0
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.15.2
56
+ version: 0.16.0
57
57
  description: Participatory processes component for decidim.
58
58
  email:
59
59
  - josepjaume@gmail.com
@@ -128,6 +128,8 @@ files:
128
128
  - app/controllers/decidim/participatory_processes/participatory_process_steps_controller.rb
129
129
  - app/controllers/decidim/participatory_processes/participatory_process_widgets_controller.rb
130
130
  - app/controllers/decidim/participatory_processes/participatory_processes_controller.rb
131
+ - app/events/decidim/participatory_process_step_activated_event.rb
132
+ - app/events/decidim/participatory_process_step_changed_event.rb
131
133
  - app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb
132
134
  - app/forms/decidim/participatory_processes/admin/participatory_process_form.rb
133
135
  - app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb
@@ -146,12 +148,14 @@ files:
146
148
  - app/presenters/decidim/participatory_processes/admin_log/participatory_process_user_role_presenter.rb
147
149
  - app/presenters/decidim/participatory_processes/admin_log/step_presenter.rb
148
150
  - app/presenters/decidim/participatory_processes/admin_log/value_types/role_presenter.rb
151
+ - app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb
149
152
  - app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb
150
153
  - app/queries/decidim/participatory_processes/admin/admin_users.rb
151
154
  - app/queries/decidim/participatory_processes/admin/moderators.rb
152
155
  - app/queries/decidim/participatory_processes/filtered_participatory_process_groups.rb
153
156
  - app/queries/decidim/participatory_processes/filtered_participatory_processes.rb
154
157
  - app/queries/decidim/participatory_processes/highlighted_participatory_processes.rb
158
+ - app/queries/decidim/participatory_processes/metrics/participatory_process_followers_metric_measure.rb
155
159
  - app/queries/decidim/participatory_processes/metrics/participatory_processes_metric_manage.rb
156
160
  - app/queries/decidim/participatory_processes/organization_participatory_process_groups.rb
157
161
  - app/queries/decidim/participatory_processes/organization_participatory_processes.rb
@@ -191,14 +195,17 @@ files:
191
195
  - app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb
192
196
  - app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb
193
197
  - app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb
198
+ - app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb
194
199
  - app/views/decidim/participatory_processes/participatory_processes/_order_by_processes.html.erb
195
200
  - app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb
196
201
  - app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb
197
202
  - app/views/decidim/participatory_processes/participatory_processes/index.html.erb
198
203
  - app/views/decidim/participatory_processes/participatory_processes/index.js.erb
199
204
  - app/views/decidim/participatory_processes/participatory_processes/show.html.erb
205
+ - app/views/decidim/participatory_processes/participatory_processes/statistics.html.erb
200
206
  - app/views/layouts/decidim/_process_header.html.erb
201
207
  - app/views/layouts/decidim/_process_header_steps.html.erb
208
+ - app/views/layouts/decidim/_process_navigation.html.erb
202
209
  - app/views/layouts/decidim/admin/participatory_process.html.erb
203
210
  - app/views/layouts/decidim/admin/participatory_process_groups.html.erb
204
211
  - app/views/layouts/decidim/admin/participatory_processes.html.erb
@@ -287,7 +294,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
287
294
  version: '0'
288
295
  requirements: []
289
296
  rubyforge_project:
290
- rubygems_version: 2.7.7
297
+ rubygems_version: 2.7.6
291
298
  signing_key:
292
299
  specification_version: 4
293
300
  summary: Decidim participatory processes module