decidim-participatory_processes 0.20.1 → 0.23.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) 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/content_blocks/highlighted_processes/_all_processes.erb +4 -1
  4. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +5 -9
  5. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +10 -5
  6. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +1 -1
  7. data/app/cells/decidim/participatory_processes/process_filters/show.erb +2 -2
  8. data/app/cells/decidim/participatory_processes/process_group_m/footer.erb +4 -5
  9. data/app/cells/decidim/participatory_processes/process_m/data.erb +1 -1
  10. data/app/cells/decidim/participatory_processes/process_m/footer.erb +5 -6
  11. data/app/cells/decidim/participatory_processes/process_m/tags.erb +2 -2
  12. data/app/cells/decidim/participatory_processes/process_m_cell.rb +21 -0
  13. data/app/cells/decidim/participatory_processes/statistic/show.erb +9 -0
  14. data/app/cells/decidim/participatory_processes/statistic_cell.rb +20 -0
  15. data/app/cells/decidim/participatory_processes/statistics/show.erb +17 -0
  16. data/app/cells/decidim/participatory_processes/statistics_cell.rb +18 -0
  17. data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +13 -3
  18. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_admin.rb +2 -1
  19. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +3 -3
  20. data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +22 -0
  21. data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +26 -10
  22. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_admin.rb +3 -1
  23. data/app/controllers/concerns/decidim/participatory_processes/admin/filterable.rb +27 -0
  24. data/app/controllers/decidim/participatory_processes/admin/participatory_process_exports_controller.rb +4 -0
  25. data/app/controllers/decidim/participatory_processes/admin/participatory_process_user_roles_controller.rb +2 -1
  26. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +6 -16
  27. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +27 -4
  28. data/app/controllers/decidim/participatory_processes/{participatory_process_widgets_controller.rb → widgets_controller.rb} +2 -2
  29. data/app/events/decidim/participatory_process_role_assigned_event.rb +28 -0
  30. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +18 -6
  31. data/app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb +4 -1
  32. data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +3 -0
  33. data/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb +8 -2
  34. data/app/functions/decidim/participatory_processes/participatory_process_finder.rb +10 -0
  35. data/app/functions/decidim/participatory_processes/participatory_process_list.rb +11 -0
  36. data/app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb +23 -0
  37. data/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +11 -0
  38. data/app/models/decidim/participatory_process.rb +25 -2
  39. data/app/models/decidim/participatory_process_group.rb +5 -0
  40. data/app/models/decidim/participatory_process_step.rb +3 -0
  41. data/app/models/decidim/participatory_process_user_role.rb +32 -0
  42. data/app/permissions/decidim/participatory_processes/permissions.rb +9 -0
  43. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +2 -2
  44. data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +32 -22
  45. data/app/queries/decidim/participatory_processes/stats_followers_count.rb +46 -0
  46. data/app/queries/decidim/participatory_processes/stats_participants_count.rb +100 -0
  47. data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +8 -4
  48. data/app/serializers/decidim/participatory_processes/participatory_process_serializer.rb +1 -0
  49. data/app/types/decidim/participatory_processes/participatory_process_group_type.rb +20 -0
  50. data/app/types/decidim/participatory_processes/participatory_process_input_filter.rb +13 -0
  51. data/app/types/decidim/participatory_processes/participatory_process_input_sort.rb +15 -0
  52. data/app/types/decidim/participatory_processes/participatory_process_step_type.rb +7 -4
  53. data/app/types/decidim/participatory_processes/participatory_process_type.rb +8 -4
  54. data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +1 -1
  55. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +31 -0
  56. data/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +18 -15
  57. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +3 -2
  58. data/app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb +8 -3
  59. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +2 -2
  60. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +13 -6
  61. data/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +0 -10
  62. data/app/views/decidim/participatory_processes/participatory_processes/{statistics.html.erb → all_metrics.html.erb} +0 -0
  63. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +39 -13
  64. data/app/views/layouts/decidim/_process_header.html.erb +1 -1
  65. data/app/views/layouts/decidim/_process_header_steps.html.erb +1 -1
  66. data/app/views/layouts/decidim/_process_navigation.html.erb +1 -1
  67. data/app/views/layouts/decidim/admin/participatory_process.html.erb +2 -2
  68. data/app/views/layouts/decidim/participatory_process.html.erb +1 -0
  69. data/config/locales/am-ET.yml +1 -0
  70. data/config/locales/ar.yml +9 -4
  71. data/config/locales/bg-BG.yml +19 -0
  72. data/config/locales/bg.yml +19 -0
  73. data/config/locales/ca.yml +37 -6
  74. data/config/locales/cs.yml +44 -13
  75. data/config/locales/da-DK.yml +1 -0
  76. data/config/locales/da.yml +1 -0
  77. data/config/locales/de.yml +55 -4
  78. data/config/locales/el.yml +453 -0
  79. data/config/locales/en.yml +37 -6
  80. data/config/locales/eo.yml +1 -0
  81. data/config/locales/es-MX.yml +35 -4
  82. data/config/locales/es-PY.yml +35 -4
  83. data/config/locales/es.yml +36 -5
  84. data/config/locales/et-EE.yml +1 -0
  85. data/config/locales/et.yml +1 -0
  86. data/config/locales/eu.yml +6 -4
  87. data/config/locales/fi-plain.yml +35 -4
  88. data/config/locales/fi.yml +106 -75
  89. data/config/locales/fr-CA.yml +456 -0
  90. data/config/locales/fr.yml +35 -4
  91. data/config/locales/ga-IE.yml +1 -0
  92. data/config/locales/gl.yml +6 -4
  93. data/config/locales/hr-HR.yml +1 -0
  94. data/config/locales/hr.yml +1 -0
  95. data/config/locales/hu.yml +14 -4
  96. data/config/locales/id-ID.yml +6 -4
  97. data/config/locales/is-IS.yml +4 -0
  98. data/config/locales/is.yml +215 -0
  99. data/config/locales/it.yml +36 -8
  100. data/config/locales/ja-JP.yml +445 -0
  101. data/config/locales/ja.yml +445 -0
  102. data/config/locales/ko-KR.yml +1 -0
  103. data/config/locales/ko.yml +1 -0
  104. data/config/locales/lt-LT.yml +1 -0
  105. data/config/locales/lt.yml +1 -0
  106. data/config/locales/lv.yml +445 -0
  107. data/config/locales/mt-MT.yml +1 -0
  108. data/config/locales/mt.yml +1 -0
  109. data/config/locales/nl.yml +32 -4
  110. data/config/locales/no.yml +154 -136
  111. data/config/locales/om-ET.yml +1 -0
  112. data/config/locales/pl.yml +203 -152
  113. data/config/locales/pt-BR.yml +7 -5
  114. data/config/locales/pt.yml +175 -124
  115. data/config/locales/ro-RO.yml +461 -0
  116. data/config/locales/ru.yml +5 -3
  117. data/config/locales/sk-SK.yml +451 -0
  118. data/config/locales/sk.yml +451 -0
  119. data/config/locales/sl.yml +9 -0
  120. data/config/locales/so-SO.yml +1 -0
  121. data/config/locales/sr-CS.yml +33 -0
  122. data/config/locales/sv.yml +155 -111
  123. data/config/locales/ti-ER.yml +1 -0
  124. data/config/locales/tr-TR.yml +6 -4
  125. data/config/locales/uk.yml +5 -3
  126. data/config/locales/vi-VN.yml +1 -0
  127. data/config/locales/vi.yml +1 -0
  128. data/config/locales/zh-CN.yml +445 -0
  129. data/config/locales/zh-TW.yml +1 -0
  130. data/db/migrate/20200114142253_add_scope_type_to_participatory_processes.rb +7 -0
  131. data/db/migrate/20200204154917_add_show_metrics_to_participatory_processes.rb +7 -0
  132. data/db/migrate/20200320105908_index_foreign_keys_in_decidim_attachments.rb +7 -0
  133. data/db/migrate/20200320105924_index_foreign_keys_in_decidim_participatory_process_user_roles.rb +7 -0
  134. data/db/migrate/20200320105925_index_foreign_keys_in_decidim_participatory_processes.rb +8 -0
  135. data/db/migrate/20201006072346_fix_attachments_titles.rb +38 -0
  136. data/db/seeds/city.jpeg +0 -0
  137. data/db/seeds/city2.jpeg +0 -0
  138. data/lib/decidim/participatory_processes/admin_engine.rb +1 -0
  139. data/lib/decidim/participatory_processes/engine.rb +22 -5
  140. data/lib/decidim/participatory_processes/participatory_space.rb +22 -12
  141. data/lib/decidim/participatory_processes/query_extensions.rb +40 -0
  142. data/lib/decidim/participatory_processes/test/factories.rb +23 -3
  143. data/lib/decidim/participatory_processes/version.rb +1 -1
  144. metadata +70 -13
  145. data/app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb +0 -17
