decidim-proposals 0.29.1 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +12 -12
  3. data/app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb +1 -1
  4. data/app/cells/decidim/proposals/participatory_text_proposal_cell.rb +1 -1
  5. data/app/cells/decidim/proposals/proposal_g/show.erb +13 -0
  6. data/app/cells/decidim/proposals/proposal_g_cell.rb +34 -0
  7. data/app/cells/decidim/proposals/proposal_history_cell.rb +107 -0
  8. data/app/cells/decidim/proposals/proposal_l/show.erb +37 -0
  9. data/app/cells/decidim/proposals/proposal_l_cell.rb +26 -18
  10. data/app/cells/decidim/proposals/proposal_metadata_cell.rb +2 -2
  11. data/app/cells/decidim/proposals/proposal_vote/show.erb +75 -0
  12. data/app/cells/decidim/proposals/proposal_vote_cell.rb +43 -0
  13. data/app/commands/decidim/proposals/accept_coauthorship.rb +62 -0
  14. data/app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb +14 -0
  15. data/app/commands/decidim/proposals/admin/create_proposal.rb +6 -14
  16. data/app/commands/decidim/proposals/admin/create_proposal_note.rb +20 -11
  17. data/app/commands/decidim/proposals/admin/import_proposals.rb +0 -5
  18. data/app/commands/decidim/proposals/admin/merge_proposals.rb +2 -2
  19. data/app/commands/decidim/proposals/admin/proposal_notes_methods.rb +48 -0
  20. data/app/commands/decidim/proposals/admin/reply_proposal_note.rb +92 -0
  21. data/app/commands/decidim/proposals/admin/split_proposals.rb +2 -2
  22. data/app/commands/decidim/proposals/admin/update_proposal.rb +10 -16
  23. data/app/commands/decidim/proposals/admin/update_proposal_taxonomies.rb +34 -0
  24. data/app/commands/decidim/proposals/cancel_coauthorship.rb +32 -0
  25. data/app/commands/decidim/proposals/create_collaborative_draft.rb +1 -2
  26. data/app/commands/decidim/proposals/create_proposal.rb +1 -2
  27. data/app/commands/decidim/proposals/invite_coauthor.rb +45 -0
  28. data/app/commands/decidim/proposals/publish_collaborative_draft.rb +1 -2
  29. data/app/commands/decidim/proposals/reject_coauthorship.rb +54 -0
  30. data/app/commands/decidim/proposals/update_collaborative_draft.rb +1 -2
  31. data/app/commands/decidim/proposals/update_proposal.rb +1 -2
  32. data/app/controllers/concerns/decidim/proposals/admin/filterable.rb +6 -2
  33. data/app/controllers/concerns/decidim/proposals/admin/needs_interpolations.rb +40 -0
  34. data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +50 -2
  35. data/app/controllers/decidim/proposals/admin/proposal_notes_controller.rb +18 -0
  36. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +41 -85
  37. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +2 -4
  38. data/app/controllers/decidim/proposals/invite_coauthors_controller.rb +87 -0
  39. data/app/controllers/decidim/proposals/proposals_controller.rb +11 -40
  40. data/app/events/decidim/proposals/accepted_coauthorship_event.rb +8 -0
  41. data/app/events/decidim/proposals/admin/proposal_assigned_to_valuator_event.rb +27 -0
  42. data/app/events/decidim/proposals/admin/proposal_note_created_event.rb +5 -0
  43. data/app/events/decidim/proposals/coauthor_accepted_invite_event.rb +49 -0
  44. data/app/events/decidim/proposals/coauthor_invited_event.rb +45 -0
  45. data/app/events/decidim/proposals/coauthor_rejected_invite_event.rb +8 -0
  46. data/app/events/decidim/proposals/rejected_coauthorship_event.rb +8 -0
  47. data/app/events/decidim/proposals/update_proposal_taxonomies_event.rb +9 -0
  48. data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +4 -3
  49. data/app/forms/decidim/proposals/admin/proposal_base_form.rb +3 -31
  50. data/app/forms/decidim/proposals/admin/proposal_form.rb +12 -7
  51. data/app/forms/decidim/proposals/admin/proposals_import_form.rb +6 -14
  52. data/app/forms/decidim/proposals/admin/valuation_assignment_form.rb +4 -1
  53. data/app/forms/decidim/proposals/collaborative_draft_form.rb +0 -8
  54. data/app/forms/decidim/proposals/proposal_form.rb +5 -32
  55. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +26 -1
  56. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +0 -1
  57. data/app/helpers/decidim/proposals/application_helper.rb +23 -14
  58. data/app/helpers/decidim/proposals/collaborative_draft_helper.rb +7 -7
  59. data/app/helpers/decidim/proposals/map_helper.rb +0 -18
  60. data/app/helpers/decidim/proposals/proposal_votes_helper.rb +15 -2
  61. data/app/jobs/decidim/proposals/admin/proposal_answer_job.rb +20 -0
  62. data/app/models/decidim/proposals/collaborative_draft.rb +10 -1
  63. data/app/models/decidim/proposals/proposal.rb +67 -10
  64. data/app/models/decidim/proposals/proposal_note.rb +11 -0
  65. data/app/models/decidim/proposals/proposal_state.rb +1 -1
  66. data/app/packs/entrypoints/decidim_proposals.js +1 -0
  67. data/app/packs/entrypoints/decidim_proposals_geocoding.js +2 -0
  68. data/app/packs/src/decidim/proposals/admin/proposals.js +16 -1
  69. data/app/packs/src/decidim/proposals/exit_handler.js +73 -0
  70. data/app/packs/stylesheets/decidim/proposals/proposals.scss +246 -5
  71. data/app/permissions/decidim/proposals/admin/permissions.rb +2 -5
  72. data/app/permissions/decidim/proposals/permissions.rb +46 -3
  73. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -1
  74. data/app/presenters/decidim/proposals/proposal_presenter.rb +1 -1
  75. data/app/queries/decidim/proposals/filtered_proposals.rb +2 -2
  76. data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +2 -2
  77. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +10 -10
  78. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +4 -4
  79. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +6 -6
  80. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +6 -6
  81. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +6 -6
  82. data/app/services/decidim/proposals/collaborative_draft_diff_renderer.rb +22 -0
  83. data/app/services/decidim/proposals/diff_renderer.rb +2 -0
  84. data/app/services/decidim/proposals/proposal_builder.rb +2 -2
  85. data/app/views/decidim/proposals/admin/proposal_notes/_form.html.erb +3 -3
  86. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_note.html.erb +28 -0
  87. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_note_reply.html.erb +9 -0
  88. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +4 -28
  89. data/app/views/decidim/proposals/admin/proposal_states/_form.html.erb +1 -1
  90. data/app/views/decidim/proposals/admin/proposals/_actions.html.erb +21 -0
  91. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +3 -2
  92. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +16 -23
  93. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +12 -28
  94. data/app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb +45 -0
  95. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_apply_answer_template.html.erb +22 -0
  96. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +15 -11
  97. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_taxonomy_change.html.erb +23 -0
  98. data/app/views/decidim/proposals/admin/proposals/index.html.erb +17 -48
  99. data/app/views/decidim/proposals/admin/proposals/manage_trash.html.erb +18 -0
  100. data/app/views/decidim/proposals/admin/proposals/publish_answers.js.erb +1 -1
  101. data/app/views/decidim/proposals/admin/proposals/show.html.erb +10 -22
  102. data/app/views/decidim/proposals/admin/proposals/update_attribute.js.erb +1 -1
  103. data/app/views/decidim/proposals/admin/proposals_imports/new.html.erb +2 -5
  104. data/app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb +9 -0
  105. data/app/views/decidim/proposals/collaborative_drafts/_collaborative_draft_aside.html.erb +0 -15
  106. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +4 -6
  107. data/app/views/decidim/proposals/collaborative_drafts/index.html.erb +6 -2
  108. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +27 -11
  109. data/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +29 -9
  110. data/app/views/decidim/proposals/proposals/_actions.html.erb +4 -7
  111. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +17 -22
  112. data/app/views/decidim/proposals/proposals/_exit_modal.html.erb +17 -0
  113. data/app/views/decidim/proposals/proposals/_notification_alert_box.html.erb +1 -0
  114. data/app/views/decidim/proposals/proposals/_proposal_actions.html.erb +19 -0
  115. data/app/views/decidim/proposals/proposals/_proposal_aside.html.erb +9 -32
  116. data/app/views/decidim/proposals/proposals/_proposal_voting_rules.html.erb +33 -0
  117. data/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +2 -2
  118. data/app/views/decidim/proposals/proposals/_remaining_votes_notification.html.erb +12 -0
  119. data/app/views/decidim/proposals/proposals/_update_proposal_voting_rules.html.erb +6 -0
  120. data/app/views/decidim/proposals/proposals/_vote_button.html.erb +12 -8
  121. data/app/views/decidim/proposals/proposals/_votes_count.html.erb +2 -1
  122. data/app/views/decidim/proposals/proposals/_voting_rules.html.erb +1 -7
  123. data/app/views/decidim/proposals/proposals/index.html.erb +10 -18
  124. data/app/views/decidim/proposals/proposals/index.js.erb +12 -0
  125. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +3 -1
  126. data/app/views/decidim/proposals/proposals/show.html.erb +36 -16
  127. data/config/locales/ar.yml +19 -75
  128. data/config/locales/bg.yml +7 -91
  129. data/config/locales/bn-BD.yml +1 -0
  130. data/config/locales/bs-BA.yml +87 -0
  131. data/config/locales/ca.yml +213 -73
  132. data/config/locales/cs.yml +229 -75
  133. data/config/locales/de.yml +217 -78
  134. data/config/locales/el.yml +9 -85
  135. data/config/locales/en.yml +209 -69
  136. data/config/locales/es-MX.yml +220 -80
  137. data/config/locales/es-PY.yml +215 -75
  138. data/config/locales/es.yml +222 -82
  139. data/config/locales/eu.yml +293 -147
  140. data/config/locales/fi-plain.yml +222 -81
  141. data/config/locales/fi.yml +239 -98
  142. data/config/locales/fr-CA.yml +119 -90
  143. data/config/locales/fr.yml +118 -89
  144. data/config/locales/ga-IE.yml +0 -19
  145. data/config/locales/gl.yml +9 -47
  146. data/config/locales/he-IL.yml +7 -0
  147. data/config/locales/hu.yml +7 -68
  148. data/config/locales/id-ID.yml +9 -36
  149. data/config/locales/is-IS.yml +0 -21
  150. data/config/locales/it.yml +10 -56
  151. data/config/locales/ja.yml +164 -91
  152. data/config/locales/lt.yml +9 -86
  153. data/config/locales/lv.yml +8 -47
  154. data/config/locales/nl.yml +7 -54
  155. data/config/locales/no.yml +9 -46
  156. data/config/locales/pl.yml +7 -91
  157. data/config/locales/pt-BR.yml +7 -77
  158. data/config/locales/pt.yml +9 -57
  159. data/config/locales/ro-RO.yml +17 -63
  160. data/config/locales/ru.yml +0 -25
  161. data/config/locales/sk.yml +9 -48
  162. data/config/locales/sl.yml +0 -4
  163. data/config/locales/sr-CS.yml +0 -14
  164. data/config/locales/sv.yml +132 -88
  165. data/config/locales/tr-TR.yml +9 -54
  166. data/config/locales/uk.yml +0 -25
  167. data/config/locales/zh-CN.yml +9 -54
  168. data/config/locales/zh-TW.yml +9 -87
  169. data/db/migrate/20171220084719_add_published_at_to_proposals.rb +1 -1
  170. data/db/migrate/20181016132225_add_organization_as_author.rb +1 -1
  171. data/db/migrate/20200120215928_move_proposal_endorsements_to_core_endorsements.rb +1 -1
  172. data/db/migrate/20200827154156_add_commentable_counter_cache_to_proposals.rb +3 -3
  173. data/db/migrate/20210310102839_add_followable_counter_cache_to_proposals.rb +1 -1
  174. data/db/migrate/20240110203504_create_default_proposal_states.rb +4 -3
  175. data/db/migrate/20240404202756_add_valuation_assignments_count_to_decidim_proposals_proposals.rb +1 -1
  176. data/db/migrate/20240617091140_add_email_on_assigned_proposals_to_users.rb +7 -0
  177. data/db/migrate/20240617170052_add_parent_relation_to_decidim_proposal_notes.rb +7 -0
  178. data/db/migrate/20240828103755_add_deleted_at_to_decidim_proposals_proposals.rb +8 -0
  179. data/decidim-proposals.gemspec +2 -2
  180. data/lib/decidim/api/functions/proposal_finder_helper.rb +12 -0
  181. data/lib/decidim/api/functions/proposal_list_helper.rb +12 -0
  182. data/lib/decidim/api/proposal_type.rb +30 -25
  183. data/lib/decidim/api/proposals_type.rb +5 -22
  184. data/lib/decidim/proposals/admin_engine.rb +12 -3
  185. data/lib/decidim/proposals/admin_filter.rb +3 -6
  186. data/lib/decidim/proposals/component.rb +4 -5
  187. data/lib/decidim/proposals/download_your_data_proposal_serializer.rb +15 -0
  188. data/lib/decidim/proposals/engine.rb +5 -0
  189. data/lib/decidim/proposals/import/proposal_creator.rb +4 -4
  190. data/lib/decidim/proposals/proposal_serializer.rb +15 -29
  191. data/lib/decidim/proposals/seeds.rb +21 -17
  192. data/lib/decidim/proposals/test/factories.rb +8 -6
  193. data/lib/decidim/proposals/version.rb +1 -1
  194. data/lib/decidim/proposals.rb +4 -0
  195. metadata +69 -30
  196. data/app/commands/decidim/proposals/admin/update_proposal_category.rb +0 -70
  197. data/app/commands/decidim/proposals/admin/update_proposal_scope.rb +0 -75
  198. data/app/events/decidim/proposals/admin/update_proposal_category_event.rb +0 -11
  199. data/app/events/decidim/proposals/admin/update_proposal_scope_event.rb +0 -11
  200. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb +0 -15
  201. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb +0 -21
  202. data/app/views/decidim/proposals/collaborative_drafts/_actions.html.erb +0 -7
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.29.1
4
+ version: 0.30.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: 2024-10-02 00:00:00.000000000 Z
13
+ date: 2025-02-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-comments
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.29.1
21
+ version: 0.30.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.29.1
28
+ version: 0.30.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.29.1
35
+ version: 0.30.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.29.1
42
+ version: 0.30.0.rc1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: doc2text
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -80,98 +80,98 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.29.1
83
+ version: 0.30.0.rc1
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 0.29.1
90
+ version: 0.30.0.rc1
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: decidim-assemblies
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.29.1
97
+ version: 0.30.0.rc1
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 0.29.1
104
+ version: 0.30.0.rc1
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: decidim-budgets
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - '='
110
110
  - !ruby/object:Gem::Version
