decidim-proposals 0.29.2 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/highlighted_proposals_for_component/show.erb +1 -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 +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 +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 +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 +7 -32
  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 +1 -0
  49. data/app/forms/decidim/proposals/admin/proposal_base_form.rb +3 -31
  50. data/app/forms/decidim/proposals/admin/proposal_form.rb +11 -6
  51. data/app/forms/decidim/proposals/admin/proposals_import_form.rb +0 -5
  52. data/app/forms/decidim/proposals/collaborative_draft_form.rb +0 -8
  53. data/app/forms/decidim/proposals/proposal_form.rb +5 -32
  54. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +25 -0
  55. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +0 -1
  56. data/app/helpers/decidim/proposals/application_helper.rb +23 -14
  57. data/app/helpers/decidim/proposals/collaborative_draft_helper.rb +7 -7
  58. data/app/helpers/decidim/proposals/map_helper.rb +0 -18
  59. data/app/helpers/decidim/proposals/proposal_votes_helper.rb +15 -2
  60. data/app/jobs/decidim/proposals/admin/proposal_answer_job.rb +20 -0
  61. data/app/models/decidim/proposals/collaborative_draft.rb +10 -1
  62. data/app/models/decidim/proposals/proposal.rb +66 -5
  63. data/app/models/decidim/proposals/proposal_note.rb +11 -0
  64. data/app/models/decidim/proposals/proposal_state.rb +1 -1
  65. data/app/packs/entrypoints/decidim_proposals.js +1 -0
  66. data/app/packs/entrypoints/decidim_proposals_geocoding.js +2 -0
  67. data/app/packs/src/decidim/proposals/admin/proposals.js +16 -1
  68. data/app/packs/src/decidim/proposals/exit_handler.js +73 -0
  69. data/app/packs/stylesheets/decidim/proposals/proposals.scss +248 -3
  70. data/app/permissions/decidim/proposals/admin/permissions.rb +2 -5
  71. data/app/permissions/decidim/proposals/permissions.rb +42 -0
  72. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -1
  73. data/app/presenters/decidim/proposals/proposal_presenter.rb +1 -1
  74. data/app/queries/decidim/proposals/filtered_proposals.rb +2 -2
  75. data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +2 -2
  76. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +10 -10
  77. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +4 -4
  78. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +6 -6
  79. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +6 -6
  80. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +6 -6
  81. data/app/services/decidim/proposals/proposal_builder.rb +1 -1
  82. data/app/views/decidim/proposals/admin/proposal_notes/_form.html.erb +3 -3
  83. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_note.html.erb +28 -0
  84. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_note_reply.html.erb +9 -0
  85. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +4 -28
  86. data/app/views/decidim/proposals/admin/proposal_states/_form.html.erb +1 -1
  87. data/app/views/decidim/proposals/admin/proposals/_actions.html.erb +21 -0
  88. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +3 -2
  89. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +16 -23
  90. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +12 -28
  91. data/app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb +45 -0
  92. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_apply_answer_template.html.erb +22 -0
  93. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +15 -11
  94. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_taxonomy_change.html.erb +23 -0
  95. data/app/views/decidim/proposals/admin/proposals/index.html.erb +17 -48
  96. data/app/views/decidim/proposals/admin/proposals/manage_trash.html.erb +18 -0
  97. data/app/views/decidim/proposals/admin/proposals/publish_answers.js.erb +1 -1
  98. data/app/views/decidim/proposals/admin/proposals/show.html.erb +10 -22
  99. data/app/views/decidim/proposals/admin/proposals/update_attribute.js.erb +1 -1
  100. data/app/views/decidim/proposals/admin/proposals_imports/new.html.erb +0 -3
  101. data/app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb +9 -0
  102. data/app/views/decidim/proposals/collaborative_drafts/_collaborative_draft_aside.html.erb +0 -15
  103. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +4 -6
  104. data/app/views/decidim/proposals/collaborative_drafts/index.html.erb +6 -2
  105. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +27 -11
  106. data/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +29 -9
  107. data/app/views/decidim/proposals/proposals/_actions.html.erb +4 -7
  108. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +17 -22
  109. data/app/views/decidim/proposals/proposals/_exit_modal.html.erb +17 -0
  110. data/app/views/decidim/proposals/proposals/_notification_alert_box.html.erb +1 -0
  111. data/app/views/decidim/proposals/proposals/_proposal_actions.html.erb +19 -0
  112. data/app/views/decidim/proposals/proposals/_proposal_aside.html.erb +9 -32
  113. data/app/views/decidim/proposals/proposals/_proposal_voting_rules.html.erb +33 -0
  114. data/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +2 -2
  115. data/app/views/decidim/proposals/proposals/_remaining_votes_notification.html.erb +12 -0
  116. data/app/views/decidim/proposals/proposals/_update_proposal_voting_rules.html.erb +6 -0
  117. data/app/views/decidim/proposals/proposals/_vote_button.html.erb +12 -8
  118. data/app/views/decidim/proposals/proposals/_votes_count.html.erb +2 -1
  119. data/app/views/decidim/proposals/proposals/_voting_rules.html.erb +1 -7
  120. data/app/views/decidim/proposals/proposals/index.html.erb +10 -18
  121. data/app/views/decidim/proposals/proposals/index.js.erb +1 -1
  122. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +3 -1
  123. data/app/views/decidim/proposals/proposals/show.html.erb +35 -15
  124. data/config/locales/ar.yml +18 -72
  125. data/config/locales/bg.yml +7 -89
  126. data/config/locales/bs-BA.yml +0 -13
  127. data/config/locales/ca.yml +212 -72
  128. data/config/locales/cs.yml +213 -73
  129. data/config/locales/de.yml +214 -75
  130. data/config/locales/el.yml +8 -82
  131. data/config/locales/en.yml +209 -69
  132. data/config/locales/es-MX.yml +213 -73
  133. data/config/locales/es-PY.yml +213 -73
  134. data/config/locales/es.yml +215 -75
  135. data/config/locales/eu.yml +217 -78
  136. data/config/locales/fi-plain.yml +216 -75
  137. data/config/locales/fi.yml +216 -75
  138. data/config/locales/fr-CA.yml +118 -87
  139. data/config/locales/fr.yml +118 -87
  140. data/config/locales/ga-IE.yml +0 -19
  141. data/config/locales/gl.yml +8 -43
  142. data/config/locales/hu.yml +6 -66
  143. data/config/locales/id-ID.yml +8 -40
  144. data/config/locales/is-IS.yml +0 -14
  145. data/config/locales/it.yml +8 -53
  146. data/config/locales/ja.yml +162 -87
  147. data/config/locales/lt.yml +8 -83
  148. data/config/locales/lv.yml +8 -50
  149. data/config/locales/nl.yml +6 -55
  150. data/config/locales/no.yml +8 -42
  151. data/config/locales/pl.yml +6 -88
  152. data/config/locales/pt-BR.yml +6 -74
  153. data/config/locales/pt.yml +8 -54
  154. data/config/locales/ro-RO.yml +10 -54
  155. data/config/locales/ru.yml +0 -18
  156. data/config/locales/sk.yml +8 -50
  157. data/config/locales/sr-CS.yml +0 -14
  158. data/config/locales/sv.yml +128 -85
  159. data/config/locales/tr-TR.yml +8 -51
  160. data/config/locales/uk.yml +0 -18
  161. data/config/locales/zh-CN.yml +8 -51
  162. data/config/locales/zh-TW.yml +8 -84
  163. data/db/migrate/20171220084719_add_published_at_to_proposals.rb +1 -1
  164. data/db/migrate/20181016132225_add_organization_as_author.rb +1 -1
  165. data/db/migrate/20200120215928_move_proposal_endorsements_to_core_endorsements.rb +1 -1
  166. data/db/migrate/20200827154156_add_commentable_counter_cache_to_proposals.rb +3 -3
  167. data/db/migrate/20210310102839_add_followable_counter_cache_to_proposals.rb +1 -1
  168. data/db/migrate/20240110203504_create_default_proposal_states.rb +1 -1
  169. data/db/migrate/20240404202756_add_valuation_assignments_count_to_decidim_proposals_proposals.rb +1 -1
  170. data/db/migrate/20240617091140_add_email_on_assigned_proposals_to_users.rb +7 -0
  171. data/db/migrate/20240617170052_add_parent_relation_to_decidim_proposal_notes.rb +7 -0
  172. data/db/migrate/20240828103755_add_deleted_at_to_decidim_proposals_proposals.rb +8 -0
  173. data/decidim-proposals.gemspec +1 -1
  174. data/lib/decidim/api/functions/proposal_finder_helper.rb +12 -0
  175. data/lib/decidim/api/functions/proposal_list_helper.rb +12 -0
  176. data/lib/decidim/api/proposal_type.rb +17 -25
  177. data/lib/decidim/api/proposals_type.rb +4 -19
  178. data/lib/decidim/proposals/admin_engine.rb +12 -3
  179. data/lib/decidim/proposals/admin_filter.rb +3 -6
  180. data/lib/decidim/proposals/component.rb +4 -5
  181. data/lib/decidim/proposals/download_your_data_proposal_serializer.rb +15 -0
  182. data/lib/decidim/proposals/engine.rb +5 -0
  183. data/lib/decidim/proposals/import/proposal_creator.rb +4 -4
  184. data/lib/decidim/proposals/proposal_serializer.rb +12 -29
  185. data/lib/decidim/proposals/seeds.rb +21 -17
  186. data/lib/decidim/proposals/test/factories.rb +2 -1
  187. data/lib/decidim/proposals/version.rb +1 -1
  188. data/lib/decidim/proposals.rb +4 -0
  189. metadata +65 -29
  190. data/app/commands/decidim/proposals/admin/update_proposal_category.rb +0 -70
  191. data/app/commands/decidim/proposals/admin/update_proposal_scope.rb +0 -75
  192. data/app/events/decidim/proposals/admin/update_proposal_category_event.rb +0 -11
  193. data/app/events/decidim/proposals/admin/update_proposal_scope_event.rb +0 -11
  194. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb +0 -15
  195. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb +0 -21
  196. data/app/views/decidim/proposals/collaborative_drafts/_actions.html.erb +0 -7
