decidim-proposals 0.30.5 → 0.31.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/collaborative_draft_metadata_cell.rb +1 -1
  3. data/app/cells/decidim/proposals/proposal_g/show.erb +1 -1
  4. data/app/cells/decidim/proposals/proposal_g_cell.rb +4 -4
  5. data/app/cells/decidim/proposals/proposal_l_cell.rb +4 -4
  6. data/app/cells/decidim/proposals/proposal_metadata_cell.rb +2 -2
  7. data/app/cells/decidim/proposals/proposal_vote/show.erb +1 -1
  8. data/app/commands/decidim/proposals/admin/{assign_proposals_to_valuator.rb → assign_proposals_to_evaluator.rb} +16 -16
  9. data/app/commands/decidim/proposals/admin/create_proposal.rb +1 -2
  10. data/app/commands/decidim/proposals/admin/create_proposal_note.rb +4 -4
  11. data/app/commands/decidim/proposals/admin/merge_proposals.rb +60 -13
  12. data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +2 -2
  13. data/app/commands/decidim/proposals/admin/proposal_notes_methods.rb +5 -5
  14. data/app/commands/decidim/proposals/admin/reply_proposal_note.rb +1 -1
  15. data/app/commands/decidim/proposals/admin/{unassign_proposals_from_valuator.rb → unassign_proposals_from_evaluator.rb} +7 -7
  16. data/app/commands/decidim/proposals/admin/update_proposal.rb +1 -2
  17. data/app/commands/decidim/proposals/create_collaborative_draft.rb +3 -8
  18. data/app/commands/decidim/proposals/create_proposal.rb +5 -22
  19. data/app/commands/decidim/proposals/publish_collaborative_draft.rb +2 -2
  20. data/app/commands/decidim/proposals/publish_proposal.rb +1 -5
  21. data/app/commands/decidim/proposals/update_collaborative_draft.rb +2 -4
  22. data/app/commands/decidim/proposals/update_proposal.rb +5 -18
  23. data/app/controllers/concerns/decidim/proposals/admin/filterable.rb +6 -6
  24. data/app/controllers/concerns/decidim/proposals/orderable.rb +3 -3
  25. data/app/controllers/decidim/proposals/admin/evaluation_assignments_controller.rb +55 -0
  26. data/app/controllers/decidim/proposals/admin/participatory_texts_controller.rb +6 -6
  27. data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +1 -1
  28. data/app/controllers/decidim/proposals/admin/proposal_states_controller.rb +2 -2
  29. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +2 -2
  30. data/app/controllers/decidim/proposals/admin/proposals_imports_controller.rb +1 -1
  31. data/app/controllers/decidim/proposals/admin/proposals_merges_controller.rb +12 -3
  32. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +2 -3
  33. data/app/controllers/decidim/proposals/proposals_controller.rb +5 -6
  34. data/app/events/decidim/proposals/admin/{proposal_assigned_to_valuator_event.rb → proposal_assigned_to_evaluator_event.rb} +1 -1
  35. data/app/events/decidim/proposals/{endorsing_enabled_event.rb → liking_enabled_event.rb} +1 -1
  36. data/app/events/decidim/proposals/merged_proposal_event.rb +9 -0
  37. data/app/events/decidim/proposals/proposal_liked_event.rb +33 -0
  38. data/app/forms/decidim/proposals/admin/evaluation_assignment_form.rb +38 -0
  39. data/app/forms/decidim/proposals/admin/proposal_base_form.rb +1 -27
  40. data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +1 -1
  41. data/app/forms/decidim/proposals/admin/proposals_merge_form.rb +58 -2
  42. data/app/forms/decidim/proposals/collaborative_draft_form.rb +1 -5
  43. data/app/forms/decidim/proposals/proposal_form.rb +0 -29
  44. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +8 -8
  45. data/app/helpers/decidim/proposals/admin/proposal_rankings_helper.rb +6 -6
  46. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +2 -17
  47. data/app/helpers/decidim/proposals/application_helper.rb +3 -6
  48. data/app/jobs/decidim/proposals/settings_change_job.rb +6 -6
  49. data/app/models/decidim/proposals/collaborative_draft.rb +1 -1
  50. data/app/models/decidim/proposals/{valuation_assignment.rb → evaluation_assignment.rb} +7 -7
  51. data/app/models/decidim/proposals/proposal.rb +24 -34
  52. data/app/packs/entrypoints/decidim_proposals_admin.js +1 -0
  53. data/app/packs/src/decidim/proposals/add_proposal.js +1 -1
  54. data/app/packs/src/decidim/proposals/admin/proposals.js +22 -11
  55. data/app/packs/src/decidim/proposals/admin/proposals_form.js +1 -1
  56. data/app/packs/src/decidim/proposals/admin/proposals_merge.js +92 -0
  57. data/app/packs/src/decidim/proposals/choose_proposals.js +1 -1
  58. data/app/packs/src/decidim/proposals/exit_handler.js +1 -1
  59. data/app/packs/src/decidim/proposals/utils.js +1 -1
  60. data/app/packs/stylesheets/decidim/proposals/proposals.scss +29 -1
  61. data/app/permissions/decidim/proposals/admin/permissions.rb +20 -20
  62. data/app/presenters/decidim/proposals/admin_log/{valuation_assignment_presenter.rb → evaluation_assignment_presenter.rb} +7 -7
  63. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +15 -0
  64. data/app/presenters/decidim/proposals/admin_log/value_types/{valuator_role_user_presenter.rb → evaluator_role_user_presenter.rb} +2 -2
  65. data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +1 -1
  66. data/app/presenters/decidim/proposals/collaborative_draft_presenter.rb +1 -6
  67. data/app/presenters/decidim/proposals/log/{valuation_assignment_presenter.rb → evaluation_assignment_presenter.rb} +1 -1
  68. data/app/presenters/decidim/proposals/proposal_presenter.rb +10 -13
  69. data/app/services/decidim/proposals/diff_renderer.rb +0 -1
  70. data/app/services/decidim/proposals/proposal_builder.rb +5 -10
  71. data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +1 -1
  72. data/app/views/decidim/proposals/admin/participatory_texts/index.html.erb +1 -2
  73. data/app/views/decidim/proposals/admin/proposal_notes/_form.html.erb +1 -1
  74. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +1 -1
  75. data/app/views/decidim/proposals/admin/proposal_states/index.html.erb +42 -12
  76. data/app/views/decidim/proposals/admin/proposals/_actions.html.erb +87 -21
  77. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +9 -13
  78. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +2 -24
  79. data/app/views/decidim/proposals/admin/proposals/_likes.html.erb +25 -0
  80. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +13 -12
  81. data/app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb +1 -1
  82. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_evaluator.html.erb +19 -0
  83. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +45 -49
  84. data/app/views/decidim/proposals/admin/proposals/bulk_actions/{_valuators_picker.html.erb → _evaluators_picker.html.erb} +4 -4
  85. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb +7 -14
  86. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_evaluator.html.erb +19 -0
  87. data/app/views/decidim/proposals/admin/proposals/index.html.erb +9 -5
  88. data/app/views/decidim/proposals/admin/proposals/manage_trash.html.erb +2 -1
  89. data/app/views/decidim/proposals/admin/proposals/show.html.erb +17 -17
  90. data/app/views/decidim/proposals/admin/proposals_merges/_form.html.erb +49 -0
  91. data/app/views/decidim/proposals/admin/proposals_merges/new.html.erb +14 -0
  92. data/app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb +2 -2
  93. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -21
  94. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
  95. data/app/views/decidim/proposals/proposals/_actions.html.erb +2 -2
  96. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +1 -21
  97. data/app/views/decidim/proposals/proposals/_proposal_actions.html.erb +4 -4
  98. data/app/views/decidim/proposals/proposals/_proposal_aside.html.erb +2 -2
  99. data/app/views/decidim/proposals/proposals/_proposal_voting_rules.html.erb +1 -1
  100. data/app/views/decidim/proposals/proposals/_votes_count.html.erb +1 -1
  101. data/app/views/decidim/proposals/proposals/participatory_texts/_view_index.html.erb +1 -1
  102. data/app/views/decidim/proposals/proposals/preview.html.erb +1 -1
  103. data/app/views/decidim/proposals/proposals/show.html.erb +2 -2
  104. data/config/assets.rb +2 -2
  105. data/config/locales/ar.yml +0 -65
  106. data/config/locales/bg.yml +0 -71
  107. data/config/locales/bs-BA.yml +0 -25
  108. data/config/locales/ca-IT.yml +66 -74
  109. data/config/locales/ca.yml +66 -74
  110. data/config/locales/cs.yml +52 -81
  111. data/config/locales/de.yml +66 -75
  112. data/config/locales/el.yml +0 -66
  113. data/config/locales/en.yml +69 -77
  114. data/config/locales/es-MX.yml +68 -76
  115. data/config/locales/es-PY.yml +68 -76
  116. data/config/locales/es.yml +68 -76
  117. data/config/locales/eu.yml +73 -81
  118. data/config/locales/fi-plain.yml +67 -75
  119. data/config/locales/fi.yml +68 -76
  120. data/config/locales/fr-CA.yml +49 -74
  121. data/config/locales/fr.yml +49 -74
  122. data/config/locales/ga-IE.yml +0 -22
  123. data/config/locales/gl.yml +0 -47
  124. data/config/locales/hu.yml +0 -64
  125. data/config/locales/id-ID.yml +0 -34
  126. data/config/locales/is-IS.yml +0 -14
  127. data/config/locales/it.yml +0 -69
  128. data/config/locales/ja.yml +68 -76
  129. data/config/locales/lb.yml +0 -3
  130. data/config/locales/lt.yml +0 -68
  131. data/config/locales/lv.yml +0 -62
  132. data/config/locales/nl.yml +0 -63
  133. data/config/locales/no.yml +0 -42
  134. data/config/locales/pl.yml +0 -73
  135. data/config/locales/pt-BR.yml +1 -469
  136. data/config/locales/pt.yml +0 -60
  137. data/config/locales/ro-RO.yml +45 -72
  138. data/config/locales/ru.yml +0 -15
  139. data/config/locales/sk.yml +0 -60
  140. data/config/locales/sr-CS.yml +0 -25
  141. data/config/locales/sv.yml +82 -113
  142. data/config/locales/tr-TR.yml +0 -58
  143. data/config/locales/uk.yml +0 -15
  144. data/config/locales/zh-CN.yml +0 -57
  145. data/config/locales/zh-TW.yml +0 -65
  146. data/db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb +1 -1
  147. data/db/migrate/20240110203504_create_default_proposal_states.rb +1 -1
  148. data/db/migrate/20250121110014_rename_proposal_valuation_assignments_to_evaluation_assignments.rb +15 -0
  149. data/db/migrate/20250121110904_rename_valuation_assignments_count_to_evaluation_assignments_count.rb +16 -0
  150. data/db/migrate/20250211141313_rename_valuator_columns.rb +8 -0
  151. data/db/migrate/20250515132351_rename_proposals_endorsements_count_to_likes.rb +7 -0
  152. data/decidim-proposals.gemspec +1 -1
  153. data/lib/decidim/api/mutations/answer_proposal_attributes.rb +17 -0
  154. data/lib/decidim/api/mutations/proposal_answer_type.rb +57 -0
  155. data/lib/decidim/api/mutations/proposal_mutation_type.rb +14 -0
  156. data/lib/decidim/api/mutations/proposals_mutation_type.rb +23 -0
  157. data/lib/decidim/api/proposal_input_sort.rb +1 -1
  158. data/lib/decidim/api/proposal_state_type.rb +16 -0
  159. data/lib/decidim/api/proposal_type.rb +59 -9
  160. data/lib/decidim/proposals/admin_engine.rb +3 -3
  161. data/lib/decidim/proposals/admin_filter.rb +3 -3
  162. data/lib/decidim/proposals/api.rb +5 -0
  163. data/lib/decidim/proposals/component.rb +44 -36
  164. data/lib/decidim/proposals/engine.rb +18 -83
  165. data/lib/decidim/proposals/evaluable.rb +22 -0
  166. data/lib/decidim/proposals/import/proposal_creator.rb +1 -1
  167. data/lib/decidim/proposals/proposal_serializer.rb +9 -11
  168. data/lib/decidim/proposals/seeds.rb +17 -28
  169. data/lib/decidim/proposals/test/factories.rb +21 -53
  170. data/lib/decidim/proposals/version.rb +1 -1
  171. data/lib/decidim/proposals.rb +3 -3
  172. data/lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake +11 -11
  173. metadata +57 -47
  174. data/app/commands/decidim/proposals/hashtags_methods.rb +0 -36
  175. data/app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb +0 -55
  176. data/app/events/decidim/proposals/proposal_endorsed_event.rb +0 -33
  177. data/app/forms/decidim/proposals/admin/proposals_file_import_form.rb +0 -31
  178. data/app/forms/decidim/proposals/admin/valuation_assignment_form.rb +0 -38
  179. data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +0 -32
  180. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +0 -58
  181. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +0 -58
  182. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +0 -74
  183. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +0 -48
  184. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +0 -52
  185. data/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb +0 -11
  186. data/app/views/decidim/proposals/admin/proposals/_endorsers.html.erb +0 -25
  187. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb +0 -19
  188. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb +0 -19
  189. data/lib/decidim/proposals/valuatable.rb +0 -22
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-proposals
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.5
4
+ version: 0.31.0.rc1
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: 2026-01-28 00:00:00.000000000 Z
13
+ date: 2025-09-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-comments
@@ -18,42 +18,48 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.30.5
21
+ version: 0.31.0.rc1
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.30.5
28
+ version: 0.31.0.rc1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-core
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.30.5
35
+ version: 0.31.0.rc1
36
36
  type: :runtime
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.30.5
42
+ version: 0.31.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: doc2text
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.4.7
49
+ version: 0.4.0
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.4.8
50
53
  type: :runtime