111
- version: 0.29.1
111
+ version: 0.30.0.rc1
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 0.29.1
118
+ version: 0.30.0.rc1
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: decidim-conference
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 0.29.1
125
+ version: 0.30.0.rc1
126
126
  type: :development
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: 0.29.1
132
+ version: 0.30.0.rc1
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: decidim-dev
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - '='
138
138
  - !ruby/object:Gem::Version
139
- version: 0.29.1
139
+ version: 0.30.0.rc1
140
140
  type: :development
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - '='
145
145
  - !ruby/object:Gem::Version
146
- version: 0.29.1
146
+ version: 0.30.0.rc1
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: decidim-meetings
149
149
  requirement: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - '='
152
152
  - !ruby/object:Gem::Version
153
- version: 0.29.1
153
+ version: 0.30.0.rc1
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: 0.29.1
160
+ version: 0.30.0.rc1
161
161
  - !ruby/object:Gem::Dependency
162
162
  name: decidim-participatory_processes
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - '='
166
166
  - !ruby/object:Gem::Version
167
- version: 0.29.1
167
+ version: 0.30.0.rc1
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - '='
173
173
  - !ruby/object:Gem::Version
174
- version: 0.29.1
174
+ version: 0.30.0.rc1
175
175
  description: A proposals component for decidim's participatory spaces.