@@ -5,23 +5,25 @@ 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
12
11
  state: State
13
12
  title: Title
14
13
  user_group_id: Create collaborative draft as
14
+ import_participatory_text:
15
+ document: Document
15
16
  proposal:
16
17
  address: Address
17
18
  answer: Answer
18
19
  answered_at: Answered at
19
20
  automatic_hashtags: Hashtags automatically added
20
21
  body: Body
21
- category_id: Category
22
22
  decidim_proposals_proposal_state_id: State
23
23
  decidim_scope_id: Scope
24
24
  has_address: Has address
25
+ latitude: Latitude
26
+ longitude: Longitude
25
27
  scope_id: Scope
26
28
  state: State
27
29
  suggested_hashtags: Suggested hashtags
@@ -48,6 +50,8 @@ en:
48
50
  proposals_copy:
49
51
  copy_proposals: I understand that this will import all proposals from the selected component to the current one and that this action cannot be reversed.
50
52
  origin_component_id: Component to copy the proposals from
53
+ proposals_file_import:
54
+ file: File
51
55
  proposals_import:
52
56
  import_proposals: Import proposals
53
57
  keep_answers: Keep state and answers
@@ -83,8 +87,7 @@ en:
83
87
  not_official: Are not official
84
88
  voted: Have received votes or endorsements