51
54
  prerelease: false
52
55
  version_requirements: !ruby/object:Gem::Requirement
53
56
  requirements:
54
57
  - - "~>"
55
58
  - !ruby/object:Gem::Version
56
- version: 0.4.7
59
+ version: 0.4.0
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.4.8
57
63
  - !ruby/object:Gem::Dependency
58
64
  name: redcarpet
59
65
  requirement: !ruby/object:Gem::Requirement
@@ -80,98 +86,98 @@ dependencies:
80
86
  requirements:
81
87
  - - '='
82
88
  - !ruby/object:Gem::Version
83
- version: 0.30.5
89
+ version: 0.31.0.rc1
84
90
  type: :development
85
91
  prerelease: false
86
92
  version_requirements: !ruby/object:Gem::Requirement
87
93
  requirements:
88
94
  - - '='
89
95
  - !ruby/object:Gem::Version
90
- version: 0.30.5
96
+ version: 0.31.0.rc1
91
97
  - !ruby/object:Gem::Dependency
92
98
  name: decidim-assemblies
93
99
  requirement: !ruby/object:Gem::Requirement
94
100
  requirements:
95
101
  - - '='
96
102
  - !ruby/object:Gem::Version
97
- version: 0.30.5
103
+ version: 0.31.0.rc1
98
104
  type: :development