176
176
  email:
177
177
  - josepjaume@gmail.com
@@ -206,6 +206,8 @@ files:
206
206
  - app/cells/decidim/proposals/proposal_cell.rb
207
207
  - app/cells/decidim/proposals/proposal_g/show.erb
208
208
  - app/cells/decidim/proposals/proposal_g_cell.rb
209
+ - app/cells/decidim/proposals/proposal_history_cell.rb
210
+ - app/cells/decidim/proposals/proposal_l/show.erb
209
211
  - app/cells/decidim/proposals/proposal_l_cell.rb
210
212
  - app/cells/decidim/proposals/proposal_link_to_collaborative_draft_cell.rb
211
213
  - app/cells/decidim/proposals/proposal_link_to_rejected_emendation_cell.rb
@@ -213,11 +215,14 @@ files:
213
215
  - app/cells/decidim/proposals/proposal_linked_resources_cell.rb
214
216
  - app/cells/decidim/proposals/proposal_metadata_cell.rb
215
217
  - app/cells/decidim/proposals/proposal_s_cell.rb
218
+ - app/cells/decidim/proposals/proposal_vote/show.erb
219
+ - app/cells/decidim/proposals/proposal_vote_cell.rb
216
220
  - app/cells/decidim/proposals/proposals_picker/show.erb