@@ -0,0 +1 @@
1
+ zh-TW:
@@ -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
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class IndexForeignKeysInDecidimAttachments < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_index :decidim_attachments, :attachment_collection_id
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class IndexForeignKeysInDecidimParticipatoryProcessUserRoles < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_index :decidim_participatory_process_user_roles, :decidim_user_id, name: "idx_proces_user_role_on_user_id"
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class IndexForeignKeysInDecidimParticipatoryProcesses < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_index :decidim_participatory_processes, :decidim_participatory_process_group_id, name: "idx_process_on_process_group_id"
6
+ add_index :decidim_participatory_processes, :decidim_scope_id, name: "idx_process_on_scope_id"
7
+ end
8
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixAttachmentsTitles < ActiveRecord::Migration[5.2]
4
+ def up
5
+ reset_column_information
6
+
7
+ PaperTrail.request(enabled: false) do
8
+ Decidim::Attachment.find_each do |attachment|
9
+ next if attachment.title.is_a?(Hash) && attachment.description.is_a?(Hash)
10
+
11
+ attached_to = attachment.attached_to
12
+ locale = attached_to.try(:locale).presence ||
13
+ attached_to.try(:default_locale).presence ||
14
+ attached_to.try(:organization).try(:default_locale).presence ||
15
+ Decidim.default_locale
16
+
17
+ # rubocop:disable Rails/SkipsModelValidations
18
+ attachment.update_columns(
19
+ title: {
20
+ locale => attachment.title
21
+ },
22
+ description: {
23
+ locale => attachment.description
24
+ }
25
+ )
26
+ # rubocop:enable Rails/SkipsModelValidations
27
+ end
28
+ end
29
+
30
+ reset_column_information
31
+ end
32
+
33
+ def down; end
34
+
35
+ def reset_column_information
36
+ Decidim::Attachment.reset_column_information
37
+ end
38
+ end
Binary file
Binary file
@@ -49,6 +49,7 @@ module Decidim
49
49
  member do