85
89
  models:
86
- decidim/proposals/admin/update_proposal_category_event: Proposal category changed
87
- decidim/proposals/admin/update_proposal_scope_event: Proposal scope changed
90
+ decidim/proposals/admin/update_proposal_taxonomies_event: Proposal taxonomies changed
88
91
  decidim/proposals/creation_enabled_event: Proposal creation enabled
89
92
  decidim/proposals/endorsing_enabled_event: Proposal endorsing enabled
90
93
  decidim/proposals/proposal_mentioned_event: Proposal mentioned
@@ -92,6 +95,16 @@ en:
92
95
  decidim/proposals/voting_enabled_event: Proposal voting enabled
93
96
  activerecord:
94
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}'
95
108
  decidim/proposals/collaborative_draft:
96
109
  one: Collaborative draft
97
110
  other: Collaborative drafts
@@ -106,10 +119,11 @@ en:
106
119
  other: Votes
107
120
  decidim:
108
121
  admin:
122
+ admin_log:
123
+ changeset:
124
+ proposals: Proposals
109
125
  filters:
110
126
  proposals:
111
- category_id_eq:
112
- label: Category
113
127
  is_emendation_true:
114
128
  label: Type
115
129
  values:
@@ -117,8 +131,6 @@ en:
117
131
  'true': Amendments