99
105
  prerelease: false
100
106
  version_requirements: !ruby/object:Gem::Requirement
101
107
  requirements:
102
108
  - - '='
103
109
  - !ruby/object:Gem::Version
104
- version: 0.30.5
110
+ version: 0.31.0.rc1
105
111
  - !ruby/object:Gem::Dependency
106
112
  name: decidim-budgets
107
113
  requirement: !ruby/object:Gem::Requirement
108
114
  requirements:
109
115
  - - '='
110
116
  - !ruby/object:Gem::Version
111
- version: 0.30.5
117
+ version: 0.31.0.rc1
112
118
  type: :development
113
119
  prerelease: false
114
120
  version_requirements: !ruby/object:Gem::Requirement
115
121
  requirements:
116
122
  - - '='
117
123
  - !ruby/object:Gem::Version
118
- version: 0.30.5
124
+ version: 0.31.0.rc1
119
125
  - !ruby/object:Gem::Dependency
120
126
  name: decidim-conference
121
127
  requirement: !ruby/object:Gem::Requirement
122
128
  requirements:
123
129
  - - '='
124
130
  - !ruby/object:Gem::Version
125
- version: 0.30.5
131
+ version: 0.31.0.rc1
126
132
  type: :development
127
133
  prerelease: false
128
134
  version_requirements: !ruby/object:Gem::Requirement
