decidim-proposals 0.29.3 → 0.30.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 (206) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +13 -1
  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 +13 -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 +9 -0
  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 +60 -7
  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 +5 -1
  33. data/app/controllers/concerns/decidim/proposals/admin/needs_interpolations.rb +40 -0
  34. data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +46 -5
  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/admin/proposals_imports_controller.rb +2 -2
  38. data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +2 -4
  39. data/app/controllers/decidim/proposals/invite_coauthors_controller.rb +87 -0
  40. data/app/controllers/decidim/proposals/proposals_controller.rb +7 -32
  41. data/app/controllers/decidim/proposals/versions_controller.rb +1 -1
  42. data/app/events/decidim/proposals/accepted_coauthorship_event.rb +8 -0
  43. data/app/events/decidim/proposals/admin/proposal_assigned_to_valuator_event.rb +27 -0
  44. data/app/events/decidim/proposals/admin/proposal_note_created_event.rb +5 -0
  45. data/app/events/decidim/proposals/coauthor_accepted_invite_event.rb +49 -0
  46. data/app/events/decidim/proposals/coauthor_invited_event.rb +45 -0
  47. data/app/events/decidim/proposals/coauthor_rejected_invite_event.rb +8 -0
  48. data/app/events/decidim/proposals/rejected_coauthorship_event.rb +8 -0
  49. data/app/events/decidim/proposals/update_proposal_taxonomies_event.rb +9 -0
  50. data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +16 -0
  51. data/app/forms/decidim/proposals/admin/proposal_base_form.rb +3 -31
  52. data/app/forms/decidim/proposals/admin/proposal_form.rb +11 -6
  53. data/app/forms/decidim/proposals/admin/proposals_import_form.rb +0 -5
  54. data/app/forms/decidim/proposals/collaborative_draft_form.rb +0 -8
  55. data/app/forms/decidim/proposals/proposal_form.rb +5 -32
  56. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +25 -0
  57. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +0 -1
  58. data/app/helpers/decidim/proposals/application_helper.rb +23 -15
  59. data/app/helpers/decidim/proposals/collaborative_draft_helper.rb +7 -7
  60. data/app/helpers/decidim/proposals/map_helper.rb +0 -18
  61. data/app/helpers/decidim/proposals/proposal_votes_helper.rb +15 -2
  62. data/app/helpers/decidim/proposals/proposals_helper.rb +3 -1
  63. data/app/jobs/decidim/proposals/admin/proposal_answer_job.rb +20 -0
  64. data/app/models/decidim/proposals/collaborative_draft.rb +13 -3
  65. data/app/models/decidim/proposals/proposal.rb +71 -5
  66. data/app/models/decidim/proposals/proposal_note.rb +11 -0
  67. data/app/models/decidim/proposals/proposal_state.rb +1 -1
  68. data/app/packs/entrypoints/decidim_proposals.js +1 -0
  69. data/app/packs/entrypoints/decidim_proposals_geocoding.js +2 -0
  70. data/app/packs/src/decidim/proposals/admin/proposals.js +16 -1
  71. data/app/packs/src/decidim/proposals/exit_handler.js +73 -0
  72. data/app/packs/stylesheets/decidim/proposals/proposals.scss +248 -3
  73. data/app/permissions/decidim/proposals/admin/permissions.rb +2 -5
  74. data/app/permissions/decidim/proposals/permissions.rb +42 -0
  75. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -1
  76. data/app/presenters/decidim/proposals/proposal_presenter.rb +1 -1
  77. data/app/queries/decidim/proposals/filtered_proposals.rb +2 -2
  78. data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +2 -2
  79. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +10 -10
  80. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +4 -4
  81. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +6 -6
  82. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +6 -6
  83. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +6 -6
  84. data/app/services/decidim/proposals/proposal_builder.rb +1 -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 +17 -24
  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 +14 -26
  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 +0 -3
  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/_proposals.html.erb +1 -1
  118. data/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +2 -2
  119. data/app/views/decidim/proposals/proposals/_remaining_votes_notification.html.erb +12 -0
  120. data/app/views/decidim/proposals/proposals/_update_proposal_voting_rules.html.erb +6 -0
  121. data/app/views/decidim/proposals/proposals/_vote_button.html.erb +12 -8
  122. data/app/views/decidim/proposals/proposals/_votes_count.html.erb +2 -1
  123. data/app/views/decidim/proposals/proposals/_voting_rules.html.erb +1 -7
  124. data/app/views/decidim/proposals/proposals/index.html.erb +3 -18
  125. data/app/views/decidim/proposals/proposals/index.js.erb +1 -1
  126. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +3 -1
  127. data/app/views/decidim/proposals/proposals/show.html.erb +35 -15
  128. data/config/locales/ar.yml +15 -73
  129. data/config/locales/bg.yml +12 -89
  130. data/config/locales/bs-BA.yml +2 -13
  131. data/config/locales/ca.yml +209 -84
  132. data/config/locales/cs.yml +210 -81
  133. data/config/locales/de.yml +213 -89
  134. data/config/locales/el.yml +12 -84
  135. data/config/locales/en.yml +206 -81
  136. data/config/locales/es-MX.yml +213 -88
  137. data/config/locales/es-PY.yml +213 -88
  138. data/config/locales/es.yml +214 -89
  139. data/config/locales/eu.yml +288 -164
  140. data/config/locales/fi-plain.yml +213 -87
  141. data/config/locales/fi.yml +213 -87
  142. data/config/locales/fr-CA.yml +116 -97
  143. data/config/locales/fr.yml +116 -97
  144. data/config/locales/ga-IE.yml +1 -21
  145. data/config/locales/gl.yml +8 -45
  146. data/config/locales/hu.yml +12 -68
  147. data/config/locales/id-ID.yml +9 -43
  148. data/config/locales/is-IS.yml +0 -19
  149. data/config/locales/it.yml +11 -77
  150. data/config/locales/ja.yml +165 -106
  151. data/config/locales/lt.yml +13 -85
  152. data/config/locales/lv.yml +10 -52
  153. data/config/locales/nl.yml +10 -59
  154. data/config/locales/no.yml +10 -44
  155. data/config/locales/pl.yml +11 -88
  156. data/config/locales/pt-BR.yml +9 -74
  157. data/config/locales/pt.yml +10 -56
  158. data/config/locales/ro-RO.yml +12 -72
  159. data/config/locales/ru.yml +0 -23
  160. data/config/locales/sk.yml +10 -52
  161. data/config/locales/sr-CS.yml +2 -14
  162. data/config/locales/sv.yml +127 -86
  163. data/config/locales/tr-TR.yml +10 -53
  164. data/config/locales/uk.yml +0 -23
  165. data/config/locales/zh-CN.yml +10 -53
  166. data/config/locales/zh-TW.yml +12 -86
  167. data/db/migrate/20171220084719_add_published_at_to_proposals.rb +1 -1
  168. data/db/migrate/20181016132225_add_organization_as_author.rb +1 -1
  169. data/db/migrate/20200120215928_move_proposal_endorsements_to_core_endorsements.rb +1 -1
  170. data/db/migrate/20200827154156_add_commentable_counter_cache_to_proposals.rb +3 -3
  171. data/db/migrate/20210310102839_add_followable_counter_cache_to_proposals.rb +1 -1
  172. data/db/migrate/20240110203504_create_default_proposal_states.rb +1 -1
  173. data/db/migrate/20240404202756_add_valuation_assignments_count_to_decidim_proposals_proposals.rb +1 -1
  174. data/db/migrate/20240617091140_add_email_on_assigned_proposals_to_users.rb +7 -0
  175. data/db/migrate/20240617170052_add_parent_relation_to_decidim_proposal_notes.rb +7 -0
  176. data/db/migrate/20240828103755_add_deleted_at_to_decidim_proposals_proposals.rb +8 -0
  177. data/decidim-proposals.gemspec +1 -1
  178. data/lib/decidim/api/functions/proposal_finder_helper.rb +12 -0
  179. data/lib/decidim/api/functions/proposal_list_helper.rb +12 -0
  180. data/lib/decidim/api/proposal_type.rb +17 -25
  181. data/lib/decidim/api/proposals_type.rb +4 -19
  182. data/lib/decidim/proposals/admin_engine.rb +12 -3
  183. data/lib/decidim/proposals/admin_filter.rb +3 -6
  184. data/lib/decidim/proposals/component.rb +4 -5
  185. data/lib/decidim/proposals/download_your_data_proposal_serializer.rb +15 -0
  186. data/lib/decidim/proposals/engine.rb +5 -0
  187. data/lib/decidim/proposals/import/proposal_creator.rb +4 -4
  188. data/lib/decidim/proposals/proposal_serializer.rb +12 -29
  189. data/lib/decidim/proposals/seeds.rb +21 -17
  190. data/lib/decidim/proposals/test/factories.rb +2 -1
  191. data/lib/decidim/proposals/version.rb +1 -1
  192. data/lib/decidim/proposals.rb +4 -0
  193. data/lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake +0 -22
  194. metadata +65 -34
  195. data/app/commands/decidim/proposals/admin/update_proposal_category.rb +0 -70
  196. data/app/commands/decidim/proposals/admin/update_proposal_scope.rb +0 -75
  197. data/app/events/decidim/proposals/admin/update_proposal_category_event.rb +0 -11
  198. data/app/events/decidim/proposals/admin/update_proposal_scope_event.rb +0 -11
  199. data/app/jobs/decidim/proposals/admin/import_proposals_job.rb +0 -91
  200. data/app/mailers/decidim/proposals/admin/import_proposals_mailer.rb +0 -30
  201. data/app/views/decidim/proposals/admin/import_proposals_mailer/notify_failure.html.erb +0 -1
  202. data/app/views/decidim/proposals/admin/import_proposals_mailer/notify_success.html.erb +0 -2
  203. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb +0 -15
  204. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb +0 -21
  205. data/app/views/decidim/proposals/collaborative_drafts/_actions.html.erb +0 -7
  206. data/config/locales/ca-IT.yml +0 -945