217
221
  - app/cells/decidim/proposals/proposals_picker_cell.rb
218
222
  - app/cells/decidim/proposals/reported_content/show.erb
219
223
  - app/cells/decidim/proposals/reported_content_cell.rb
220
224
  - app/commands/decidim/proposals/accept_access_to_collaborative_draft.rb
225
+ - app/commands/decidim/proposals/accept_coauthorship.rb
221
226
  - app/commands/decidim/proposals/admin/answer_proposal.rb
222
227
  - app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb
223
228
  - app/commands/decidim/proposals/admin/create_proposal.rb
@@ -229,23 +234,27 @@ files:
229
234
  - app/commands/decidim/proposals/admin/import_proposals.rb
230
235
  - app/commands/decidim/proposals/admin/merge_proposals.rb
231
236
  - app/commands/decidim/proposals/admin/notify_proposal_answer.rb
237
+ - app/commands/decidim/proposals/admin/proposal_notes_methods.rb
232
238
  - app/commands/decidim/proposals/admin/publish_answers.rb
233
239
  - app/commands/decidim/proposals/admin/publish_participatory_text.rb
240
+ - app/commands/decidim/proposals/admin/reply_proposal_note.rb
234
241
  - app/commands/decidim/proposals/admin/split_proposals.rb
235
242
  - app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb
236
243
  - app/commands/decidim/proposals/admin/update_participatory_text.rb
237
244
  - app/commands/decidim/proposals/admin/update_proposal.rb
238
- - app/commands/decidim/proposals/admin/update_proposal_category.rb
239
- - app/commands/decidim/proposals/admin/update_proposal_scope.rb
240
245
  - app/commands/decidim/proposals/admin/update_proposal_state.rb
246
+ - app/commands/decidim/proposals/admin/update_proposal_taxonomies.rb
247
+ - app/commands/decidim/proposals/cancel_coauthorship.rb
241
248
  - app/commands/decidim/proposals/create_collaborative_draft.rb
242
249
  - app/commands/decidim/proposals/create_proposal.rb
243
250
  - app/commands/decidim/proposals/destroy_proposal.rb
244
251
  - app/commands/decidim/proposals/gallery_methods.rb
245
252
  - app/commands/decidim/proposals/hashtags_methods.rb
253
+ - app/commands/decidim/proposals/invite_coauthor.rb
246
254
  - app/commands/decidim/proposals/publish_collaborative_draft.rb
247
255
  - app/commands/decidim/proposals/publish_proposal.rb
248
256
  - app/commands/decidim/proposals/reject_access_to_collaborative_draft.rb
257
+ - app/commands/decidim/proposals/reject_coauthorship.rb
249
258
  - app/commands/decidim/proposals/request_access_to_collaborative_draft.rb
250
259
  - app/commands/decidim/proposals/unvote_proposal.rb
251
260
  - app/commands/decidim/proposals/update_collaborative_draft.rb