118
132
  proposal_state_id_eq:
119
133
  label: State
120
- scope_id_eq:
121
- label: Scope
122
134
  state_eq:
123
135
  label: State
124
136
  values:
@@ -129,6 +141,8 @@ en:
129
141
  rejected: Rejected
130
142
  validating: Technical validation
131
143
  withdrawn: Withdrawn
144
+ taxonomies_part_of_contains:
145
+ label: Taxonomy
132
146
  valuator_role_ids_has:
133
147
  label: Assigned to valuator
134
148
  with_any_state:
@@ -138,12 +152,15 @@ en:
138
152
  state_published: Answered
139
153
  search_placeholder:
140
154
  id_string_or_title_cont: Search %{collection} by ID or title.
155
+ application:
156
+ geocoding:
157
+ not_configured: Geocoding is not configured!
141
158
  components:
142
159
  proposals:
143
160
  actions:
144
161
  amend: Amend
145
162
  comment: Comment
146
- create: Create
163
+ create: Create a proposal
147
164
  endorse: Endorse
148
165
  vote: Vote
149
166
  vote_comment: Vote comment
@@ -158,6 +175,7 @@ en:
158
175
  attachments_allowed: Allow attachments
159
176
  attachments_allowed_help: By enabling this option, proposals will default to grid mode, and the first image will appear on the card.
160
177
  can_accumulate_votes_beyond_threshold: Can accumulate votes beyond threshold
178
+ clear_all: Clear all
161
179
  collaborative_drafts_enabled: Collaborative drafts enabled
162
180
  comments_enabled: Comments enabled
163
181
  comments_max_length: Comments max length (Leave 0 for default value)
@@ -172,27 +190,37 @@ en:
172
190
  random: Random
173
191
  recent: Recent
174
192
  with_more_authors: With more authors
175
- 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
176
200
  minimum_votes_per_user: Minimum votes per user
177
201
  new_proposal_body_template: New proposal body template
178
202
  new_proposal_body_template_help: You can define prefilled text that the new Proposals will have
179
203
  new_proposal_help_text: New proposal help text
204
+ no_taxonomy_filters_found: No taxonomy filters found.
180
205
  official_proposals_enabled: Official proposals enabled
181
206
  participatory_texts_enabled: Participatory texts enabled
182
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.
183
208
  proposal_answering_enabled: Proposal answering enabled
184
- proposal_edit_before_minutes: Proposals can be edited by authors before this many minutes passes
185
209
  proposal_edit_time: Proposal editing
186
210
  proposal_edit_time_choices:
187
211
  infinite: Allow editing proposals for an infinite amount of time
188
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
189
217
  proposal_length: Maximum proposal body length
190
218
  proposal_limit: Proposal limit per participant
191
219
  proposal_wizard_step_1_help_text: Proposal wizard "Create" step help text
192
220
  proposal_wizard_step_2_help_text: Proposal wizard "Publish" step help text
193
221
  resources_permissions_enabled: Actions permissions can be set for each proposal
194
- scope_id: Scope
195
- scopes_enabled: Scopes enabled
222
+ taxonomy_filters: Select filters for the component
223
+ taxonomy_filters_add: Add filter
196
224
  threshold_per_proposal: Threshold per proposal
197
225
  vote_limit: Vote limit per participant
198
226
  step:
@@ -233,14 +261,47 @@ en:
233
261
  votes_blocked: Votes blocked
234
262
  votes_enabled: Votes enabled
235
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
236
268
  events:
237
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>.
238
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>.
239
278
  proposal_note_created:
240
- 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>.'
241
280
  email_outro: You have received this notification because you can valuate the proposal.
242
281
  email_subject: Someone left a note on proposal %{resource_title}.
243
- 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>.
244
305
  collaborative_draft_access_accepted:
245
306
  email_intro: '%{requester_name} has been accepted to access as a contributor of the <a href="%{resource_url}">%{resource_title}</a> collaborative draft.'
246
307
  email_outro: You have received this notification because you are a collaborator of <a href="%{resource_url}">%{resource_title}</a>.
@@ -308,16 +369,13 @@ en:
308
369
  email_outro: You have received this notification because you are following "%{resource_title}". You can unfollow it from the previous link.
309
370
  email_subject: A proposal you are following has changed its state (%{state})
310
371
  notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal has changed its state to "%{state}".
311
- proposal_update_category:
312
- email_intro: 'An admin has updated the category of your proposal "%{resource_title}", check it out in this page:'
313
- email_outro: You have received this notification because you are the author of the proposal.
314
- email_subject: The %{resource_title} proposal category has been updated
315
- notification_title: The <a href="%{resource_path}">%{resource_title}</a> proposal category has been updated by an admin.
316
- proposal_update_scope:
317
- 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:'
318
374
  email_outro: You have received this notification because you are the author of the proposal.
319
- email_subject: The %{resource_title} proposal scope has been updated
320
- 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>.
321
379
  voting_enabled:
322
380
  email_intro: 'You can vote proposals in %{participatory_space_title}! Start participating in this page:'
323
381
  email_outro: You have received this notification because you are following %{participatory_space_title}. You can stop receiving notifications following the previous link.
@@ -375,6 +433,56 @@ en:
375
433
  description: Number of votes to proposals
376
434
  object: votes
377
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
378
486
  participatory_spaces:
379
487
  highlighted_proposals:
380
488
  last: Last proposals
@@ -382,11 +490,15 @@ en:
382
490
  proposals:
383
491
  actions:
384
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?
385
495
  delete_proposal_state_confirm: Are you sure you want to delete this state?
386
496
  destroy: Delete state
387
497
  edit_proposal: Edit proposal
388
498
  edit_proposal_state: Edit state
389
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.
390
502
  new: New proposal
391
503
  new_proposal_state: New status
392
504
  participatory_texts: Participatory texts
@@ -394,14 +506,17 @@ en:
394
506
  title: Actions
395
507
  admin:
396
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.
397
511
  preview: Preview
512
+ view_deleted_proposals: View deleted proposals
398
513
  exports:
399
514
  proposal_comments: Comments
400
515
  proposals: Proposals
401
516
  imports:
402
517
  help:
403
518
  answers: |
404
- 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):
405
520
  <ul>
406
521
  <li><b>id:</b> ID of the proposal to answer</li>
407
522
  <li><b>state:</b> One of "accepted", "evaluating", or "rejected"</li>
@@ -412,8 +527,7 @@ en:
412
527
  <ul>
413
528
  <li><b>title/en:</b> Title on English language. This will depend on your platform language configuration.</li>
414
529
  <li><b>body/en:</b> Body on English language. This will depend on your platform language configuration.</li>
415
- <li><b>scope/id:</b> ID for the Scope</li>
416
- <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>
417
531
  </ul>
418
532
  label:
419
533
  answers: Import answers from a file
@@ -475,7 +589,9 @@ en:
475
589
  form:
476
590
  note: Note
477
591
  submit: Submit
478
- 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.
479
595
  title: Private notes
480
596
  proposal_states:
481
597
  create:
@@ -498,29 +614,29 @@ en:
498
614
  success: Status updated successfully
499
615
  proposals:
500
616
  answer:
501
- 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.
502
620
  success: Proposal successfully answered.
503
621
  create:
504
- invalid: There has been a problem creating this proposal.
622
+ invalid: There was a problem creating this proposal.
505
623
  success: Proposal successfully created.
506
624
  edit:
507
625
  title: Update proposal
508
626
  update: Update
509
627
  form:
510
- attachment_legend: "(Optional) Add an attachment"
511
628
  created_in_meeting: This proposal comes from a meeting
512
- delete_attachment: Delete attachment
513
- select_a_category: Select a category
514
629
  select_a_meeting: Select a meeting
515
630
  index:
516
631
  actions: Actions
632
+ apply_answer_template: Apply answer template
517
633
  assign_to_valuator: Assign to valuator
518
634
  assign_to_valuator_button: Assign