50
50
  put :publish
51
51
  put :unpublish
52
+ get :share
52
53
  end
53
54
  resources :exports, only: :create
54
55
  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,16 +23,16 @@ 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
- resource :participatory_process_widget, only: :show, path: "embed"
35
+ resource :widget, only: :show, path: "embed"
35
36
  end
36
37
 
37
38
  scope "/processes/:participatory_process_slug/f/:component_id" do
@@ -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"
@@ -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"
@@ -42,6 +48,10 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
42
48
  export.serializer Decidim::ParticipatoryProcesses::ParticipatoryProcessSerializer
43
49
  end
44
50
 
51
+ participatory_space.register_on_destroy_account do |user|
52
+ Decidim::ParticipatoryProcessUserRole.where(user: user).destroy_all
53
+ end
54
+
45
55
  participatory_space.seeds do
46
56
  organization = Decidim::Organization.first
47
57
  seeds_root = File.join(__dir__, "..", "..", "..", "db", "seeds")
@@ -49,7 +59,7 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
49
59
  Decidim::ContentBlock.create(
50
60
  organization: organization,
51
61
  weight: 31,
52
- scope: :homepage,
62
+ scope_name: :homepage,
53
63
  manifest_name: :highlighted_processes,
54
64
  published_at: Time.current
55
65
  )
@@ -61,8 +71,8 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
61
71
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
62
72
  Decidim::Faker::Localized.paragraph(3)
63
73
  end,
64
- hero_image: File.new(File.join(seeds_root, "city.jpeg")),
65
- organization: organization
74
+ organization: organization,
75
+ hero_image: File.new(File.join(seeds_root, "city.jpeg")) # Keep after organization
66
76
  )
67
77
  end
68
78
 
@@ -78,11 +88,11 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
78
88
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
79
89
  Decidim::Faker::Localized.paragraph(3)
80
90
  end,
81
- hero_image: File.new(File.join(seeds_root, "city.jpeg")),
82
- banner_image: File.new(File.join(seeds_root, "city2.jpeg")),
91
+ organization: organization,
92
+ hero_image: File.new(File.join(seeds_root, "city.jpeg")), # Keep after organization
93
+ banner_image: File.new(File.join(seeds_root, "city2.jpeg")), # Keep after organization
83
94
  promoted: true,
84
95
  published_at: 2.weeks.ago,
85
- organization: organization,
86
96
  meta_scope: Decidim::Faker::Localized.word,
87
97
  developer_group: Decidim::Faker::Localized.sentence(1),