@@ -5,7 +5,6 @@ en:
5
5
  collaborative_draft:
6
6
  address: Address
7
7
  body: Body
8
- category_id: Category
9
8
  decidim_scope_id: Scope
10
9
  has_address: Has address
11
10
  scope_id: Scope
@@ -20,7 +19,6 @@ en:
20
19
  answered_at: Answered at
21
20
  automatic_hashtags: Hashtags automatically added
22
21
  body: Body
23
- category_id: Category
24
22
  decidim_proposals_proposal_state_id: State
25
23
  decidim_scope_id: Scope
26
24
  has_address: Has address
@@ -89,8 +87,7 @@ en:
89
87
  not_official: Are not official
90
88
  voted: Have received votes or endorsements
91
89
  models:
92
- decidim/proposals/admin/update_proposal_category_event: Proposal category changed
93
- decidim/proposals/admin/update_proposal_scope_event: Proposal scope changed
90
+ decidim/proposals/admin/update_proposal_taxonomies_event: Proposal taxonomies changed
94
91
  decidim/proposals/creation_enabled_event: Proposal creation enabled
95
92
  decidim/proposals/endorsing_enabled_event: Proposal endorsing enabled
96
93
  decidim/proposals/proposal_mentioned_event: Proposal mentioned
@@ -98,6 +95,16 @@ en:
98
95
  decidim/proposals/voting_enabled_event: Proposal voting enabled