129
135
  requirements:
130
136
  - - '='
131
137
  - !ruby/object:Gem::Version
132
- version: 0.30.5
138
+ version: 0.31.0.rc1
133
139
  - !ruby/object:Gem::Dependency
134
140
  name: decidim-dev
135
141
  requirement: !ruby/object:Gem::Requirement
136
142
  requirements:
137
143
  - - '='
138
144
  - !ruby/object:Gem::Version
139
- version: 0.30.5
145
+ version: 0.31.0.rc1
140
146
  type: :development
141
147
  prerelease: false
142
148
  version_requirements: !ruby/object:Gem::Requirement
143
149
  requirements:
144
150
  - - '='
145
151
  - !ruby/object:Gem::Version
146
- version: 0.30.5
152
+ version: 0.31.0.rc1
147
153
  - !ruby/object:Gem::Dependency
148
154
  name: decidim-meetings
149
155
  requirement: !ruby/object:Gem::Requirement
150
156
  requirements:
151
157
  - - '='
152
158
  - !ruby/object:Gem::Version
153
- version: 0.30.5
159
+ version: 0.31.0.rc1
154
160
  type: :development
155
161
  prerelease: false
156
162
  version_requirements: !ruby/object:Gem::Requirement
157
163
  requirements:
158
164
  - - '='
159
165
  - !ruby/object:Gem::Version
160
- version: 0.30.5
166
+ version: 0.31.0.rc1
161
167
  - !ruby/object:Gem::Dependency
162
168
  name: decidim-participatory_processes
163
169
  requirement: !ruby/object:Gem::Requirement
164
170
  requirements:
165
171
  - - '='
166
172
  - !ruby/object:Gem::Version
167
- version: 0.30.5
173
+ version: 0.31.0.rc1
168
174
  type: :development
169
175
  prerelease: false
170
176
  version_requirements: !ruby/object:Gem::Requirement
171
177
  requirements:
172
178
  - - '='
173
179
  - !ruby/object:Gem::Version
174
- version: 0.30.5
180
+ version: 0.31.0.rc1
175
181
  description: A proposals component for decidim's participatory spaces.
176
182
  email:
177
183
  - josepjaume@gmail.com
@@ -224,7 +230,7 @@ files:
224
230
  - app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb
225
231
  - app/commands/decidim/proposals/accept_coauthorship.rb
226
232
  - app/commands/decidim/proposals/admin/answer_proposal.rb
227
- - app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb
233
+ - app/commands/decidim/proposals/admin/assign_proposals_to_evaluator.rb
228
234
  - app/commands/decidim/proposals/admin/create_proposal.rb
229
235
  - app/commands/decidim/proposals/admin/create_proposal_note.rb
230
236
  - app/commands/decidim/proposals/admin/create_proposal_state.rb
@@ -239,7 +245,7 @@ files:
239
245
  - app/commands/decidim/proposals/admin/publish_participatory_text.rb
240
246
  - app/commands/decidim/proposals/admin/reply_proposal_note.rb
241
247
  - app/commands/decidim/proposals/admin/split_proposals.rb
242
- - app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb
248
+ - app/commands/decidim/proposals/admin/unassign_proposals_from_evaluator.rb
243
249
  - app/commands/decidim/proposals/admin/update_participatory_text.rb
244
250
  - app/commands/decidim/proposals/admin/update_proposal.rb
245
251
  - app/commands/decidim/proposals/admin/update_proposal_state.rb
@@ -249,7 +255,6 @@ files:
249
255
  - app/commands/decidim/proposals/create_proposal.rb