519
635
  cancel: Cancel
520
- change_category: Change category
521
- change_scope: Change scope
636
+ change_taxonomies: Change taxonomies
522
637
  merge: Merge into a new one
523
638
  merge_button: Merge
639
+ no_templates_available: No templates available
524
640
  publish: Publish
525
641
  publish_answers: Publish answers
526
642
  select_component: Select a component
@@ -533,7 +649,8 @@ en:
533
649
  unassign_from_valuator: Unassign from valuator
534
650
  unassign_from_valuator_button: Unassign
535
651
  update: Update
536
- update_scope_button: Update Scope
652
+ manage_trash:
653
+ title: Deleted proposals
537
654
  new:
538
655
  create: Create
539
656
  title: Create proposal
@@ -559,16 +676,11 @@ en:
559
676
  remove_assignment_confirmation: Are you sure you want to remove the valuator from this proposal?
560
677
  valuators: Valuators
561
678
  votes_count: Votes count
562
- update_category:
563
- invalid: 'These proposals already had the %{subject_name} category: %{proposals}.'
564
- select_a_category: Please select a category.
565
- select_a_proposal: Please select a proposal.
566
- success: 'Proposals successfully updated to the %{subject_name} category: %{proposals}.'
567
- update_scope:
568
- invalid: 'These proposals already had the %{subject_name} scope: %{proposals}.'
679
+ update_taxonomies:
680
+ invalid: 'These proposals already had the %{taxonomies} taxonomies: %{proposals}.'
569
681
  select_a_proposal: Please select a proposal.
570
- select_a_scope: Please select a scope.
571
- 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}.'
572
684
  proposals_imports:
573
685
  create:
574
686
  invalid: There was a problem importing the proposals.
@@ -581,24 +693,26 @@ en:
581
693
  title: Import proposals from another component
582
694
  proposals_merges:
583
695
  create:
584
- 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:'
585
697
  success: Successfully merged the proposals into a new one.
586
698
  proposals_splits:
587
699
  create:
588
- 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:'
589
701
  success: Successfully splitted the proposals into new ones.
590
702
  valuation_assignments:
591
703
  create:
592
- invalid: There was an error assigning proposals to a valuator.
704
+ invalid: There was a problem assigning proposals to a valuator.
593
705
  success: Proposals assigned to a valuator successfully.
594
706
  delete:
595
- invalid: There was an error unassigning proposals from a valuator.
707
+ invalid: There was a problem unassigning proposals from a valuator.
596
708
  success: Valuator unassigned from proposals successfully.
597
709
  admin_log:
598
710
  proposal:
599
711
  answer: "%{user_name} answered the %{resource_name} proposal on the %{space_name} space"
600
712
  create: "%{user_name} created the %{resource_name} proposal on the %{space_name} space as an official proposal"
601
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"
602
716
  update: "%{user_name} updated the %{resource_name} official proposal on the %{space_name} space"
603
717
  proposal_note:
604
718
  create: "%{user_name} left a private note on the %{resource_name} proposal on the %{space_name} space"
@@ -647,9 +761,8 @@ en:
647
761
  error: There was a problem creating this collaborative draft.
648
762
  success: Collaborative draft successfully created.
649
763
  edit:
650
- attachment_legend: "(Optional) Add an attachment"
764
+ attachment_legend: Add a document or an image
651
765
  back: Back
652
- select_a_category: Please select a category
653
766
  send: Send
654
767
  title: Edit collaborative draft
655
768
  empty: There are no collaborative drafts yet
@@ -657,11 +770,9 @@ en:
657
770
  filters:
658
771
  all: All
659
772
  amendment: Amendments
660
- category: Category
661
773
  open: Open
662
774
  published: Published
663
775
  related_to: Related to
664
- scope: Scope
665
776
  search: Search
666
777
  state: Status
667
778
  withdrawn: Withdrawn
@@ -701,7 +812,7 @@ en:
701
812
  error: Could not be rejected as a collaborator, please try again later.
702
813
  success: "@%{user} has been successfully rejected as a collaborator."
703
814
  show:
704
- edit: Edit collaborative draft
815
+ edit: Edit
705
816
  final_proposal: Final proposal