99
96
  activerecord:
100
97
  models:
98
+ decidim:
99
+ proposals:
100
+ proposal:
101
+ budget_text: The proposal %{link} was created
102
+ import_from_proposal_text: 'It became this proposal: %{link}'
103
+ import_to_proposal_text: This proposal %{link} was created
104
+ merge_from_proposal_text: 'It became this proposal: %{link}'
105
+ merge_to_proposal_text: 'This proposal was created: %{link}'
106
+ split_from_proposal_text: 'It became this proposal: %{link}'
107
+ split_to_proposal_text: 'This proposal was created: %{link}'
101
108
  decidim/proposals/collaborative_draft:
102
109
  one: Collaborative draft
103
110
  other: Collaborative drafts
@@ -112,10 +119,11 @@ en:
112
119
  other: Votes
113
120
  decidim:
114
121
  admin:
122
+ admin_log:
123
+ changeset:
124
+ proposals: Proposals
115
125
  filters:
116
126
  proposals:
117
- category_id_eq:
118
- label: Category
119
127
  is_emendation_true:
120
128
  label: Type
121
129
  values:
@@ -123,8 +131,6 @@ en:
123
131
  'true': Amendments
124
132
  proposal_state_id_eq:
125
133
  label: State
126
- scope_id_eq:
127
- label: Scope
128
134
  state_eq:
129
135
  label: State
130
136
  values:
@@ -135,6 +141,8 @@ en:
135
141
  rejected: Rejected
136
142
  validating: Technical validation
137
143
  withdrawn: Withdrawn
144
+ taxonomies_part_of_contains:
145
+ label: Taxonomy
138
146
  valuator_role_ids_has:
139
147
  label: Assigned to valuator
140
148
  with_any_state:
@@ -144,12 +152,15 @@ en:
144
152
  state_published: Answered
145
153
  search_placeholder:
146
154
  id_string_or_title_cont: Search %{collection} by ID or title.
155
+ application:
156
+ geocoding:
157
+ not_configured: Geocoding is not configured!
147
158
  components:
148
159
  proposals:
149
160
  actions:
150
161
  amend: Amend
151
162
  comment: Comment
152
- create: Create
163
+ create: Create a proposal
153
164
  endorse: Endorse
154
165
  vote: Vote
155
166
  vote_comment: Vote comment
@@ -164,6 +175,7 @@ en:
164
175
  attachments_allowed: Allow attachments
165
176
  attachments_allowed_help: By enabling this option, proposals will default to grid mode, and the first image will appear on the card.
166
177
  can_accumulate_votes_beyond_threshold: Can accumulate votes beyond threshold
178
+ clear_all: Clear all
167
179
  collaborative_drafts_enabled: Collaborative drafts enabled
168
180
  comments_enabled: Comments enabled
169
181
  comments_max_length: Comments max length (Leave 0 for default value)
@@ -178,27 +190,37 @@ en:
178
190
  random: Random
179
191
  recent: Recent
180
192
  with_more_authors: With more authors
181
- geocoding_enabled: Geocoding enabled
193
+ define_taxonomy_filters: Please define some filters for this participatory space before using this setting.
194
+ edit_time: Proposals can be edited by authors before this much time passes
195
+ edit_time_units:
196
+ days: Days
197
+ hours: Hours
198
+ minutes: Minutes
199
+ geocoding_enabled: Maps enabled
182
200
  minimum_votes_per_user: Minimum votes per user
183
201
  new_proposal_body_template: New proposal body template
184
202
  new_proposal_body_template_help: You can define prefilled text that the new Proposals will have
185
203
  new_proposal_help_text: New proposal help text
204
+ no_taxonomy_filters_found: No taxonomy filters found.
186
205
  official_proposals_enabled: Official proposals enabled
187
206
  participatory_texts_enabled: Participatory texts enabled
188
207
  participatory_texts_enabled_readonly: Cannot interact with this setting if there are existing proposals. Please, create a new `Proposals component` if you want to enable this feature or discard all imported proposals in the `Participatory Texts` menu if you want to disable it.
189
208
  proposal_answering_enabled: Proposal answering enabled
190
- proposal_edit_before_minutes: Proposals can be edited by authors before this many minutes passes
191
209
  proposal_edit_time: Proposal editing
192
210
  proposal_edit_time_choices:
193
211
  infinite: Allow editing proposals for an infinite amount of time
194
212
  limited: Allow editing of proposals within a specific timeframe
213
+ proposal_edit_time_unit_options:
214
+ days: Days
215
+ hours: Hours
216
+ minutes: Minutes
195
217
  proposal_length: Maximum proposal body length
196
218
  proposal_limit: Proposal limit per participant
197
219
  proposal_wizard_step_1_help_text: Proposal wizard "Create" step help text
198
220
  proposal_wizard_step_2_help_text: Proposal wizard "Publish" step help text
199
221
  resources_permissions_enabled: Actions permissions can be set for each proposal
200
- scope_id: Scope
201
- scopes_enabled: Scopes enabled
222
+ taxonomy_filters: Select filters for the component
223
+ taxonomy_filters_add: Add filter
202
224
  threshold_per_proposal: Threshold per proposal
203
225
  vote_limit: Vote limit per participant
204
226
  step:
@@ -239,14 +261,47 @@ en:
239
261
  votes_blocked: Votes blocked
240
262
  votes_enabled: Votes enabled
241
263
  votes_hidden: Votes hidden (if votes are enabled, checking this will hide the number of votes)
264
+ download_your_data:
265
+ show:
266
+ proposal_comments: Proposal comments export
267
+ proposals: Proposals export
242
268
  events:
243
269
  proposals:
270
+ accepted_coauthorship:
271
+ notification_title: You have been added as a co-author of the proposal <a href="%{resource_path}">%{resource_title}</a>.
244
272
  admin:
273
+ proposal_assigned_to_valuator:
274
+ email_intro: You have been assigned as a valuator to the proposal "%{resource_title}". This means you have been trusted to give them feedback and a proper response in the next coming days. Check it out at <a href="%{admin_proposal_info_url}">the admin panel</a>.
275
+ email_outro: You have received this notification because you can valuate the proposal.
276
+ email_subject: You have been assigned as a valuator to the proposal %{resource_title}.
277
+ notification_title: You have been assigned as a valuator to the proposal <a href="%{resource_path}">%{resource_title}</a>. Check it out at <a href="%{admin_proposal_info_path}">the admin panel</a>.
245
278
  proposal_note_created:
246
- email_intro: Someone has left a note on the proposal "%{resource_title}". Check it out at <a href="%{admin_proposal_info_url}">the admin panel</a>.
279
+ email_intro: '%{author_name} has created a private note in %{resource_title}. Check it out at <a href="%{admin_proposal_info_url}">the admin panel</a>.'
247
280
  email_outro: You have received this notification because you can valuate the proposal.
248
281
  email_subject: Someone left a note on proposal %{resource_title}.
249
- notification_title: Someone has left a note on the proposal <a href="%{resource_path}">%{resource_title}</a>. Check it out at <a href="%{admin_proposal_info_path}">the admin panel</a>.
282
+ notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> has created a private note in <a href="%{resource_path}">%{resource_title}</a>. Check it out at <a href="%{admin_proposal_info_path}">the admin panel</a>.
283
+ proposal_note_mentioned:
284
+ email_intro: You have been mentioned in a private note in "%{resource_title}" by "%{author_name}" "%{author_nickname}". Check it out at <a href="%{admin_proposal_info_url}">the admin panel</a>.
285
+ email_outro: You have received this notification because you have been mentioned in a private note.
286
+ email_subject: Someone mentioned you in a note on the proposal %{resource_title}.
287
+ notification_title: You have been mentioned in a private note in <a href="%{resource_path}">%{resource_title}</a> by <a href="%{author_path}">%{author_name} %{author_nickname}</a>. Check it out at <a href="%{admin_proposal_info_path}">the admin panel</a>.
288
+ proposal_note_replied:
289
+ email_intro: '%{author_name} has replied your private note in %{resource_title}. Check it out at <a href="%{admin_proposal_info_url}">the admin panel</a>.'
290
+ email_outro: You have received this notification because you are the author of the note.
291
+ email_subject: "%{author_name} has replied your private note in %{resource_title}."
292
+ notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> has replied your private note in <a href="%{resource_path}">%{resource_title}</a>. Check it out at <a href="%{admin_proposal_info_path}">the admin panel</a>.
293
+ coauthor_accepted_invite:
294
+ notification_title: <a href="%{coauthor_path}">%{coauthor_name}</a> has accepted your invitation to become a co-author of the proposal <a href="%{resource_path}">%{resource_title}</a>.
295
+ coauthor_invited:
296
+ actions:
297
+ accept: Accept
298
+ decline: Decline
299
+ email_intro: 'You have been invited to be a co-author of the proposal "%{resource_title}". You can accept or decline the invitation in this page:'
300
+ email_outro: You have received this notification because the author of the proposal wants to recognize your contributions by becoming a co-author.
301
+ email_subject: You have been invited to be a co-author of the proposal "%{resource_title}"
302
+ notification_title: <a href="%{author_path}">%{author_name}</a> would like to invite you as a co-author of the proposal <a href="%{resource_path}">%{resource_title}</a>.
303
+ coauthor_rejected_invite:
304
+ notification_title: <a href="%{coauthor_path}">%{coauthor_name}</a> has declined your invitation to become a co-author of the proposal <a href="%{resource_path}">%{resource_title}</a>.
250
305
  collaborative_draft_access_accepted:
251
306
  email_intro: '%{requester_name} has been accepted to access as a contributor of the <a href="%{resource_url}">%{resource_title}</a> collaborative draft.'
252
307
  email_outro: You have received this notification because you are a collaborator of <a href="%{resource_url}">%{resource_title}</a>.
@@ -314,16 +369,13 @@ en:
314
369
  email_outro: You have received this notification because you are following "%{resource_title}". You can unfollow it from the previous link.
315
370
  email_subject: A proposal you are following has changed its state (%{state})
316
371
  notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal has changed its state to "%{state}".
317
- proposal_update_category:
318
- email_intro: 'An admin has updated the category of your proposal "%{resource_title}", check it out in this page:'
319
- email_outro: You have received this notification because you are the author of the proposal.
320
- email_subject: The %{resource_title} proposal category has been updated
321
- notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal category has been updated by an admin.
322
- proposal_update_scope:
323
- email_intro: 'An admin has updated the scope of your proposal "%{resource_title}", check it out in this page:'
372
+ proposal_update_taxonomies:
373
+ email_intro: 'An admin has updated the taxonomies of your proposal "%{resource_title}", check it out in this page:'
324
374
  email_outro: You have received this notification because you are the author of the proposal.
325
- email_subject: The %{resource_title} proposal scope has been updated
326
- notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal scope has been updated by an admin.
375
+ email_subject: The %{resource_title} proposal taxonomies have been updated
376
+ notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal taxonomies have been updated by an admin.
377
+ rejected_coauthorship:
378
+ notification_title: You have declined the invitation from <a href="%{author_path}">%{author_name}</a> to become a co-author of the proposal <a href="%{resource_path}">%{resource_title}</a>.
327
379
  voting_enabled:
328
380
  email_intro: 'You can vote proposals in %{participatory_space_title}! Start participating in this page:'
329
381
  email_outro: You have received this notification because you are following %{participatory_space_title}. You can stop receiving notifications following the previous link.
@@ -381,17 +433,72 @@ en:
381
433
  description: Number of votes to proposals
382
434
  object: votes
383
435
  title: Votes
436
+ open_data:
437
+ help:
438
+ proposal_comments:
439
+ alignment: If this comment was a favour, against or neutral
440
+ author: The name of the participant that made this comment
441
+ body: The comment itself
442
+ commentable_id: The unique id of the commentable
443
+ commentable_type: The type of the commentable (if it was a result, a proposal, etc.)
444
+ created_at: The date when this comment was created
445
+ depth: The place where this comment is in the three of comments (if it is an answer or an answer of an answer)
446
+ id: The id for this comment
447
+ locale: The locale (language) that the participant had when leaving this comment
448
+ root_commentable_url: The URL of the resource that ties to this comment
449
+ user_group: The name of the user group that made this comment (if any)
450
+ proposals:
451
+ address: The address of the proposal in case the proposal has a physical location
452
+ answer: The answer to the proposal in the case it has been answered
453
+ answered_at: The date when this proposal was answered
454
+ attachments: The number of attachments this proposal has
455
+ author: The data for the author of this proposal
456
+ body: The proposal body
457
+ coauthorships_count: The number of co-authorships the proposal represents
458
+ comments: The number of comments this proposal has
459
+ component: The component that the proposal belongs to
460
+ cost: The total cost of the proposal in question
461
+ cost_report: A report of costs for the proposal
462
+ created_at: The date the proposal was created
463
+ created_in_meeting: Whether the proposal was created in a meeting
464
+ endorsements: The number of endorsements ("likes") this proposal has
465
+ execution_period: The period at which the proposal ran from beginning to end
466
+ follows_count: The number of followers this proposal has
467
+ id: The unique identifier for the proposal
468
+ is_amend: Wheter this proposal is ammedning another proposal
469
+ latitude: The latitude of the proposal in case it has a physical location
470
+ longitude: The longitude of the proposal in case it has a physical location
471
+ meeting_urls: The URLs of the meetings where this proposal was presented or discussed in
472
+ original_proposal: The reference of the original proposal if this is an amendment
473
+ participatory_space: To which space (e.g. Participatory Process, or Assembly) this proposal belongs to
474
+ published_at: The date when this proposal was published
475
+ reference: The unique identifier of the resource in this platform
476
+ related_proposals: The proposals related to this proposal
477
+ state: The status of this proposal (e.g. "Accepted")
478
+ state_published_at: A time stamp of the state of the proposal when published
479
+ taxonomies: The taxonomies that this proposal belongs to
480
+ title: The proposal title
481
+ updated_at: The date the proposal was last updated
482
+ url: The URL where this proposal can be found
483
+ votes: The number of votes this proposal has
484
+ withdrawn: Wheter this proposal has been withdrawn
485
+ withdrawn_at: When this proposal was withdrawn
384
486
  participatory_spaces:
385
487
  highlighted_proposals:
488
+ last: Last proposals
386
489
  see_all: See all proposals
387
490
  proposals:
388
491
  actions:
389
492
  answer_proposal: Answer proposal
493
+ cancel_coauthor_invitation: Cancel co-author invitation
494
+ cancel_coauthor_invitation_confirm: Are you sure you want to cancel the co-author invitation?
390
495
  delete_proposal_state_confirm: Are you sure you want to delete this state?