250
256
  - app/commands/decidim/proposals/destroy_proposal.rb
251
257
  - app/commands/decidim/proposals/gallery_methods.rb
252
- - app/commands/decidim/proposals/hashtags_methods.rb
253
258
  - app/commands/decidim/proposals/invite_coauthor.rb
254
259
  - app/commands/decidim/proposals/publish_collaborative_draft.rb
255
260
  - app/commands/decidim/proposals/publish_proposal.rb
@@ -267,6 +272,7 @@ files:
267
272
  - app/controllers/concerns/decidim/proposals/collaborative_orderable.rb
268
273
  - app/controllers/concerns/decidim/proposals/orderable.rb
269
274
  - app/controllers/decidim/proposals/admin/application_controller.rb
275
+ - app/controllers/decidim/proposals/admin/evaluation_assignments_controller.rb
270
276
  - app/controllers/decidim/proposals/admin/participatory_texts_controller.rb
271
277
  - app/controllers/decidim/proposals/admin/proposal_answers_controller.rb
272
278
  - app/controllers/decidim/proposals/admin/proposal_notes_controller.rb
@@ -275,7 +281,6 @@ files:
275
281
  - app/controllers/decidim/proposals/admin/proposals_imports_controller.rb
276
282
  - app/controllers/decidim/proposals/admin/proposals_merges_controller.rb
277
283
  - app/controllers/decidim/proposals/admin/proposals_splits_controller.rb
278
- - app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb
279
284
  - app/controllers/decidim/proposals/application_controller.rb
280
285
  - app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb
281
286
  - app/controllers/decidim/proposals/collaborative_drafts_controller.rb
@@ -284,7 +289,7 @@ files:
284
289
  - app/controllers/decidim/proposals/proposals_controller.rb
285
290
  - app/controllers/decidim/proposals/versions_controller.rb
286
291
  - app/events/decidim/proposals/accepted_coauthorship_event.rb
287
- - app/events/decidim/proposals/admin/proposal_assigned_to_valuator_event.rb
292
+ - app/events/decidim/proposals/admin/proposal_assigned_to_evaluator_event.rb
288
293
  - app/events/decidim/proposals/admin/proposal_note_created_event.rb
289
294
  - app/events/decidim/proposals/coauthor_accepted_invite_event.rb
290
295
  - app/events/decidim/proposals/coauthor_invited_event.rb
@@ -297,8 +302,9 @@ files:
297
302
  - app/events/decidim/proposals/collaborative_draft_access_requester_rejected_event.rb
298
303
  - app/events/decidim/proposals/collaborative_draft_withdrawn_event.rb
299
304
  - app/events/decidim/proposals/creation_enabled_event.rb
300
- - app/events/decidim/proposals/endorsing_enabled_event.rb
301
- - app/events/decidim/proposals/proposal_endorsed_event.rb
305
+ - app/events/decidim/proposals/liking_enabled_event.rb
306
+ - app/events/decidim/proposals/merged_proposal_event.rb
307
+ - app/events/decidim/proposals/proposal_liked_event.rb
302
308
  - app/events/decidim/proposals/proposal_mentioned_event.rb
303
309
  - app/events/decidim/proposals/proposal_state_changed_event.rb
304
310
  - app/events/decidim/proposals/publish_proposal_event.rb
@@ -307,6 +313,7 @@ files:
307
313
  - app/events/decidim/proposals/voting_enabled_event.rb
308
314
  - app/forms/decidim/proposals/accept_access_to_collaborative_draft_form.rb
309
315
  - app/forms/decidim/proposals/access_to_collaborative_draft_form.rb
316
+ - app/forms/decidim/proposals/admin/evaluation_assignment_form.rb
310
317
  - app/forms/decidim/proposals/admin/import_participatory_text_form.rb
311
318
  - app/forms/decidim/proposals/admin/participatory_text_proposal_form.rb
312
319
  - app/forms/decidim/proposals/admin/preview_participatory_text_form.rb
@@ -315,12 +322,10 @@ files:
315
322
  - app/forms/decidim/proposals/admin/proposal_form.rb
316
323
  - app/forms/decidim/proposals/admin/proposal_note_form.rb
317
324
  - app/forms/decidim/proposals/admin/proposal_state_form.rb
318
- - app/forms/decidim/proposals/admin/proposals_file_import_form.rb
319
325
  - app/forms/decidim/proposals/admin/proposals_fork_form.rb
320
326
  - app/forms/decidim/proposals/admin/proposals_import_form.rb
321
327
  - app/forms/decidim/proposals/admin/proposals_merge_form.rb
322
328
  - app/forms/decidim/proposals/admin/proposals_split_form.rb
323
- - app/forms/decidim/proposals/admin/valuation_assignment_form.rb
324
329
  - app/forms/decidim/proposals/collaborative_draft_form.rb
325
330
  - app/forms/decidim/proposals/proposal_form.rb
326
331
  - app/forms/decidim/proposals/reject_access_to_collaborative_draft_form.rb
@@ -347,12 +352,12 @@ files:
347
352
  - app/models/decidim/proposals/application_record.rb