706
817
  final_proposal_help_text: This draft is finished. Check out the final proposal
707
818
  hidden_authors_count:
@@ -731,24 +842,51 @@ en:
731
842
  create:
732
843
  error: There was a problem saving the proposal.
733
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
734
850
  destroy_draft:
735
851
  error: There was a problem deleting the collaborative draft.
736
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.
737
876
  last_activity:
738
877
  new_proposal: 'New proposal:'
739
878
  proposal_updated: 'Proposal updated:'
740
879
  models:
741
880
  proposal:
742
881
  fields:
743
- category: Category
744
882
  comments: Comments
745
883
  id: ID
746
884
  notes: Notes
747
885
  official_proposal: Official proposal
748
886
  published_answer: Published answer
749
887
  published_at: Published at
750
- scope: Scope
751
888
  state: Status
889
+ taxonomies: Taxonomies
752
890
  title: Title
753
891
  valuator: Valuator
754
892
  valuators: Valuators
@@ -771,11 +909,10 @@ en:
771
909
  description: The coordinates will be updated when clicking on 'preview' button. However, the address does not change.
772
910
  instructions: You can move the point on the map.
773
911
  edit:
774
- add_documents: Add documents
775
- attachment_legend: "(Optional) Add an attachment"
912
+ add_attachments: Add attachments
913
+ attachment_legend: Add a document or an image
776
914
  back: Back
777
- edit_documents: Edit documents
778
- select_a_category: Please select a category
915
+ edit_attachments: Edit attachments
779
916
  send: Send
780
917
  title: Edit proposal
781
918
  edit_draft:
@@ -789,13 +926,13 @@ en:
789
926
  activity: My activity
790
927
  all: All
791
928
  amendment_type: Type
792
- category: Category
793
929
  my_proposals: My proposals
794
930
  origin: Origin
795
931
  related_to: Related to
796
932
  scope: Scope
797
933
  search: Search
798
934
  state: Status
935
+ taxonomy_filters: Filters
799
936
  type: Type
800
937
  voted: Voted
801
938
  index:
@@ -842,7 +979,7 @@ en:
842
979
  show:
843
980
  answer: Answer
844
981
  changes_at_title: Amendment to "%{title}"
845
- edit_proposal: Edit proposal
982
+ edit_proposal: Edit
846
983
  estimated_cost: Estimated cost
847
984
  hidden_endorsers_count:
848
985
  one: and %{count} more person
@@ -858,7 +995,7 @@ en:
858
995
  proposal_rejected_reason: 'This proposal has been rejected because:'
859
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.
860
997
  withdraw_confirmation_html: Are you sure you want to withdraw this proposal?<br><br><strong>This action cannot be cancelled!</strong>
861
- withdraw_proposal: Withdraw proposal
998
+ withdraw_proposal: Withdraw
862
999
  update:
863
1000
  title: Update proposal
864
1001
  vote_button:
@@ -867,25 +1004,28 @@ en:
867
1004
  maximum_votes_reached: Vote limit reached
868
1005
  no_votes_remaining: No votes remaining
869
1006
  vote: Vote
870
- votes_blocked: Voting disabled
1007
+ votes_blocked: Vote
871
1008
  votes_count:
872
1009
  count:
873
1010
  one: Vote
874
1011
  other: Votes
875
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
876
1017
  can_accumulate_votes_beyond_threshold:
877
1018
  description: Each proposal can accumulate more than %{limit} votes
878
1019
  minimum_votes_per_user:
879
- description: You must distribute a minimum of %{votes} votes among different proposals.
880
- given_enough_votes: You have given enough votes.
881
- 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.
882
1021
  proposal_limit:
883
1022
  description: You can create up to %{limit} proposals.
1023
+ success: Your votes have been successfully accepted
884
1024
  threshold_per_proposal:
885
1025
  description: In order to be validated proposals need to reach %{limit} votes.
886
- title: 'Votes are subject to the following rules:'
1026
+ title: Rules of participation
887
1027
  vote_limit:
888
- description: You can vote up to %{limit} proposals.
1028
+ description: You can support up to %{limit} proposals.
889
1029
  votes: Remaining %{number} votes
890
1030
  wizard_aside:
891
1031
  back: Back