391
496
  destroy: Delete state
392
497
  edit_proposal: Edit proposal
393
498
  edit_proposal_state: Edit state
394
499
  import: Import proposals from another component
500
+ mark_as_coauthor: Mark as co-author
501
+ mark_as_coauthor_confirm: Are you sure you want to mark this user as a co-author? The receiver will receive a notification to accept or decline the invitation.
395
502
  new: New proposal
396
503
  new_proposal_state: New status
397
504
  participatory_texts: Participatory texts
@@ -399,24 +506,17 @@ en:
399
506
  title: Actions
400
507
  admin:
401
508
  actions:
509
+ confirm_delete_proposal: Are you sure you want to delete this proposal?
510
+ deleted_proposals_info: Deleted proposals can be restored from the trash.
402
511
  preview: Preview
512
+ view_deleted_proposals: View deleted proposals
403
513
  exports:
404
514
  proposal_comments: Comments
405
515
  proposals: Proposals
406
- import_proposals_mailer:
407
- notify_failure:
408
- body: There was a problem while importing proposals from the %{origin_component_name} component to the %{target_component_name} component.
409
- subject: There was an error importing proposals
410
- notify_success:
411
- added_proposals:
412
- one: One proposal was imported.
413
- other: "%{count} proposals were imported."
414
- body: Successful imported proposals from the %{origin_component_name} component to the %{target_component_name} component. You can review the results in the administration interface.
415
- subject: The proposals have been imported successfully
416
516
  imports:
417
517
  help:
418
518
  answers: |
419
- The import document should contain the following column names in case of CSV or Excel files, or key names in case of JSON files:
519
+ The import document should contain the following column names in case of CSV or Excel files, or key names in case of JSON files (other columns will be ignored):
420
520
  <ul>
421
521
  <li><b>id:</b> ID of the proposal to answer</li>
422
522
  <li><b>state:</b> One of "accepted", "evaluating", or "rejected"</li>
@@ -427,8 +527,7 @@ en:
427
527
  <ul>
428
528
  <li><b>title/en:</b> Title on English language. This will depend on your platform language configuration.</li>
429
529
  <li><b>body/en:</b> Body on English language. This will depend on your platform language configuration.</li>
430
- <li><b>scope/id:</b> ID for the Scope</li>
431
- <li><b>category/id:</b> ID for the Category</li>
530
+ <li><b>taxonomies/ids:</b> ID for the Taxonomies (if more than one, separate with a comma)</li>
432
531
  </ul>
433
532
  label:
434
533
  answers: Import answers from a file
@@ -490,7 +589,9 @@ en:
490
589
  form:
491
590
  note: Note
492
591
  submit: Submit
493
- leave_your_note: Leave your note
592
+ reply:
593
+ error: There was a problem creating this proposal note reply.
594
+ success: Proposal note reply successfully created.
494
595
  title: Private notes
495
596
  proposal_states:
496
597
  create:
@@ -513,29 +614,29 @@ en:
513
614
  success: Status updated successfully
514
615
  proposals:
515
616
  answer:
516
- invalid: There has been a problem answering this proposal.
617
+ bulk_answer_error: Proposals with IDs [%{proposals}] could not be answered due errors applying the template "%{template}". You can check that the answer template matches the expected format for this component by applying it individually.
618
+ bulk_answer_success: '%{count} proposals will be answered using the template "%{template}". Please wait a few minutes and refresh the page to see the updates.'
619
+ invalid: There was a problem answering this proposal.
517
620
  success: Proposal successfully answered.
518
621
  create:
519
- invalid: There has been a problem creating this proposal.
622
+ invalid: There was a problem creating this proposal.
520
623
  success: Proposal successfully created.
521
624
  edit:
522
625
  title: Update proposal
523
626
  update: Update
524
627
  form:
525
- attachment_legend: "(Optional) Add an attachment"
526
628
  created_in_meeting: This proposal comes from a meeting
527
- delete_attachment: Delete attachment
528
- select_a_category: Select a category
529
629
  select_a_meeting: Select a meeting
530
630
  index:
531
631
  actions: Actions
632
+ apply_answer_template: Apply answer template
532
633
  assign_to_valuator: Assign to valuator
533
634
  assign_to_valuator_button: Assign
534
635
  cancel: Cancel
535
- change_category: Change category
536
- change_scope: Change scope
636
+ change_taxonomies: Change taxonomies
537
637
  merge: Merge into a new one
538
638
  merge_button: Merge
639
+ no_templates_available: No templates available
539
640
  publish: Publish
540
641
  publish_answers: Publish answers
541
642
  select_component: Select a component
@@ -548,7 +649,8 @@ en:
548
649
  unassign_from_valuator: Unassign from valuator
549
650
  unassign_from_valuator_button: Unassign
550
651
  update: Update
551
- update_scope_button: Update Scope
652
+ manage_trash:
653
+ title: Deleted proposals
552
654
  new:
553
655
  create: Create
554
656
  title: Create proposal
@@ -574,20 +676,15 @@ en:
574
676
  remove_assignment_confirmation: Are you sure you want to remove the valuator from this proposal?
575
677
  valuators: Valuators
576
678
  votes_count: Votes count