88
98
  local_area: Decidim::Faker::Localized.sentence(2),
@@ -149,23 +159,23 @@ Decidim.register_participatory_space(:participatory_processes) do |participatory
149
159
  Decidim::Attachment.create!(
150
160
  title: Decidim::Faker::Localized.sentence(2),
151
161
  description: Decidim::Faker::Localized.sentence(5),
152
- file: File.new(File.join(seeds_root, "Exampledocument.pdf")),
153
162
  attachment_collection: attachment_collection,
154
- attached_to: process
163
+ attached_to: process,
164
+ file: File.new(File.join(seeds_root, "Exampledocument.pdf")) # Keep after attached_to
155
165
  )
156
166
 
157
167
  Decidim::Attachment.create!(
158
168
  title: Decidim::Faker::Localized.sentence(2),
159
169
  description: Decidim::Faker::Localized.sentence(5),
160
- file: File.new(File.join(seeds_root, "city.jpeg")),
161
- attached_to: process
170
+ attached_to: process,
171
+ file: File.new(File.join(seeds_root, "city.jpeg")) # Keep after attached_to
162
172
  )
163
173
 
164
174
  Decidim::Attachment.create!(
165
175
  title: Decidim::Faker::Localized.sentence(2),
166
176
  description: Decidim::Faker::Localized.sentence(5),
167
- file: File.new(File.join(seeds_root, "Exampledocument.pdf")),
168
- attached_to: process
177
+ attached_to: process,
178
+ file: File.new(File.join(seeds_root, "Exampledocument.pdf")) # Keep after attached_to
169
179
  )
170
180
 
171
181
  2.times do
@@ -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
@@ -16,10 +16,10 @@ FactoryBot.define do
16
16
  subtitle { generate_localized_title }
17
17
  short_description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
18
18
  description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
19
- hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") }
20
- banner_image { Decidim::Dev.test_file("city2.jpeg", "image/jpeg") }
21
- published_at { Time.current }
22
19
  organization
20
+ hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") } # Keep after organization
21
+ banner_image { Decidim::Dev.test_file("city2.jpeg", "image/jpeg") } # Keep after organization
22
+ published_at { Time.current }
23
23
  meta_scope { Decidim::Faker::Localized.word }
24
24
  developer_group { generate_localized_title }
25
25
  local_area { generate_localized_title }
@@ -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.23.1"
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.23.1
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-11-12 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.23.1
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.23.1
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.23.1
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.23.1
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.23.1
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.23.1
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
@@ -98,6 +102,7 @@ files:
98
102
  - app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb
99
103
  - app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb
100
104
  - app/commands/decidim/participatory_processes/admin/import_participatory_process.rb
105
+ - app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb
101
106
  - app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb
102
107
  - app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb
103
108
  - app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb
@@ -107,6 +112,7 @@ files:
107
112
  - app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb
108
113
  - app/constraints/decidim/participatory_processes/current_component.rb
109
114
  - app/constraints/decidim/participatory_processes/current_participatory_process.rb
115
+ - app/controllers/concerns/decidim/participatory_processes/admin/filterable.rb
110
116
  - app/controllers/decidim/participatory_processes/admin/application_controller.rb
111
117
  - app/controllers/decidim/participatory_processes/admin/categories_controller.rb
112
118
  - app/controllers/decidim/participatory_processes/admin/component_permissions_controller.rb
@@ -131,8 +137,9 @@ files:
131
137
  - app/controllers/decidim/participatory_processes/application_controller.rb
132
138
  - app/controllers/decidim/participatory_processes/participatory_process_groups_controller.rb
133
139
  - app/controllers/decidim/participatory_processes/participatory_process_steps_controller.rb
134
- - app/controllers/decidim/participatory_processes/participatory_process_widgets_controller.rb
135
140
  - app/controllers/decidim/participatory_processes/participatory_processes_controller.rb
141
+ - app/controllers/decidim/participatory_processes/widgets_controller.rb
142
+ - app/events/decidim/participatory_process_role_assigned_event.rb
136
143
  - app/events/decidim/participatory_process_step_activated_event.rb
137
144
  - app/events/decidim/participatory_process_step_changed_event.rb
138
145
  - app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb
@@ -141,6 +148,9 @@ files:
141
148
  - app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb
142
149
  - app/forms/decidim/participatory_processes/admin/participatory_process_step_form.rb
143
150
  - app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb
151
+ - app/functions/decidim/participatory_processes/participatory_process_finder.rb
152
+ - app/functions/decidim/participatory_processes/participatory_process_list.rb
153
+ - app/helpers/decidim/participatory_processes/admin/participatory_process_helper.rb
144
154
  - app/helpers/decidim/participatory_processes/admin/process_groups_for_select_helper.rb
145
155
  - app/helpers/decidim/participatory_processes/admin/processes_for_select_helper.rb
146
156
  - app/helpers/decidim/participatory_processes/application_helper.rb
@@ -149,6 +159,7 @@ files:
149
159
  - app/models/decidim/participatory_process.rb
150
160
  - app/models/decidim/participatory_process_group.rb
151
161
  - app/models/decidim/participatory_process_step.rb
162
+ - app/models/decidim/participatory_process_user_role.rb
152
163
  - app/permissions/decidim/participatory_processes/permissions.rb
153
164
  - app/presenters/decidim/participatory_processes/admin_log/participatory_process_group_presenter.rb
154
165
  - app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb
@@ -175,11 +186,16 @@ files:
175
186
  - app/queries/decidim/participatory_processes/prioritized_participatory_processes.rb
176
187
  - app/queries/decidim/participatory_processes/promoted_participatory_processes.rb
177
188
  - app/queries/decidim/participatory_processes/published_participatory_processes.rb
189
+ - app/queries/decidim/participatory_processes/stats_followers_count.rb
190
+ - app/queries/decidim/participatory_processes/stats_participants_count.rb
178
191
  - app/queries/decidim/participatory_processes/visible_participatory_process_groups.rb
179
192
  - app/queries/decidim/participatory_processes/visible_participatory_processes.rb
180
193
  - app/serializers/decidim/participatory_processes/participatory_process_importer.rb
181
194
  - app/serializers/decidim/participatory_processes/participatory_process_serializer.rb
182
195
  - app/services/decidim/participatory_processes/participatory_process_search.rb
196
+ - app/types/decidim/participatory_processes/participatory_process_group_type.rb
197
+ - app/types/decidim/participatory_processes/participatory_process_input_filter.rb
198
+ - app/types/decidim/participatory_processes/participatory_process_input_sort.rb
183
199
  - app/types/decidim/participatory_processes/participatory_process_step_type.rb
184
200
  - app/types/decidim/participatory_processes/participatory_process_type.rb
185
201
  - app/views/decidim/participatory_process_groups/_participatory_process_group.html.erb
@@ -211,15 +227,14 @@ files:
211
227
  - app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb
212
228
  - app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb
213
229
  - app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb
214
- - app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb
215
230
  - app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb
216
231
  - app/views/decidim/participatory_processes/participatory_processes/_order_by_processes.html.erb
217
232
  - app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb
218
233
  - app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb
234
+ - app/views/decidim/participatory_processes/participatory_processes/all_metrics.html.erb
219
235
  - app/views/decidim/participatory_processes/participatory_processes/index.html.erb
220
236
  - app/views/decidim/participatory_processes/participatory_processes/index.js.erb
221
237
  - app/views/decidim/participatory_processes/participatory_processes/show.html.erb
222
- - app/views/decidim/participatory_processes/participatory_processes/statistics.html.erb
223
238
  - app/views/layouts/decidim/_process_header.html.erb
224
239
  - app/views/layouts/decidim/_process_header_steps.html.erb
225
240
  - app/views/layouts/decidim/_process_navigation.html.erb
@@ -227,37 +242,72 @@ files:
227
242
  - app/views/layouts/decidim/admin/participatory_process_groups.html.erb
228
243
  - app/views/layouts/decidim/admin/participatory_processes.html.erb
229
244
  - app/views/layouts/decidim/participatory_process.html.erb
245
+ - config/locales/am-ET.yml
230
246
  - config/locales/ar-SA.yml
231
247
  - config/locales/ar.yml
248
+ - config/locales/bg-BG.yml
249
+ - config/locales/bg.yml
232
250
  - config/locales/ca.yml
233
251
  - config/locales/cs-CZ.yml
234
252
  - config/locales/cs.yml
253
+ - config/locales/da-DK.yml
254
+ - config/locales/da.yml
235
255
  - config/locales/de.yml
236
256
  - config/locales/el-GR.yml
257
+ - config/locales/el.yml
237
258
  - config/locales/en.yml
238
259
  - config/locales/eo-UY.yml
260
+ - config/locales/eo.yml
239
261
  - config/locales/es-MX.yml
240
262
  - config/locales/es-PY.yml
241
263
  - config/locales/es.yml