@@ -254,6 +263,7 @@ files:
254
263
  - app/commands/decidim/proposals/withdraw_collaborative_draft.rb
255
264
  - app/commands/decidim/proposals/withdraw_proposal.rb
256
265
  - app/controllers/concerns/decidim/proposals/admin/filterable.rb
266
+ - app/controllers/concerns/decidim/proposals/admin/needs_interpolations.rb
257
267
  - app/controllers/concerns/decidim/proposals/collaborative_orderable.rb
258
268
  - app/controllers/concerns/decidim/proposals/orderable.rb
259
269
  - app/controllers/decidim/proposals/admin/application_controller.rb
@@ -269,12 +279,16 @@ files:
269
279
  - app/controllers/decidim/proposals/application_controller.rb
270
280
  - app/controllers/decidim/proposals/collaborative_draft_collaborator_requests_controller.rb
271
281
  - app/controllers/decidim/proposals/collaborative_drafts_controller.rb
282
+ - app/controllers/decidim/proposals/invite_coauthors_controller.rb
272
283
  - app/controllers/decidim/proposals/proposal_votes_controller.rb
273
284
  - app/controllers/decidim/proposals/proposals_controller.rb
274
285
  - app/controllers/decidim/proposals/versions_controller.rb
286
+ - app/events/decidim/proposals/accepted_coauthorship_event.rb
287
+ - app/events/decidim/proposals/admin/proposal_assigned_to_valuator_event.rb
275
288
  - app/events/decidim/proposals/admin/proposal_note_created_event.rb
276
- - app/events/decidim/proposals/admin/update_proposal_category_event.rb
277
- - app/events/decidim/proposals/admin/update_proposal_scope_event.rb
289
+ - app/events/decidim/proposals/coauthor_accepted_invite_event.rb
290
+ - app/events/decidim/proposals/coauthor_invited_event.rb
291
+ - app/events/decidim/proposals/coauthor_rejected_invite_event.rb
278
292
  - app/events/decidim/proposals/collaborative_draft_access_accepted_event.rb
279
293
  - app/events/decidim/proposals/collaborative_draft_access_rejected_event.rb
280
294
  - app/events/decidim/proposals/collaborative_draft_access_request_event.rb
@@ -288,6 +302,8 @@ files:
288
302
  - app/events/decidim/proposals/proposal_mentioned_event.rb
289
303
  - app/events/decidim/proposals/proposal_state_changed_event.rb
290
304
  - app/events/decidim/proposals/publish_proposal_event.rb
305
+ - app/events/decidim/proposals/rejected_coauthorship_event.rb
306
+ - app/events/decidim/proposals/update_proposal_taxonomies_event.rb
291
307
  - app/events/decidim/proposals/voting_enabled_event.rb
292
308
  - app/forms/decidim/proposals/accept_access_to_collaborative_draft_form.rb
293
309
  - app/forms/decidim/proposals/access_to_collaborative_draft_form.rb
@@ -322,6 +338,7 @@ files:
322
338
  - app/helpers/decidim/proposals/proposal_votes_helper.rb
323
339
  - app/helpers/decidim/proposals/proposal_wizard_helper.rb
324
340
  - app/helpers/decidim/proposals/proposals_helper.rb
341
+ - app/jobs/decidim/proposals/admin/proposal_answer_job.rb
325
342
  - app/jobs/decidim/proposals/hide_all_created_by_author_job.rb
326
343
  - app/jobs/decidim/proposals/notify_proposals_mentioned_job.rb
327
344
  - app/jobs/decidim/proposals/settings_change_job.rb
@@ -338,6 +355,7 @@ files:
338
355
  - app/packs/documents/decidim/proposals/participatory_texts/participatory_text.odt
339
356
  - app/packs/entrypoints/decidim_proposals.js
340
357
  - app/packs/entrypoints/decidim_proposals_admin.js
358
+ - app/packs/entrypoints/decidim_proposals_geocoding.js
341
359
  - app/packs/entrypoints/participatory_texts_admin.js
342
360
  - app/packs/images/decidim/gamification/badges/decidim_gamification_badges_accepted_proposals.svg
343
361
  - app/packs/images/decidim/gamification/badges/decidim_gamification_badges_proposal_votes.svg
@@ -348,6 +366,7 @@ files:
348
366
  - app/packs/src/decidim/proposals/admin/proposals.js
349
367
  - app/packs/src/decidim/proposals/admin/proposals_form.js
350
368
  - app/packs/src/decidim/proposals/choose_proposals.js
369
+ - app/packs/src/decidim/proposals/exit_handler.js
351
370
  - app/packs/src/decidim/proposals/utils.js
352
371
  - app/packs/stylesheets/decidim/proposals/admin/participatory_texts.scss
353
372
  - app/packs/stylesheets/decidim/proposals/proposals.scss
@@ -371,6 +390,7 @@ files:
371
390
  - app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb
372
391
  - app/queries/decidim/proposals/metrics/proposals_metric_manage.rb
373
392
  - app/queries/decidim/proposals/metrics/votes_metric_manage.rb
393
+ - app/services/decidim/proposals/collaborative_draft_diff_renderer.rb
374
394
  - app/services/decidim/proposals/diff_renderer.rb