348
353
  - app/models/decidim/proposals/collaborative_draft.rb
349
354
  - app/models/decidim/proposals/collaborative_draft_collaborator_request.rb
355
+ - app/models/decidim/proposals/evaluation_assignment.rb
350
356
  - app/models/decidim/proposals/participatory_text.rb
351
357
  - app/models/decidim/proposals/proposal.rb
352
358
  - app/models/decidim/proposals/proposal_note.rb
353
359
  - app/models/decidim/proposals/proposal_state.rb
354
360
  - app/models/decidim/proposals/proposal_vote.rb
355
- - app/models/decidim/proposals/valuation_assignment.rb
356
361
  - app/packs/documents/decidim/proposals/participatory_texts/participatory_text.md
357
362
  - app/packs/documents/decidim/proposals/participatory_texts/participatory_text.odt
358
363
  - app/packs/entrypoints/decidim_proposals.js
@@ -367,6 +372,7 @@ files:
367
372
  - app/packs/src/decidim/proposals/add_proposal.js
368
373
  - app/packs/src/decidim/proposals/admin/proposals.js
369
374
  - app/packs/src/decidim/proposals/admin/proposals_form.js
375
+ - app/packs/src/decidim/proposals/admin/proposals_merge.js
370
376
  - app/packs/src/decidim/proposals/choose_proposals.js
371
377
  - app/packs/src/decidim/proposals/exit_handler.js
372
378
  - app/packs/src/decidim/proposals/utils.js
@@ -374,24 +380,18 @@ files:
374
380
  - app/packs/stylesheets/decidim/proposals/proposals.scss
375
381
  - app/permissions/decidim/proposals/admin/permissions.rb
376
382
  - app/permissions/decidim/proposals/permissions.rb
383
+ - app/presenters/decidim/proposals/admin_log/evaluation_assignment_presenter.rb
377
384
  - app/presenters/decidim/proposals/admin_log/proposal_note_presenter.rb
378
385
  - app/presenters/decidim/proposals/admin_log/proposal_presenter.rb
379
386
  - app/presenters/decidim/proposals/admin_log/proposal_state_presenter.rb
380
- - app/presenters/decidim/proposals/admin_log/valuation_assignment_presenter.rb
387
+ - app/presenters/decidim/proposals/admin_log/value_types/evaluator_role_user_presenter.rb
381
388
  - app/presenters/decidim/proposals/admin_log/value_types/proposal_state_presenter.rb
382
389
  - app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb
383
- - app/presenters/decidim/proposals/admin_log/value_types/valuator_role_user_presenter.rb
384
390
  - app/presenters/decidim/proposals/collaborative_draft_presenter.rb
385
- - app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb
391
+ - app/presenters/decidim/proposals/log/evaluation_assignment_presenter.rb
386
392
  - app/presenters/decidim/proposals/official_author_presenter.rb
387
393
  - app/presenters/decidim/proposals/proposal_presenter.rb
388
394
  - app/queries/decidim/proposals/filtered_proposals.rb
389
- - app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb
390
- - app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb
391
- - app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb
392
- - app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb
393
- - app/queries/decidim/proposals/metrics/proposals_metric_manage.rb
394
- - app/queries/decidim/proposals/metrics/votes_metric_manage.rb
395
395
  - app/services/decidim/proposals/collaborative_draft_diff_renderer.rb
396
396
  - app/services/decidim/proposals/diff_renderer.rb
397
397
  - app/services/decidim/proposals/proposal_builder.rb
@@ -399,7 +399,6 @@ files:
399
399
  - app/validators/proposal_length_validator.rb
400
400
  - app/views/decidim/proposals/admin/import_proposals_mailer/notify_failure.html.erb
401
401
  - app/views/decidim/proposals/admin/import_proposals_mailer/notify_success.html.erb
402
- - app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb
403
402
  - app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb
404
403
  - app/views/decidim/proposals/admin/participatory_texts/_bulk-actions.html.erb
405
404
  - app/views/decidim/proposals/admin/participatory_texts/index.html.erb
@@ -416,21 +415,21 @@ files:
416
415
  - app/views/decidim/proposals/admin/proposals/_actions.html.erb
417
416
  - app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb
418
417
  - app/views/decidim/proposals/admin/proposals/_documents.html.erb
419
- - app/views/decidim/proposals/admin/proposals/_endorsers.html.erb
420
418
  - app/views/decidim/proposals/admin/proposals/_form.html.erb
419
+ - app/views/decidim/proposals/admin/proposals/_likes.html.erb
421
420
  - app/views/decidim/proposals/admin/proposals/_meetings.html.erb
422
421
  - app/views/decidim/proposals/admin/proposals/_photos.html.erb
423
422
  - app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb
424
423
  - app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb
425
424
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_apply_answer_template.html.erb
426
- - app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb
425
+ - app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_evaluator.html.erb
427
426
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb
427
+ - app/views/decidim/proposals/admin/proposals/bulk_actions/_evaluators_picker.html.erb
428
428
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb
429
429
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_publish_answers.html.erb
430
430
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_split.html.erb
431
431
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_taxonomy_change.html.erb
432
- - app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb
433
- - app/views/decidim/proposals/admin/proposals/bulk_actions/_valuators_picker.html.erb
432
+ - app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_evaluator.html.erb
434
433
  - app/views/decidim/proposals/admin/proposals/edit.html.erb