264
+ - config/locales/et-EE.yml
265
+ - config/locales/et.yml
242
266
  - config/locales/eu.yml
243
267
  - config/locales/fi-pl.yml
244
268
  - config/locales/fi-plain.yml
245
269
  - config/locales/fi.yml
270
+ - config/locales/fr-CA.yml
246
271
  - config/locales/fr.yml
272
+ - config/locales/ga-IE.yml
247
273
  - config/locales/gl.yml
274
+ - config/locales/hr-HR.yml
275
+ - config/locales/hr.yml
248
276
  - config/locales/hu.yml
249
277
  - config/locales/id-ID.yml
250
278
  - config/locales/is-IS.yml
279
+ - config/locales/is.yml
251
280
  - config/locales/it.yml
281
+ - config/locales/ja-JP.yml
282
+ - config/locales/ja.yml
283
+ - config/locales/ko-KR.yml
284
+ - config/locales/ko.yml
285
+ - config/locales/lt-LT.yml
286
+ - config/locales/lt.yml
287
+ - config/locales/lv.yml
288
+ - config/locales/mt-MT.yml
289
+ - config/locales/mt.yml
252
290
  - config/locales/nl.yml
253
291
  - config/locales/no.yml
292
+ - config/locales/om-ET.yml
254
293
  - config/locales/pl.yml
255
294
  - config/locales/pt-BR.yml
256
295
  - config/locales/pt.yml
296
+ - config/locales/ro-RO.yml
257
297
  - config/locales/ru.yml
298
+ - config/locales/sk-SK.yml
299
+ - config/locales/sk.yml
300
+ - config/locales/sl.yml
301
+ - config/locales/so-SO.yml
302
+ - config/locales/sr-CS.yml
258
303
  - config/locales/sv.yml
304
+ - config/locales/ti-ER.yml
259
305
  - config/locales/tr-TR.yml
260
306
  - config/locales/uk.yml
307
+ - config/locales/vi-VN.yml
308
+ - config/locales/vi.yml
309
+ - config/locales/zh-CN.yml
310
+ - config/locales/zh-TW.yml
261
311
  - db/migrate/20161005130108_add_participatory_processes.rb
262
312
  - db/migrate/20161010102356_translate_processes.rb
263
313
  - db/migrate/20161011125616_add_hero_image_to_processes.rb
@@ -291,6 +341,12 @@ files:
291
341
  - db/migrate/20180125102537_add_reference_to_processes.rb
292
342
  - db/migrate/20180926082635_add_cta_url_and_text_to_steps.rb
293
343
  - db/migrate/20190322125517_add_area_to_participatory_processes.rb
344
+ - db/migrate/20200114142253_add_scope_type_to_participatory_processes.rb
345
+ - db/migrate/20200204154917_add_show_metrics_to_participatory_processes.rb
346
+ - db/migrate/20200320105908_index_foreign_keys_in_decidim_attachments.rb
347
+ - db/migrate/20200320105924_index_foreign_keys_in_decidim_participatory_process_user_roles.rb
348
+ - db/migrate/20200320105925_index_foreign_keys_in_decidim_participatory_processes.rb
349
+ - db/migrate/20201006072346_fix_attachments_titles.rb
294
350
  - db/seeds/Exampledocument.pdf
295
351
  - db/seeds/city.jpeg
296
352
  - db/seeds/city2.jpeg
@@ -300,6 +356,7 @@ files:
300
356
  - lib/decidim/participatory_processes/admin_engine.rb
301
357
  - lib/decidim/participatory_processes/engine.rb
302
358
  - lib/decidim/participatory_processes/participatory_space.rb
359
+ - lib/decidim/participatory_processes/query_extensions.rb
303
360
  - lib/decidim/participatory_processes/test/factories.rb
304
361
  - lib/decidim/participatory_processes/version.rb
305
362
  homepage: https://github.com/decidim/decidim
@@ -314,14 +371,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
314
371
  requirements:
315
372
  - - ">="
316
373
  - !ruby/object:Gem::Version
317
- version: '2.5'
374
+ version: '2.6'
318
375
  required_rubygems_version: !ruby/object:Gem::Requirement
319
376
  requirements:
320
377
  - - ">="
321
378
  - !ruby/object:Gem::Version
322
379
  version: '0'
323
380
  requirements: []
324
- rubygems_version: 3.1.2
381
+ rubygems_version: 3.0.3
325
382
  signing_key:
326
383
  specification_version: 4
327
384
  summary: Decidim participatory processes module