375
395
  - app/services/decidim/proposals/proposal_builder.rb
376
396
  - app/services/decidim/proposals/proposal_search.rb
@@ -382,11 +402,14 @@ files:
382
402
  - app/views/decidim/proposals/admin/participatory_texts/new_import.html.erb
383
403
  - app/views/decidim/proposals/admin/proposal_answers/_form.html.erb
384
404
  - app/views/decidim/proposals/admin/proposal_notes/_form.html.erb
405
+ - app/views/decidim/proposals/admin/proposal_notes/_proposal_note.html.erb
406
+ - app/views/decidim/proposals/admin/proposal_notes/_proposal_note_reply.html.erb
385
407
  - app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb
386
408
  - app/views/decidim/proposals/admin/proposal_states/_form.html.erb
387
409
  - app/views/decidim/proposals/admin/proposal_states/edit.html.erb
388
410
  - app/views/decidim/proposals/admin/proposal_states/index.html.erb
389
411
  - app/views/decidim/proposals/admin/proposal_states/new.html.erb
412
+ - app/views/decidim/proposals/admin/proposals/_actions.html.erb
390
413
  - app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb
391
414
  - app/views/decidim/proposals/admin/proposals/_documents.html.erb
392
415
  - app/views/decidim/proposals/admin/proposals/_endorsers.html.erb
@@ -394,24 +417,26 @@ files:
394
417
  - app/views/decidim/proposals/admin/proposals/_meetings.html.erb
395
418
  - app/views/decidim/proposals/admin/proposals/_photos.html.erb
396
419
  - app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb
420
+ - app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb
421
+ - app/views/decidim/proposals/admin/proposals/bulk_actions/_apply_answer_template.html.erb
397
422
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb
398
423
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb
399
424
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb
400
425
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_publish_answers.html.erb
401
- - app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb
402
- - app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb
403
426
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_split.html.erb
427
+ - app/views/decidim/proposals/admin/proposals/bulk_actions/_taxonomy_change.html.erb
404
428
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb
405
429
  - app/views/decidim/proposals/admin/proposals/bulk_actions/_valuators_picker.html.erb
406
430
  - app/views/decidim/proposals/admin/proposals/edit.html.erb
407
431
  - app/views/decidim/proposals/admin/proposals/index.html.erb
432
+ - app/views/decidim/proposals/admin/proposals/manage_trash.html.erb
408
433
  - app/views/decidim/proposals/admin/proposals/new.html.erb
409
434
  - app/views/decidim/proposals/admin/proposals/publish_answers.js.erb
410
435
  - app/views/decidim/proposals/admin/proposals/show.html.erb
411
436
  - app/views/decidim/proposals/admin/proposals/update_attribute.js.erb
412
437
  - app/views/decidim/proposals/admin/proposals_imports/new.html.erb
413
438
  - app/views/decidim/proposals/collaborative_drafts/_accept_request_access_form.html.erb
414
- - app/views/decidim/proposals/collaborative_drafts/_actions.html.erb
439
+ - app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb
415
440
  - app/views/decidim/proposals/collaborative_drafts/_collaborative_draft_aside.html.erb
416
441
  - app/views/decidim/proposals/collaborative_drafts/_collaborative_drafts.html.erb
417
442
  - app/views/decidim/proposals/collaborative_drafts/_collaborator_requests.html.erb
@@ -426,12 +451,18 @@ files:
426
451
  - app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb
427
452
  - app/views/decidim/proposals/proposals/_actions.html.erb
428
453
  - app/views/decidim/proposals/proposals/_edit_form_fields.html.erb
454
+ - app/views/decidim/proposals/proposals/_exit_modal.html.erb
429
455
  - app/views/decidim/proposals/proposals/_linked_proposals.html.erb
456
+ - app/views/decidim/proposals/proposals/_notification_alert_box.html.erb
430
457
  - app/views/decidim/proposals/proposals/_proposal.html.erb
458
+ - app/views/decidim/proposals/proposals/_proposal_actions.html.erb
431
459
  - app/views/decidim/proposals/proposals/_proposal_aside.html.erb
460
+ - app/views/decidim/proposals/proposals/_proposal_voting_rules.html.erb
432
461
  - app/views/decidim/proposals/proposals/_proposals.html.erb
433
462
  - app/views/decidim/proposals/proposals/_proposals_picker.html.erb
434
463
  - app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb
464
+ - app/views/decidim/proposals/proposals/_remaining_votes_notification.html.erb
465
+ - app/views/decidim/proposals/proposals/_update_proposal_voting_rules.html.erb
435
466
  - app/views/decidim/proposals/proposals/_vote_button.html.erb
436
467
  - app/views/decidim/proposals/proposals/_votes_count.html.erb
437
468
  - app/views/decidim/proposals/proposals/_voting_rules.html.erb
@@ -454,6 +485,8 @@ files:
454
485
  - config/locales/ar.yml
455
486
  - config/locales/bg-BG.yml
456
487
  - config/locales/bg.yml
488
+ - config/locales/bn-BD.yml
489
+ - config/locales/bs-BA.yml
457
490
  - config/locales/ca.yml
458
491
  - config/locales/cs-CZ.yml