435
434
  - app/views/decidim/proposals/admin/proposals/index.html.erb
436
435
  - app/views/decidim/proposals/admin/proposals/manage_trash.html.erb
@@ -439,6 +438,8 @@ files:
439
438
  - app/views/decidim/proposals/admin/proposals/show.html.erb
440
439
  - app/views/decidim/proposals/admin/proposals/update_attribute.js.erb
441
440
  - app/views/decidim/proposals/admin/proposals_imports/new.html.erb
441
+ - app/views/decidim/proposals/admin/proposals_merges/_form.html.erb
442
+ - app/views/decidim/proposals/admin/proposals_merges/new.html.erb
442
443
  - app/views/decidim/proposals/collaborative_drafts/_accept_request_access_form.html.erb
443
444
  - app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb
444
445
  - app/views/decidim/proposals/collaborative_drafts/_collaborative_draft_aside.html.erb
@@ -634,11 +635,20 @@ files:
634
635
  - db/migrate/20240617091140_add_email_on_assigned_proposals_to_users.rb
635
636
  - db/migrate/20240617170052_add_parent_relation_to_decidim_proposal_notes.rb
636
637
  - db/migrate/20240828103755_add_deleted_at_to_decidim_proposals_proposals.rb
638
+ - db/migrate/20250121110014_rename_proposal_valuation_assignments_to_evaluation_assignments.rb
639
+ - db/migrate/20250121110904_rename_valuation_assignments_count_to_evaluation_assignments_count.rb
640
+ - db/migrate/20250211141313_rename_valuator_columns.rb
641
+ - db/migrate/20250515132351_rename_proposals_endorsements_count_to_likes.rb
637
642
  - decidim-proposals.gemspec
638
643
  - lib/decidim/api/functions/proposal_finder_helper.rb
639
644
  - lib/decidim/api/functions/proposal_list_helper.rb
645
+ - lib/decidim/api/mutations/answer_proposal_attributes.rb
646
+ - lib/decidim/api/mutations/proposal_answer_type.rb
647
+ - lib/decidim/api/mutations/proposal_mutation_type.rb
648
+ - lib/decidim/api/mutations/proposals_mutation_type.rb
640
649
  - lib/decidim/api/proposal_input_filter.rb
641
650
  - lib/decidim/api/proposal_input_sort.rb
651
+ - lib/decidim/api/proposal_state_type.rb
642
652
  - lib/decidim/api/proposal_type.rb
643
653
  - lib/decidim/api/proposals_type.rb
644
654
  - lib/decidim/content_parsers/proposal_parser.rb
@@ -654,6 +664,7 @@ files:
654
664
  - lib/decidim/proposals/doc_to_markdown.rb
655
665
  - lib/decidim/proposals/download_your_data_proposal_serializer.rb
656
666
  - lib/decidim/proposals/engine.rb
667
+ - lib/decidim/proposals/evaluable.rb
657
668
  - lib/decidim/proposals/import.rb
658
669
  - lib/decidim/proposals/import/proposal_answer_creator.rb
659
670
  - lib/decidim/proposals/import/proposal_creator.rb
@@ -665,7 +676,6 @@ files:
665
676
  - lib/decidim/proposals/proposal_serializer.rb
666
677
  - lib/decidim/proposals/seeds.rb
667
678
  - lib/decidim/proposals/test/factories.rb
668
- - lib/decidim/proposals/valuatable.rb
669
679
  - lib/decidim/proposals/version.rb
670
680
  - lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake
671
681
  homepage: https://decidim.org
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- # A module with all the hash tags common methods for proposals
6
- # and collaborative draft commands.
7
- module HashtagsMethods
8
- private
9
-
10
- def title_with_hashtags
11
- @title_with_hashtags ||= Decidim::ContentProcessor.parse_with_processor(:hashtag, form.title, current_organization: form.current_organization).rewrite
12
- end
13
-
14
- def body_with_hashtags
15
- @body_with_hashtags ||= begin
16
- ret = Decidim::ContentProcessor.parse(form.body, current_organization: form.current_organization).rewrite.strip
17
- ret += "\n\n#{body_extra_hashtags.strip}" unless body_extra_hashtags.empty?
18
- ret
19
- end
20
- end
21
-
22
- def body_extra_hashtags
23
- @body_extra_hashtags ||= if form.respond_to?(:extra_hashtags)
24
- Decidim::ContentProcessor.parse_with_processor(
25
- :hashtag,
26
- form.extra_hashtags.map { |hashtag| "##{hashtag}" }.join(" "),
27
- current_organization: form.current_organization,
28
- extra_hashtags: true
29
- ).rewrite
30
- else
31
- ""
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- class ValuationAssignmentsController < Admin::ApplicationController
7
- def create
8
- @form = form(Admin::ValuationAssignmentForm).from_params(params)
9
-
10
- @form.proposals.each do |proposal|
11
- enforce_permission_to :assign_to_valuator, :proposals, proposal:
12
- end
13
-
14
- Admin::AssignProposalsToValuator.call(@form) do
15
- on(:ok) do |_proposal|
16
- flash[:notice] = I18n.t("valuation_assignments.create.success", scope: "decidim.proposals.admin")
17
- redirect_to EngineRouter.admin_proxy(current_component).root_path
18
- end
19
-
20
- on(:invalid) do
21
- flash.now[:alert] = I18n.t("valuation_assignments.create.invalid", scope: "decidim.proposals.admin")
22
- redirect_to EngineRouter.admin_proxy(current_component).root_path
23
- end
24
- end
25
- end
26
-
27
- def destroy
28
- @form = form(Admin::ValuationAssignmentForm).from_params(params)
29
-
30
- @form.valuator_roles.each do |valuator_role|
31
- enforce_permission_to :unassign_from_valuator, :proposals, valuator: valuator_role.user
32
- end
33
-
34
- Admin::UnassignProposalsFromValuator.call(@form) do
35
- on(:ok) do |_proposal|
36
- flash.keep[:notice] = I18n.t("valuation_assignments.delete.success", scope: "decidim.proposals.admin")
37
- redirect_back fallback_location: EngineRouter.admin_proxy(current_component).root_path
38
- end
39
-
40
- on(:invalid) do
41
- flash.keep[:alert] = I18n.t("valuation_assignments.delete.invalid", scope: "decidim.proposals.admin")
42
- redirect_back fallback_location: EngineRouter.admin_proxy(current_component).root_path
43
- end
44
- end
45
- end
46
-
47
- private
48
-
49
- def skip_manage_component_permission
50
- true
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- class ProposalEndorsedEvent < Decidim::Events::SimpleEvent
6
- i18n_attributes :endorser_nickname, :endorser_name, :endorser_path, :nickname
7
-
8
- delegate :nickname, :name, to: :endorser, prefix: true
9
-
10
- def nickname
11
- endorser_nickname
12
- end
13
-
14
- def endorser_path
15
- endorser.profile_path
16
- end
17
-
18
- def resource_text
19
- resource.body
20
- end
21
-
22
- private
23
-
24
- def endorser
25
- @endorser ||= Decidim::UserPresenter.new(endorser_user)
26
- end
27
-
28
- def endorser_user
29
- @endorser_user ||= Decidim::User.find_by(id: extra[:endorser_id])
30
- end
31
- end
32
- end
33
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- # A form object to be used when admin users want to import proposals from
7
- # a file.
8
- class ProposalsFileImportForm < Decidim::Admin::ImportForm
9
- attribute :user_group_id, Integer
10
-
11
- def user_groups
12
- Decidim::UserGroups::ManageableUserGroups.for(current_user).verified
13
- end
14
-
15
- protected
16
-
17
- def user_group
18
- @user_group ||= Decidim::UserGroup.find_by(
19
- organization: current_organization,
20
- id: user_group_id.to_i
21
- )
22
- end
23
-
24
- def importer_context
25
- context[:user_group] = user_group
26
- context
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- class ValuationAssignmentForm < Decidim::Form
7
- attribute :id, Integer
8
- attribute :proposal_ids, Array
9
- attribute :valuator_role_ids, Array
10
-
11
- validates :valuator_roles, :proposals, :current_component, presence: true
12
- validate :same_participatory_space
13
-
14
- def proposals
15
- @proposals ||= Decidim::Proposals::Proposal.where(component: current_component, id: proposal_ids).uniq
16
- end
17
-
18
- def valuator_roles
19
- @valuator_roles ||= current_component.participatory_space
20
- .user_roles(:valuator)
21
- .order_by_name
22
- .where(id: valuator_role_ids)
23
- end
24
-
25
- def same_participatory_space
26
- return if valuator_roles.empty? || !current_component
27
-
28
- valuator_roles.each do |valuator_role|
29
- if current_component.participatory_space != valuator_role.participatory_space
30
- errors.add(:id, :invalid)
31
- break
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Metrics
6
- class AcceptedProposalsMetricManage < Decidim::Proposals::Metrics::ProposalsMetricManage
7
- def metric_name
8
- "accepted_proposals"
9
- end
10
-
11
- private
12
-
13
- def query
14
- return @query if @query
15
-
16
- spaces = Decidim.participatory_space_manifests.flat_map do |manifest|
17
- manifest.participatory_spaces.call(@organization).public_spaces
18
- end
19
- @query = Decidim::Proposals::Proposal.where(component: visible_components_from_spaces(spaces)).joins(:component)
20
- .left_outer_joins(:category)
21
- @query = @query.where(decidim_proposals_proposals: { created_at: ..end_time }).accepted
22
- @query = @query.group("decidim_categorizations.id", :participatory_space_type, :participatory_space_id)
23
- @query
24
- end
25
-
26
- def quantity
27
- @quantity ||= query.where(decidim_proposals_proposals: { created_at: start_time.. }).count
28
- end
29
- end
30
- end
31
- end
32
- end