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
@@ -9,6 +9,8 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
9
9
  end
10
10
 
11
11
  participatory_space.query_type = "Decidim::ParticipatoryProcesses::ParticipatoryProcessType"
12
+ participatory_space.query_finder = "Decidim::ParticipatoryProcesses::ParticipatoryProcessFinder"
13
+ participatory_space.query_list = "Decidim::ParticipatoryProcesses::ParticipatoryProcessList"
12
14
 
13
15
  participatory_space.permissions_class_name = "Decidim::ParticipatoryProcesses::Permissions"
14
16
 
@@ -23,6 +25,10 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
23
25
  resource.card = "decidim/participatory_processes/process_group"
24
26
  end
25
27
 
28
+ participatory_space.register_stat :followers_count, tag: :followers, priority: Decidim::StatsRegistry::LOW_PRIORITY do |spaces, _start_at, _end_at|
29
+ Decidim::Follow.where(followable: spaces).count
30
+ end
31
+
26
32
  participatory_space.context(:public) do |context|
27
33
  context.engine = Decidim::ParticipatoryProcesses::Engine
28
34
  context.layout = "layouts/decidim/participatory_process"
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ # This module's job is to extend the API with custom fields related to
6
+ # decidim-participatory_processes.
7
+ module QueryExtensions
8
+ # Public: Extends a type with `decidim-participatory_processes`'s fields.
9
+ #
10
+ # type - A GraphQL::BaseType to extend.
11
+ #
12
+ # Returns nothing.
13
+ def self.define(type)
14
+ type.field :participatoryProcessGroups do
15
+ type !types[ParticipatoryProcessGroupType]
16
+ description "Lists all participatory process groups"
17
+
18
+ resolve lambda { |_obj, _args, ctx|
19
+ Decidim::ParticipatoryProcessGroup.where(
20
+ organization: ctx[:current_organization]
21
+ )
22
+ }
23
+ end
24
+
25
+ type.field :participatoryProcessGroup do
26
+ type ParticipatoryProcessGroupType
27
+ description "Finds a participatory process group"
28
+ argument :id, !types.ID, "The ID of the Participatory process group"
29
+
30
+ resolve lambda { |_obj, args, ctx|
31
+ Decidim::ParticipatoryProcessGroup.find_by(
32
+ organization: ctx[:current_organization],
33
+ id: args[:id]
34
+ )
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -27,6 +27,7 @@ FactoryBot.define do
27
27
  participatory_scope { generate_localized_title }
28
28
  participatory_structure { generate_localized_title }
29
29
  announcement { generate_localized_title }
30
+ show_metrics { true }
30
31
  show_statistics { true }
31
32
  private_space { false }
32
33
  start_date { Date.current }
@@ -45,6 +46,10 @@ FactoryBot.define do
45
46
  published_at { Time.current }
46
47
  end
47
48
 
49
+ trait :private do
50
+ private_space { true }
51
+ end
52
+
48
53
  trait :with_steps do
49
54
  transient { current_step_ends { 1.month.from_now } }
50
55
 
@@ -155,6 +160,21 @@ FactoryBot.define do
155
160
  end
156
161
  end
157
162
 
163
+ factory :process_valuator, parent: :user, class: "Decidim::User" do
164
+ transient do
165
+ participatory_process { create(:participatory_process) }
166
+ end
167
+
168
+ organization { participatory_process.organization }
169
+
170
+ after(:create) do |user, evaluator|
171
+ create :participatory_process_user_role,
172
+ user: user,
173
+ participatory_process: evaluator.participatory_process,
174
+ role: :valuator
175
+ end
176
+ end
177
+
158
178
  factory :participatory_process_user_role, class: "Decidim::ParticipatoryProcessUserRole" do
159
179
  user
160
180
  participatory_process { create :participatory_process, organization: user.organization }
@@ -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.20.1"
7
+ "0.21.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.20.1
4
+ version: 0.21.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: 2020-03-27 00:00:00.000000000 Z
13
+ date: 2020-04-08 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.20.1
21
+ version: 0.21.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.20.1
28
+ version: 0.21.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.20.1
35
+ version: 0.21.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.20.1
42
+ version: 0.21.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.20.1
49
+ version: 0.21.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.20.1
56
+ version: 0.21.0
57
57
  description: Participatory processes component for decidim.
58
58
  email:
59
59
  - josepjaume@gmail.com
@@ -88,6 +88,10 @@ files:
88
88
  - app/cells/decidim/participatory_processes/process_m/footer.erb
89
89
  - app/cells/decidim/participatory_processes/process_m/tags.erb
90
90
  - app/cells/decidim/participatory_processes/process_m_cell.rb
91
+ - app/cells/decidim/participatory_processes/statistic/show.erb
92
+ - app/cells/decidim/participatory_processes/statistic_cell.rb
93
+ - app/cells/decidim/participatory_processes/statistics/show.erb
94
+ - app/cells/decidim/participatory_processes/statistics_cell.rb
91
95
  - app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb
92
96
  - app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb
93
97
  - app/commands/decidim/participatory_processes/admin/create_participatory_process.rb
@@ -107,6 +111,7 @@ files:
107
111
  - app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb
108
112
  - app/constraints/decidim/participatory_processes/current_component.rb
109
113
  - app/constraints/decidim/participatory_processes/current_participatory_process.rb
114
+ - app/controllers/concerns/decidim/participatory_processes/admin/filterable.rb
110
115
  - app/controllers/decidim/participatory_processes/admin/application_controller.rb
111
116
  - app/controllers/decidim/participatory_processes/admin/categories_controller.rb
112
117
  - app/controllers/decidim/participatory_processes/admin/component_permissions_controller.rb
@@ -141,6 +146,9 @@ files:
141
146
  - app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb
142
147
  - app/forms/decidim/participatory_processes/admin/participatory_process_step_form.rb
143
148
  - app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb
149
+ - app/functions/decidim/participatory_processes/participatory_process_finder.rb
150
+ - app/functions/decidim/participatory_processes/participatory_process_list.rb
151
+ - app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb
144
152
  - app/helpers/decidim/participatory_processes/admin/process_groups_for_select_helper.rb
145
153
  - app/helpers/decidim/participatory_processes/admin/processes_for_select_helper.rb
146
154
  - app/helpers/decidim/participatory_processes/application_helper.rb
@@ -149,6 +157,7 @@ files:
149
157
  - app/models/decidim/participatory_process.rb
150
158
  - app/models/decidim/participatory_process_group.rb
151
159
  - app/models/decidim/participatory_process_step.rb
160
+ - app/models/decidim/participatory_process_user_role.rb
152
161
  - app/permissions/decidim/participatory_processes/permissions.rb
153
162
  - app/presenters/decidim/participatory_processes/admin_log/participatory_process_group_presenter.rb
154
163
  - app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb
@@ -175,11 +184,16 @@ files:
175
184
  - app/queries/decidim/participatory_processes/prioritized_participatory_processes.rb
176
185
  - app/queries/decidim/participatory_processes/promoted_participatory_processes.rb
177
186
  - app/queries/decidim/participatory_processes/published_participatory_processes.rb
187
+ - app/queries/decidim/participatory_processes/stats_followers_count.rb
188
+ - app/queries/decidim/participatory_processes/stats_participants_count.rb
178
189
  - app/queries/decidim/participatory_processes/visible_participatory_process_groups.rb
179
190
  - app/queries/decidim/participatory_processes/visible_participatory_processes.rb
180
191
  - app/serializers/decidim/participatory_processes/participatory_process_importer.rb
181
192
  - app/serializers/decidim/participatory_processes/participatory_process_serializer.rb
182
193
  - app/services/decidim/participatory_processes/participatory_process_search.rb
194
+ - app/types/decidim/participatory_processes/participatory_process_group_type.rb
195
+ - app/types/decidim/participatory_processes/participatory_process_input_filter.rb
196
+ - app/types/decidim/participatory_processes/participatory_process_input_sort.rb
183
197
  - app/types/decidim/participatory_processes/participatory_process_step_type.rb
184
198
  - app/types/decidim/participatory_processes/participatory_process_type.rb
185
199
  - app/views/decidim/participatory_process_groups/_participatory_process_group.html.erb
@@ -211,15 +225,13 @@ files:
211
225
  - app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb
212
226
  - app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb
213
227
  - app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb
214
- - app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb
215
228
  - app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb
216
229
  - app/views/decidim/participatory_processes/participatory_processes/_order_by_processes.html.erb
217
230
  - app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb
218
- - app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb
231
+ - app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb
219
232
  - app/views/decidim/participatory_processes/participatory_processes/index.html.erb
220
233
  - app/views/decidim/participatory_processes/participatory_processes/index.js.erb
221
234
  - app/views/decidim/participatory_processes/participatory_processes/show.html.erb
222
- - app/views/decidim/participatory_processes/participatory_processes/statistics.html.erb
223
235
  - app/views/layouts/decidim/_process_header.html.erb
224
236
  - app/views/layouts/decidim/_process_header_steps.html.erb
225
237
  - app/views/layouts/decidim/_process_navigation.html.erb
@@ -234,6 +246,7 @@ files:
234
246
  - config/locales/cs.yml
235
247
  - config/locales/de.yml
236
248
  - config/locales/el-GR.yml
249
+ - config/locales/el.yml
237
250
  - config/locales/en.yml
238
251
  - config/locales/eo-UY.yml
239
252
  - config/locales/es-MX.yml
@@ -291,6 +304,8 @@ files:
291
304
  - db/migrate/20180125102537_add_reference_to_processes.rb
292
305
  - db/migrate/20180926082635_add_cta_url_and_text_to_steps.rb
293
306
  - db/migrate/20190322125517_add_area_to_participatory_processes.rb
307
+ - db/migrate/20200114142253_add_scope_type_to_participatory_processes.rb
308
+ - db/migrate/20200204154917_add_show_metrics_to_participatory_processes.rb
294
309
  - db/seeds/Exampledocument.pdf
295
310
  - db/seeds/city.jpeg
296
311
  - db/seeds/city2.jpeg
@@ -300,6 +315,7 @@ files:
300
315
  - lib/decidim/participatory_processes/admin_engine.rb
301
316
  - lib/decidim/participatory_processes/engine.rb
302
317
  - lib/decidim/participatory_processes/participatory_space.rb
318
+ - lib/decidim/participatory_processes/query_extensions.rb
303
319
  - lib/decidim/participatory_processes/test/factories.rb
304
320
  - lib/decidim/participatory_processes/version.rb
305
321
  homepage: https://github.com/decidim/decidim
@@ -1,17 +0,0 @@
1
- <% content_for(:header, "false") %>
2
- <% content_for(:title, translated_attribute(model.title)) %>
3
- <p class="card__desc"><%= decidim_sanitize html_truncate(translated_attribute(model.short_description), length: 630, separator: "...") %></p>
4
- <% content_for(:footer) do %>
5
- <div class="card__support">
6
- <% if model.active_step %>
7
- <span class="card--process__small">
8
- <%= t("participatory_process_widgets.show.active_step", scope: "layouts.decidim") %>
9
- <strong><%= translated_attribute model.active_step.title %></strong>
10
- </span>
11
- <% end %>
12
- <span class="card--process__small"></span>
13
- <%= link_to participatory_process_path(model), class: "card__button button small" do %>
14
- <%= t("participatory_process_widgets.show.take_part", scope: "layouts.decidim") %>
15
- <% end %>
16
- </div>
17
- <% end %>
@@ -1,10 +0,0 @@
1
- <section class="extended" id="participatory_process-statistics" class="statistics">
2
- <div class="row column">
3
- <h4 class="section-heading"><%= t("statistics.headline", scope: "decidim.participatory_processes") %></h4>
4
- </div>
5
- <div class="row">
6
- <div class="columns small-centered mediumlarge-12 large-12 process_stats">
7
- <%= stats.highlighted %>
8
- </div>
9
- </div>
10
- </section>