577
- update_category:
578
- invalid: 'These proposals already had the %{subject_name} category: %{proposals}.'
579
- select_a_category: Please select a category.
580
- select_a_proposal: Please select a proposal.
581
- success: 'Proposals successfully updated to the %{subject_name} category: %{proposals}.'
582
- update_scope:
583
- invalid: 'These proposals already had the %{subject_name} scope: %{proposals}.'
679
+ update_taxonomies:
680
+ invalid: 'These proposals already had the %{taxonomies} taxonomies: %{proposals}.'
584
681
  select_a_proposal: Please select a proposal.
585
- select_a_scope: Please select a scope.
586
- success: 'Proposals successfully updated to the %{subject_name} scope: %{proposals}.'
682
+ select_a_taxonomy: Please select a taxonomy.
683
+ success: 'Proposals successfully updated to the %{taxonomies} taxonomies: %{proposals}.'
587
684
  proposals_imports:
588
685
  create:
589
686
  invalid: There was a problem importing the proposals.
590
- success: The import process has started. We will let you know once it has finished.
687
+ success: "%{number} proposals successfully imported."
591
688
  new:
592
689
  create: Import proposals
593
690
  no_components: There are no other proposal components in this participatory space to import the proposals from.
@@ -596,24 +693,26 @@ en:
596
693
  title: Import proposals from another component
597
694
  proposals_merges:
598
695
  create:
599
- invalid: 'There has been a problem merging the selected proposals because some of them:'
696
+ invalid: 'There was a problem merging the selected proposals because some of them:'
600
697
  success: Successfully merged the proposals into a new one.
601
698
  proposals_splits:
602
699
  create:
603
- invalid: 'There has been a problem splitting the selected proposals because some of them:'
700
+ invalid: 'There was a problem splitting the selected proposals because some of them:'
604
701
  success: Successfully splitted the proposals into new ones.
605
702
  valuation_assignments:
606
703
  create:
607
- invalid: There was an error assigning proposals to a valuator.
704
+ invalid: There was a problem assigning proposals to a valuator.
608
705
  success: Proposals assigned to a valuator successfully.
609
706
  delete:
610
- invalid: There was an error unassigning proposals from a valuator.
707
+ invalid: There was a problem unassigning proposals from a valuator.
611
708
  success: Valuator unassigned from proposals successfully.
612
709
  admin_log:
613
710
  proposal:
614
711
  answer: "%{user_name} answered the %{resource_name} proposal on the %{space_name} space"
615
712
  create: "%{user_name} created the %{resource_name} proposal on the %{space_name} space as an official proposal"
616
713
  publish_answer: "%{user_name} published the answer to %{resource_name} proposal on the %{space_name} space"
714
+ restore: "%{user_name} restored the %{resource_name} proposal on the %{space_name} space"
715
+ soft_delete: "%{user_name} moved to trash the %{resource_name} proposal on the %{space_name} space"
617
716
  update: "%{user_name} updated the %{resource_name} official proposal on the %{space_name} space"
618
717
  proposal_note:
619
718
  create: "%{user_name} left a private note on the %{resource_name} proposal on the %{space_name} space"
@@ -662,9 +761,8 @@ en:
662
761
  error: There was a problem creating this collaborative draft.
663
762
  success: Collaborative draft successfully created.
664
763
  edit:
665
- attachment_legend: "(Optional) Add an attachment"
764
+ attachment_legend: Add a document or an image
666
765
  back: Back
667
- select_a_category: Please select a category
668
766
  send: Send
669
767
  title: Edit collaborative draft
670
768
  empty: There are no collaborative drafts yet
@@ -672,11 +770,9 @@ en:
672
770
  filters:
673
771
  all: All
674
772
  amendment: Amendments
675
- category: Category
676
773
  open: Open
677
774
  published: Published
678
775
  related_to: Related to
679
- scope: Scope
680
776
  search: Search
681
777
  state: Status
682
778
  withdrawn: Withdrawn
@@ -716,7 +812,7 @@ en:
716
812
  error: Could not be rejected as a collaborator, please try again later.
717
813
  success: "@%{user} has been successfully rejected as a collaborator."
718
814
  show:
719
- edit: Edit collaborative draft
815
+ edit: Edit
720
816
  final_proposal: Final proposal
721
817
  final_proposal_help_text: This draft is finished. Check out the final proposal
722
818
  hidden_authors_count:
@@ -746,24 +842,51 @@ en:
746
842
  create:
747
843
  error: There was a problem saving the proposal.
748
844
  success: Proposal successfully created. Saved as a Draft.
845
+ creation:
846
+ imported_text: It became this proposal
847
+ merged_text: They became this proposal
848
+ splitted_text: It became this proposal
849
+ text: This proposal was created
749
850
  destroy_draft:
750
851
  error: There was a problem deleting the collaborative draft.
751
852
  success: Proposal draft was successfully deleted.