459
492
  - config/locales/cs.yml
@@ -593,7 +626,12 @@ files:
593
626
  - db/migrate/20240110203504_create_default_proposal_states.rb
594
627
  - db/migrate/20240209092404_change_color_fields_on_proposals_states.rb
595
628
  - db/migrate/20240404202756_add_valuation_assignments_count_to_decidim_proposals_proposals.rb
629
+ - db/migrate/20240617091140_add_email_on_assigned_proposals_to_users.rb
630
+ - db/migrate/20240617170052_add_parent_relation_to_decidim_proposal_notes.rb
631
+ - db/migrate/20240828103755_add_deleted_at_to_decidim_proposals_proposals.rb
596
632
  - decidim-proposals.gemspec
633
+ - lib/decidim/api/functions/proposal_finder_helper.rb
634
+ - lib/decidim/api/functions/proposal_list_helper.rb
597
635
  - lib/decidim/api/proposal_input_filter.rb
598
636
  - lib/decidim/api/proposal_input_sort.rb
599
637
  - lib/decidim/api/proposal_type.rb
@@ -609,6 +647,7 @@ files:
609
647
  - lib/decidim/proposals/commentable_proposal.rb
610
648
  - lib/decidim/proposals/component.rb
611
649
  - lib/decidim/proposals/doc_to_markdown.rb
650
+ - lib/decidim/proposals/download_your_data_proposal_serializer.rb
612
651
  - lib/decidim/proposals/engine.rb
613
652
  - lib/decidim/proposals/import.rb
614
653
  - lib/decidim/proposals/import/proposal_answer_creator.rb
@@ -626,7 +665,7 @@ files:
626
665
  - lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake
627
666
  homepage: https://decidim.org
628
667
  licenses:
629
- - AGPL-3.0
668
+ - AGPL-3.0-or-later
630
669
  metadata:
631
670
  bug_tracker_uri: https://github.com/decidim/decidim/issues
632
671
  documentation_uri: https://docs.decidim.org/
@@ -641,14 +680,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
641
680
  requirements:
642
681
  - - "~>"
643
682
  - !ruby/object:Gem::Version
644
- version: 3.2.0
683
+ version: 3.3.0
645
684
  required_rubygems_version: !ruby/object:Gem::Requirement
646
685
  requirements:
647
686
  - - ">="
648
687
  - !ruby/object:Gem::Version
649
688
  version: '0'
650
689
  requirements: []
651
- rubygems_version: 3.4.10
690
+ rubygems_version: 3.5.11
652
691
  signing_key:
653
692
  specification_version: 4