853
+ exit_modal:
854
+ cancel: Cancel
855
+ exit: Continue
856
+ message: You have to give %{number} more votes between different proposals for your votes to be taken into account.
857
+ title: Remember you have %{number} votes left
858
+ forms:
859
+ errors:
860
+ device_not_supported: Your device does not support location services. Please enter the address manually.
861
+ no_device_location: Sorry, we could not detect your location. Please enter the address manually.
862
+ use_my_location: Use my current location
863
+ invite_coauthors:
864
+ cancel:
865
+ error: There was a problem canceling the co-author invitation.
866
+ success: Co-author invitation successfully canceled.
867
+ create:
868
+ error: There was a problem inviting the co-author.
869
+ success: "%{author_name} successfully invited as a co-author."
870
+ destroy:
871
+ error: There was a problem declining the invitation.
872
+ success: The invitation has been declined.
873
+ update:
874
+ error: There was a problem accepting the invitation.
875
+ success: The invitation has been accepted.
752
876
  last_activity:
753
877
  new_proposal: 'New proposal:'
754
878
  proposal_updated: 'Proposal updated:'
755
879
  models:
756
880
  proposal:
757
881
  fields:
758
- category: Category
759
882
  comments: Comments
760
883
  id: ID
761
884
  notes: Notes
762
885
  official_proposal: Official proposal
763
886
  published_answer: Published answer
764
887
  published_at: Published at
765
- scope: Scope
766
888
  state: Status
889
+ taxonomies: Taxonomies
767
890
  title: Title
768
891
  valuator: Valuator
769
892
  valuators: Valuators
@@ -786,11 +909,10 @@ en:
786
909
  description: The coordinates will be updated when clicking on 'preview' button. However, the address does not change.
787
910
  instructions: You can move the point on the map.
788
911
  edit:
789
- add_documents: Add documents
790
- attachment_legend: "(Optional) Add an attachment"
912
+ add_attachments: Add attachments
913
+ attachment_legend: Add a document or an image
791
914
  back: Back
792
- edit_documents: Edit documents
793
- select_a_category: Please select a category
915
+ edit_attachments: Edit attachments
794
916
  send: Send
795
917
  title: Edit proposal
796
918
  edit_draft:
@@ -804,13 +926,13 @@ en:
804
926
  activity: My activity
805
927
  all: All
806
928
  amendment_type: Type
807
- category: Category
808
929
  my_proposals: My proposals
809
930
  origin: Origin
810
931
  related_to: Related to
811
932
  scope: Scope
812
933
  search: Search
813
934
  state: Status
935
+ taxonomy_filters: Filters
814
936
  type: Type
815
937
  voted: Voted
816
938
  index:
@@ -827,7 +949,7 @@ en:
827
949
  text_banner: You are viewing the list of proposals withdrawn by their authors. %{go_back_link}.
828
950
  new:
829
951
  send: Continue
830
- title: Create new proposal
952
+ title: Create your proposal
831
953
  orders:
832
954
  label: 'Order proposals by:'
833
955
  most_commented: Most commented
@@ -857,7 +979,7 @@ en:
857
979
  show:
858
980
  answer: Answer
859
981
  changes_at_title: Amendment to "%{title}"
860
- edit_proposal: Edit proposal
982
+ edit_proposal: Edit
861
983
  estimated_cost: Estimated cost
862
984
  hidden_endorsers_count:
863
985
  one: and %{count} more person
@@ -873,7 +995,7 @@ en:
873
995
  proposal_rejected_reason: 'This proposal has been rejected because:'
874
996
  withdraw_btn_hint: You can withdraw your proposal if you change your mind, as long as you have not received any vote. The proposal is not deleted, it will appear in the list of withdrawn proposals.
875
997
  withdraw_confirmation_html: Are you sure you want to withdraw this proposal?<br><br><strong>This action cannot be cancelled!</strong>
876
- withdraw_proposal: Withdraw proposal
998
+ withdraw_proposal: Withdraw
877
999
  update:
878
1000
  title: Update proposal
879
1001
  vote_button:
@@ -882,25 +1004,28 @@ en:
882
1004
  maximum_votes_reached: Vote limit reached
883
1005
  no_votes_remaining: No votes remaining
884
1006
  vote: Vote
885
- votes_blocked: Voting disabled
1007
+ votes_blocked: Vote
886
1008
  votes_count:
887
1009
  count:
888
1010
  one: Vote
889
1011
  other: Votes
890
1012
  voting_rules:
1013
+ already_vote:
1014
+ description: Remember that you still have to give %{number} supports between different proposals so that your supports are taken into account.
1015
+ see_other_proposals: See other proposals
1016
+ title: You have %{number} supports left
891
1017
  can_accumulate_votes_beyond_threshold:
892
1018
  description: Each proposal can accumulate more than %{limit} votes
893
1019
  minimum_votes_per_user:
894
- description: You must distribute a minimum of %{votes} votes among different proposals.
895
- given_enough_votes: You have given enough votes.
896
- votes_remaining: You have to vote %{remaining_votes} more proposals for your votes to be taken into account.
1020
+ description: You have to distribute a minimum of %{votes} supports among different proposals so that your supports are taken into account.
897
1021
  proposal_limit:
898
1022
  description: You can create up to %{limit} proposals.
1023
+ success: Your votes have been successfully accepted
899
1024
  threshold_per_proposal:
900
1025
  description: In order to be validated proposals need to reach %{limit} votes.
901
- title: 'Votes are subject to the following rules:'
1026
+ title: Rules of participation
902
1027
  vote_limit:
903
- description: You can vote up to %{limit} proposals.
1028
+ description: You can support up to %{limit} proposals.
904
1029
  votes: Remaining %{number} votes
905
1030
  wizard_aside:
906
1031
  back: Back