654
693
  summary: Decidim proposals module
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- # A command with all the business logic when an admin batch updates proposals category.
7
- class UpdateProposalCategory < Decidim::Command
8
- include TranslatableAttributes
9
-
10
- # Public: Initializes the command.
11
- #
12
- # category_id - the category id to update
13
- # proposal_ids - the proposals ids to update.
14
- def initialize(category_id, proposal_ids)
15
- @category = Decidim::Category.find_by id: category_id
16
- @proposal_ids = proposal_ids
17
- @response = { category_name: "", successful: [], errored: [] }
18
- end
19
-
20
- # Executes the command. Broadcasts these events:
21
- #
22
- # - :update_proposals_category - when everything is ok, returns @response.
23
- # - :invalid_category - if the category is blank.
24
- # - :invalid_proposal_ids - if the proposal_ids is blank.
25
- #
26
- # Returns @response hash:
27
- #
28
- # - :category_name - the translated_name of the category assigned
29
- # - :successful - Array of names of the updated proposals
30
- # - :errored - Array of names of the proposals not updated because they already had the category assigned
31
- def call
32
- return broadcast(:invalid_category) if @category.blank?
33
- return broadcast(:invalid_proposal_ids) if @proposal_ids.blank?
34
-
35
- @response[:category_name] = @category.translated_name
36
- Proposal.where(id: @proposal_ids).find_each do |proposal|
37
- if @category == proposal.category
38
- @response[:errored] << translated_attribute(proposal.title)
39
- else
40
- transaction do
41
- update_proposal_category proposal
42
- notify_author proposal if proposal.coauthorships.any?
43
- end
44
- @response[:successful] << translated_attribute(proposal.title)
45
- end
46
- end
47
-
48
- broadcast(:update_proposals_category, @response)
49
- end
50
-
51
- private
52
-
53
- def update_proposal_category(proposal)
54
- proposal.update!(
55
- category: @category
56
- )
57
- end
58
-
59
- def notify_author(proposal)
60
- Decidim::EventsManager.publish(
61
- event: "decidim.events.proposals.proposal_update_category",
62
- event_class: Decidim::Proposals::Admin::UpdateProposalCategoryEvent,
63
- resource: proposal,
64
- affected_users: proposal.notifiable_identities
65
- )
66
- end
67
- end
68
- end
69
- end
70
- end
@@ -1,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- # A command with all the business logic when an admin batch updates proposals scope.
7
- class UpdateProposalScope < Decidim::Command
8
- include TranslatableAttributes
9
- # Public: Initializes the command.
10
- #
11
- # scope_id - the scope id to update
12
- # proposal_ids - the proposals ids to update.
13
- def initialize(scope_id, proposal_ids)
14
- @scope = Decidim::Scope.find_by id: scope_id
15
- @proposal_ids = proposal_ids
16
- @response = { scope_name: "", successful: [], errored: [] }
17
- end
18
-
19
- # Executes the command. Broadcasts these events:
20
- #
21
- # - :update_proposals_scope - when everything is ok, returns @response.
22
- # - :invalid_scope - if the scope is blank.
23
- # - :invalid_proposal_ids - if the proposal_ids is blank.
24
- #
25
- # Returns @response hash:
26
- #
27
- # - :scope_name - the translated_name of the scope assigned
28
- # - :successful - Array of names of the updated proposals
29
- # - :errored - Array of names of the proposals not updated because they already had the scope assigned
30
- def call
31
- return broadcast(:invalid_scope) if @scope.blank?
32
- return broadcast(:invalid_proposal_ids) if @proposal_ids.blank?
33
-
34
- update_proposals_scope
35
-
36
- broadcast(:update_proposals_scope, @response)
37
- end
38
-
39
- private
40
-
41
- attr_reader :scope, :proposal_ids
42
-
43
- def update_proposals_scope
44
- @response[:scope_name] = translated_attribute(scope.name, scope.organization)
45
- Proposal.where(id: proposal_ids).find_each do |proposal|
46
- if scope == proposal.scope
47
- @response[:errored] << translated_attribute(proposal.title)
48
- else
49
- transaction do
50
- update_proposal_scope proposal
51
- notify_author proposal if proposal.coauthorships.any?
52
- end
53
- @response[:successful] << translated_attribute(proposal.title)
54
- end
55
- end
56
- end
57
-
58
- def update_proposal_scope(proposal)
59
- proposal.update!(
60
- scope:
61
- )
62
- end
63
-
64
- def notify_author(proposal)
65
- Decidim::EventsManager.publish(
66
- event: "decidim.events.proposals.proposal_update_scope",
67
- event_class: Decidim::Proposals::Admin::UpdateProposalScopeEvent,
68
- resource: proposal,
69
- affected_users: proposal.notifiable_identities
70
- )
71
- end
72
- end
73
- end
74
- end
75
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- class UpdateProposalCategoryEvent < Decidim::Events::SimpleEvent
7
- include Decidim::Events::AuthorEvent
8
- end
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Proposals
5
- module Admin
6
- class UpdateProposalScopeEvent < Decidim::Events::SimpleEvent
7
- include Decidim::Events::AuthorEvent
8
- end
9
- end
10
- end
11
- end
@@ -1,15 +0,0 @@
1
- <div id="js-recategorize-proposals-actions" class="hide js-bulk-action-form">
2
- <%= form_tag(update_category_proposals_path, method: :post, remote: true, id: "js-form-recategorize-proposals", class: "form form-defaults flex items-center gap-x-2") do %>
3
- <div class="hide">
4
- <% proposals.each do |proposal| %>
5
- <%= check_box_tag "proposal_ids[]", proposal.id, false, class: "js-check-all-proposal js-proposal-id-#{proposal.id}" %>
6
- <% end %>
7
- </div>
8
-
9
- <%= bulk_categories_select current_component.categories %>
10
-
11
- <%= submit_tag(t("decidim.proposals.admin.proposals.index.update"), id: "js-submit-edit-category", class: "button button__sm button__secondary small button--simple float-left") %>
12
-
13
- <button id="js-cancel-edit-category" class="button button__sm button__secondary js-cancel-bulk-action" type="button"><%= t("decidim.proposals.admin.proposals.index.cancel") %></button>
14
- <% end %>
15
- </div>
@@ -1,21 +0,0 @@
1
- <div id="js-scope-change-proposals-actions" class="hide js-bulk-action-form">
2
- <%= form_tag(update_scope_proposals_path, method: :post, remote: true, id: "js-form-scope-change-proposals", class: "form form-defaults flex items-center gap-x-2") do %>
3
- <div class="hide">
4
- <% proposals.each do |proposal| %>
5
- <%= check_box_tag "proposal_ids[]", proposal.id, false, class: "js-check-all-proposal js-proposal-id-#{proposal.id}" %>
6
- <% end %>
7
- </div>
8
-
9
- <%= scopes_select_tag(:scope_id) %>
10
-
11
- <%= submit_tag(
12
- t("decidim.proposals.admin.proposals.index.update_scope_button"),
13
- id: "js-submit-scope-change-proposals",
14
- class: "button button__sm button__secondary small button--simple float-left"
15
- ) %>
16
-
17
- <button id="js-cancel-scope-change-proposals" class="button button__sm button__secondary button__sm button__secondary js-cancel-bulk-action" type="button">
18
- <%= t("decidim.proposals.admin.proposals.index.cancel") %>
19
- </button>
20
- <% end %>
21
- </div>
@@ -1,7 +0,0 @@
1
- <section class="layout-main__section layout-main__buttons" data-buttons>
2
- <%= cell "decidim/comments_button", nil %>
3
-
4
- <div class="ml-auto">
5
- <%= cell "decidim/tags", @collaborative_draft %>
6
- </div>
7
- </section>