decidim-proposals 0.28.3 → 0.29.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -18
  3. data/app/cells/decidim/proposals/cost_report_cell.rb +0 -3
  4. data/app/cells/decidim/proposals/highlighted_proposals_for_component_cell.rb +1 -1
  5. data/app/cells/decidim/proposals/participatory_text_proposal/buttons.erb +1 -1
  6. data/app/cells/decidim/proposals/participatory_text_proposal_cell.rb +2 -3
  7. data/app/cells/decidim/proposals/proposal_cell.rb +2 -0
  8. data/app/cells/decidim/proposals/proposal_g/show.erb +23 -0
  9. data/app/cells/decidim/proposals/proposal_g_cell.rb +48 -0
  10. data/app/cells/decidim/proposals/proposal_l_cell.rb +1 -3
  11. data/app/cells/decidim/proposals/proposal_metadata_cell.rb +23 -15
  12. data/app/commands/decidim/proposals/admin/answer_proposal.rb +2 -1
  13. data/app/commands/decidim/proposals/admin/assign_proposals_to_valuator.rb +7 -5
  14. data/app/commands/decidim/proposals/admin/create_proposal.rb +2 -2
  15. data/app/commands/decidim/proposals/admin/create_proposal_state.rb +15 -0
  16. data/app/commands/decidim/proposals/admin/destroy_proposal_state.rb +10 -0
  17. data/app/commands/decidim/proposals/admin/import_proposals.rb +10 -2
  18. data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +4 -21
  19. data/app/commands/decidim/proposals/admin/unassign_proposals_from_valuator.rb +6 -4
  20. data/app/commands/decidim/proposals/admin/update_proposal_state.rb +13 -0
  21. data/app/commands/decidim/proposals/create_proposal.rb +21 -2
  22. data/app/commands/decidim/proposals/update_proposal.rb +2 -2
  23. data/app/commands/decidim/proposals/vote_proposal.rb +1 -1
  24. data/app/commands/decidim/proposals/withdraw_proposal.rb +3 -7
  25. data/app/controllers/concerns/decidim/proposals/admin/filterable.rb +10 -22
  26. data/app/controllers/decidim/proposals/admin/proposal_states_controller.rb +86 -0
  27. data/app/controllers/decidim/proposals/admin/proposals_controller.rb +4 -0
  28. data/app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb +8 -11
  29. data/app/controllers/decidim/proposals/proposals_controller.rb +30 -35
  30. data/app/events/decidim/proposals/proposal_state_changed_event.rb +37 -0
  31. data/app/forms/decidim/proposals/admin/proposal_answer_form.rb +5 -1
  32. data/app/forms/decidim/proposals/admin/proposal_state_form.rb +22 -0
  33. data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +1 -1
  34. data/app/forms/decidim/proposals/admin/proposals_import_form.rb +1 -1
  35. data/app/forms/decidim/proposals/admin/valuation_assignment_form.rb +12 -14
  36. data/app/forms/decidim/proposals/proposal_form.rb +25 -4
  37. data/app/forms/decidim/proposals/reject_access_to_collaborative_draft_form.rb +1 -1
  38. data/app/forms/decidim/proposals/request_access_to_collaborative_draft_form.rb +1 -1
  39. data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +7 -17
  40. data/app/helpers/decidim/proposals/admin/proposals_helper.rb +13 -89
  41. data/app/helpers/decidim/proposals/application_helper.rb +16 -10
  42. data/app/helpers/decidim/proposals/proposal_cells_helper.rb +6 -2
  43. data/app/helpers/decidim/proposals/proposal_votes_helper.rb +3 -3
  44. data/app/helpers/decidim/proposals/proposal_wizard_helper.rb +5 -8
  45. data/app/helpers/decidim/proposals/proposals_helper.rb +18 -24
  46. data/app/models/decidim/proposals/proposal.rb +78 -28
  47. data/app/models/decidim/proposals/proposal_state.rb +58 -0
  48. data/app/packs/documents/decidim/proposals/participatory_texts/participatory_text.md +1 -3
  49. data/app/packs/images/decidim/proposals/proposal-placeholder-card-g.svg +15 -0
  50. data/app/packs/src/decidim/proposals/add_proposal.js +2 -0
  51. data/app/packs/src/decidim/proposals/admin/proposals.js +43 -8
  52. data/app/packs/stylesheets/decidim/proposals/proposals.scss +39 -1
  53. data/app/permissions/decidim/proposals/admin/permissions.rb +16 -4
  54. data/app/presenters/decidim/proposals/admin_log/proposal_state_presenter.rb +21 -0
  55. data/app/presenters/decidim/proposals/proposal_presenter.rb +12 -3
  56. data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +1 -1
  57. data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +1 -1
  58. data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +4 -4
  59. data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +1 -1
  60. data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +1 -1
  61. data/app/services/decidim/proposals/diff_renderer.rb +1 -1
  62. data/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb +1 -1
  63. data/app/views/decidim/proposals/admin/participatory_texts/index.html.erb +3 -2
  64. data/app/views/decidim/proposals/admin/proposal_answers/_form.html.erb +2 -2
  65. data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +3 -3
  66. data/app/views/decidim/proposals/admin/proposal_states/_form.html.erb +67 -0
  67. data/app/views/decidim/proposals/admin/proposal_states/edit.html.erb +18 -0
  68. data/app/views/decidim/proposals/admin/proposal_states/index.html.erb +50 -0
  69. data/app/views/decidim/proposals/admin/proposal_states/new.html.erb +18 -0
  70. data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +6 -12
  71. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +6 -6
  72. data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +2 -2
  73. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb +11 -7
  74. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +7 -5
  75. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb +2 -2
  76. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_publish_answers.html.erb +2 -2
  77. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_recategorize.html.erb +2 -2
  78. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_scope-change.html.erb +2 -2
  79. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_split.html.erb +2 -2
  80. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb +11 -7
  81. data/app/views/decidim/proposals/admin/proposals/bulk_actions/_valuators_picker.html.erb +12 -0
  82. data/app/views/decidim/proposals/admin/proposals/index.html.erb +9 -5
  83. data/app/views/decidim/proposals/admin/proposals/publish_answers.js.erb +1 -1
  84. data/app/views/decidim/proposals/admin/proposals/show.html.erb +3 -2
  85. data/app/views/decidim/proposals/admin/proposals/update_attribute.js.erb +3 -3
  86. data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +12 -5
  87. data/app/views/decidim/proposals/proposals/_proposal.html.erb +1 -1
  88. data/app/views/decidim/proposals/proposals/_proposal_aside.html.erb +1 -1
  89. data/app/views/decidim/proposals/proposals/_proposals.html.erb +9 -3
  90. data/app/views/decidim/proposals/proposals/_vote_button.html.erb +1 -1
  91. data/app/views/decidim/proposals/proposals/_voting_rules.html.erb +3 -3
  92. data/app/views/decidim/proposals/proposals/_wizard_header.html.erb +0 -1
  93. data/app/views/decidim/proposals/proposals/new.html.erb +2 -7
  94. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_vote_button.html.erb +4 -4
  95. data/app/views/decidim/proposals/proposals/participatory_texts/_proposal_votes_count.html.erb +8 -8
  96. data/app/views/decidim/proposals/proposals/preview.html.erb +1 -1
  97. data/app/views/decidim/proposals/proposals/show.html.erb +1 -1
  98. data/config/locales/ar.yml +6 -114
  99. data/config/locales/bg.yml +110 -106
  100. data/config/locales/ca.yml +81 -78
  101. data/config/locales/cs.yml +60 -122
  102. data/config/locales/de.yml +122 -119
  103. data/config/locales/el.yml +3 -118
  104. data/config/locales/en.yml +110 -107
  105. data/config/locales/es-MX.yml +82 -79
  106. data/config/locales/es-PY.yml +85 -82
  107. data/config/locales/es.yml +81 -78
  108. data/config/locales/eu.yml +103 -107
  109. data/config/locales/fi-plain.yml +87 -84
  110. data/config/locales/fi.yml +118 -115
  111. data/config/locales/fr-CA.yml +86 -83
  112. data/config/locales/fr.yml +78 -75
  113. data/config/locales/ga-IE.yml +1 -27
  114. data/config/locales/gl.yml +5 -104
  115. data/config/locales/he-IL.yml +0 -13
  116. data/config/locales/hu.yml +15 -88
  117. data/config/locales/id-ID.yml +2 -97
  118. data/config/locales/is-IS.yml +1 -33
  119. data/config/locales/it.yml +6 -96
  120. data/config/locales/ja.yml +110 -107
  121. data/config/locales/lb.yml +1 -0
  122. data/config/locales/lt.yml +3 -122
  123. data/config/locales/lv.yml +2 -96
  124. data/config/locales/nl.yml +6 -95
  125. data/config/locales/no.yml +3 -107
  126. data/config/locales/pl.yml +106 -113
  127. data/config/locales/pt-BR.yml +5 -81
  128. data/config/locales/pt.yml +5 -107
  129. data/config/locales/ro-RO.yml +6 -110
  130. data/config/locales/ru.yml +2 -53
  131. data/config/locales/sk.yml +2 -103
  132. data/config/locales/sv.yml +66 -206
  133. data/config/locales/tr-TR.yml +57 -103
  134. data/config/locales/uk.yml +3 -54
  135. data/config/locales/zh-CN.yml +2 -99
  136. data/config/locales/zh-TW.yml +3 -116
  137. data/db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb +27 -0
  138. data/db/migrate/20240110203501_create_decidim_proposals_proposal_state.rb +14 -0
  139. data/db/migrate/20240110203502_add_state_id_to_decidim_proposals_proposals.rb +13 -0
  140. data/db/migrate/20240110203503_remove_state_from_decidim_proposals_proposals.rb +11 -0
  141. data/db/migrate/20240110203504_create_default_proposal_states.rb +31 -0
  142. data/db/migrate/20240209092404_change_color_fields_on_proposals_states.rb +54 -0
  143. data/decidim-proposals.gemspec +2 -2
  144. data/lib/decidim/api/proposal_type.rb +4 -0
  145. data/lib/decidim/proposals/admin_engine.rb +8 -0
  146. data/lib/decidim/proposals/admin_filter.rb +37 -0
  147. data/lib/decidim/proposals/component.rb +8 -5
  148. data/lib/decidim/proposals/engine.rb +1 -15
  149. data/lib/decidim/proposals/import/proposal_answer_creator.rb +6 -6
  150. data/lib/decidim/proposals/import/proposal_creator.rb +1 -1
  151. data/lib/decidim/proposals/markdown_to_proposals.rb +2 -8
  152. data/lib/decidim/proposals/proposal_serializer.rb +5 -3
  153. data/lib/decidim/proposals/seeds.rb +60 -51
  154. data/lib/decidim/proposals/test/factories.rb +64 -8
  155. data/lib/decidim/proposals/version.rb +1 -1
  156. data/lib/decidim/proposals.rb +84 -12
  157. data/lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake +32 -0
  158. metadata +50 -36
  159. data/app/events/decidim/proposals/accepted_proposal_event.rb +0 -17
  160. data/app/events/decidim/proposals/evaluating_proposal_event.rb +0 -11
  161. data/app/events/decidim/proposals/rejected_proposal_event.rb +0 -17
  162. data/app/forms/decidim/proposals/proposal_wizard_create_step_form.rb +0 -44
  163. data/app/queries/decidim/proposals/similar_proposals.rb +0 -67
  164. data/app/views/decidim/proposals/proposals/_endorsements_card_row.html.erb +0 -0
  165. data/app/views/decidim/proposals/proposals/_proposal_badge.html.erb +0 -3
  166. data/app/views/decidim/proposals/proposals/compare.html.erb +0 -24
  167. data/app/views/decidim/proposals/proposals/complete.html.erb +0 -31
  168. data/lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake +0 -34
@@ -50,15 +50,12 @@ zh-CN:
50
50
  title:
51
51
  identical: 和正文不能相同
52
52
  models:
53
- decidim/proposals/accepted_proposal_event: 提议已被接受
54
53
  decidim/proposals/admin/update_proposal_category_event: 建议类别已更改
55
54
  decidim/proposals/admin/update_proposal_scope_event: 建议范围已更改
56
55
  decidim/proposals/creation_enabled_event: 建议创建已启用
57
56
  decidim/proposals/endorsing_enabled_event: 提案已启用
58
- decidim/proposals/evaluating_proposal_event: 目前正在对提案进行评价
59
57
  decidim/proposals/proposal_mentioned_event: 提及的建议
60
58
  decidim/proposals/publish_proposal_event: 建议已发布
61
- decidim/proposals/rejected_proposal_event: 被拒绝的提案
62
59
  decidim/proposals/voting_enabled_event: 提案投票已启用
63
60
  activerecord:
64
61
  models:
@@ -68,8 +65,6 @@ zh-CN:
68
65
  other: 建议
69
66
  decidim/proposals/proposal_note:
70
67
  other: 注
71
- decidim/proposals/proposal_vote:
72
- other: 支持
73
68
  decidim:
74
69
  admin:
75
70
  filters:
@@ -102,7 +97,6 @@ zh-CN:
102
97
  amend: 修改:
103
98
  create: 创建
104
99
  endorse: 批准
105
- vote: 支持
106
100
  withdraw: 取款
107
101
  name: 建议
108
102
  settings:
@@ -112,12 +106,10 @@ zh-CN:
112
106
  amendments_wizard_help_text: 修正向导帮助文本
113
107
  announcement: 通 知
114
108
  attachments_allowed: 允许附件
115
- can_accumulate_supports_beyond_threshold: 可以积累超过阈值的支持
116
109
  collaborative_drafts_enabled: 协作草稿已启用
117
110
  comments_enabled: 评论已启用
118
111
  comments_max_length: 评论最大长度 (默认值留0)
119
112
  geocoding_enabled: 地理编码已启用
120
- minimum_votes_per_user: 每个用户的最低支持
121
113
  new_proposal_body_template: 新的提案正文模板
122
114
  new_proposal_body_template_help: 您可以定义新建议将包含的预填文本
123
115
  new_proposal_help_text: 新建议帮助文本
@@ -129,13 +121,10 @@ zh-CN:
129
121
  proposal_length: 最大建议体长度
130
122
  proposal_limit: 每个参与者的建议限制
131
123
  proposal_wizard_step_1_help_text: 建议向导“创建”步骤帮助文本
132
- proposal_wizard_step_2_help_text: 建议向导“Compare”步骤帮助文本
133
- proposal_wizard_step_3_help_text: 建议向导“完成”步骤帮助文本
134
124
  resources_permissions_enabled: 每个提案都可以设置动作权限
135
125
  scope_id: 范围
136
126
  scopes_enabled: 范围已启用
137
127
  threshold_per_proposal: 每个建议的阈值
138
- vote_limit: 每位参与者的支持限制
139
128
  step:
140
129
  amendment_creation_enabled: 修改创建已启用
141
130
  amendment_creation_enabled_help: 参加者可以修改提案。
@@ -157,9 +146,6 @@ zh-CN:
157
146
  proposal_answering_enabled: 建议答案已启用
158
147
  publish_answers_immediately: 立即发布提案答案
159
148
  suggested_hashtags: 推荐给参与者的新建议标签
160
- votes_blocked: 支持被阻止
161
- votes_enabled: 支持已启用
162
- votes_hidden: 支持隐藏 (如果支持已启用,选中将隐藏支持次数)
163
149
  events:
164
150
  proposals:
165
151
  admin:
@@ -190,24 +176,6 @@ zh-CN:
190
176
  email_intro: '您可以在 %{participatory_space_title}中批准提案!开始参与此页面:'
191
177
  email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
192
178
  email_subject: '%{participatory_space_title} 的建议已经开始'
193
- proposal_accepted:
194
- affected_user:
195
- email_intro: '您的建议 "%{resource_title}" 已被接受。您可以在此页面中阅读答案:'
196
- email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
197
- email_subject: 您的建议已被接受
198
- notification_title: 您的提议 <a href="%{resource_path}">%{resource_title}</a> 已被接受。
199
- follower:
200
- email_intro: '提议 "%{resource_title}" 已被接受。您可以在此页面中阅读答案:'
201
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议已被接受。
202
- proposal_evaluating:
203
- affected_user:
204
- email_intro: '您的建议 "%{resource_title}" 目前正在评估中。您可以检查此页面的答案:'
205
- email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
206
- email_subject: 您的建议正在评估中
207
- notification_title: 您的提议 <a href="%{resource_path}">%{resource_title}</a> 正在评估中。
208
- follower:
209
- email_intro: '提议 "%{resource_title}" 目前正在评估。您可以在这个页面检查答案:'
210
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议正在评估中。
211
179
  proposal_mentioned:
212
180
  email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
213
181
  email_subject: 您的提议 "%{mentioned_proposal_title}" 已被提到了
@@ -220,14 +188,6 @@ zh-CN:
220
188
  email_intro: 提议 "%{resource_title}" 已被添加到"%{participatory_space_title}",您正在关注它。
221
189
  email_outro: 您收到此通知是因为您正在关注 "%{participatory_space_title}"。您可以停止收到跟随上一个链接的通知。
222
190
  email_subject: 新提议 "%{resource_title}" 已添加到 %{participatory_space_title}
223
- proposal_rejected:
224
- affected_user:
225
- email_intro: '您的提议 "%{resource_title}" 已被拒绝。您可以在此页中读取答案:'
226
- email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
227
- notification_title: 您的提议 <a href="%{resource_path}">%{resource_title}</a> 已被拒绝
228
- follower:
229
- email_intro: '提议 "%{resource_title}" 已被拒绝。您可以在此页中读取答案:'
230
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议已被拒绝。
231
191
  proposal_update_category:
232
192
  email_intro: '管理员更新了您的提议 "%{resource_title}"的类别,在此页面查看:'
233
193
  email_outro: 您收到此通知是因为您是提案的作者。
@@ -239,9 +199,7 @@ zh-CN:
239
199
  email_subject: '%{resource_title} 建议范围已更新'
240
200
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提议范围已被管理员更新。
241
201
  voting_enabled:
242
- email_intro: '您可以在 %{participatory_space_title}中支持建议!开始参与此页面:'
243
202
  email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
244
- email_subject: '%{participatory_space_title} 的建议支持已经开始'
245
203
  gamification:
246
204
  badges:
247
205
  accepted_proposals:
@@ -258,13 +216,7 @@ zh-CN:
258
216
  proposal_votes:
259
217
  conditions:
260
218
  - 浏览并花一些时间阅读其他人的建议
261
- - 支持您想要的建议或有趣的
262
- description: 当你支持其他人的建议时,这个徽章将被授予。
263
- description_another: 此参与者已经支持 %{score} 提案。
264
- description_own: 您已经对 %{score} 的建议给予了支持。
265
- name: 建议支持
266
- next_level_in: 支持更多 %{score} 个建议以达到下一级!
267
- unearned_own: 您还没有对任何建议给予支持。
219
+ -
268
220
  proposals:
269
221
  conditions:
270
222
  - 选择您感兴趣的提交建议的参与空间
@@ -288,10 +240,6 @@ zh-CN:
288
240
  description: 建议数
289
241
  object: 提议
290
242
  title: 建议
291
- votes:
292
- description: 支持提议的数量
293
- object: 支持
294
- title: 支持
295
243
  participatory_spaces:
296
244
  highlighted_proposals:
297
245
  see_all: 查看所有建议 (%{count})
@@ -341,11 +289,7 @@ zh-CN:
341
289
  success: 参与性文本更新成功。
342
290
  proposal_answers:
343
291
  form:
344
- accepted: 已接受
345
292
  answer_proposal: 答案
346
- evaluating: 评价
347
- not_answered: 未回答
348
- rejected: 已拒绝
349
293
  title: 对提议 %{title} 的答案
350
294
  proposal_notes:
351
295
  form:
@@ -401,7 +345,6 @@ zh-CN:
401
345
  remove_assignment: 移除作业
402
346
  remove_assignment_confirmation: 您确定要从此建议中删除值吗?
403
347
  valuators: 估价器
404
- votes_count: 支持计数
405
348
  update_category:
406
349
  invalid: '这些建议已经有 %{subject_name} 分类: %{proposals}。'
407
350
  success: '建议已成功更新到 %{subject_name} 类别: %{proposals}。'
@@ -444,11 +387,8 @@ zh-CN:
444
387
  official: 官方的
445
388
  user_groups: 群組
446
389
  filter_state_values:
447
- accepted: 已接受
448
390
  all: 所有的
449
- evaluating: 评价
450
391
  not_answered: 未回答
451
- rejected: 已拒绝
452
392
  filter_type_values:
453
393
  all: 所有的
454
394
  amendments: 修 正 案
@@ -566,17 +506,7 @@ zh-CN:
566
506
  buttons:
567
507
  amend: 修改:
568
508
  comment: 评论
569
- proposal_votes:
570
- create:
571
- error: 有一个问题支持这项提议。
572
509
  proposals:
573
- compare:
574
- continue: 继续
575
- no_similars_found: 干得好!没有找到类似的建议
576
- title: 类似的提议
577
- complete:
578
- send: 发送
579
- title: 完成您的提议
580
510
  edit:
581
511
  attachment_legend: "(可选) 添加附件"
582
512
  back: 后退
@@ -587,6 +517,7 @@ zh-CN:
587
517
  discard: 丢弃这个草稿
588
518
  discard_confirmation: 您确定要放弃这个建议草案吗?
589
519
  send: 预览
520
+ title: 编辑提案草案
590
521
  filters:
591
522
  activity: 我的活动
592
523
  all: 所有的
@@ -599,7 +530,6 @@ zh-CN:
599
530
  search: 搜索
600
531
  state: 状态
601
532
  type: 类型
602
- voted: 支持的
603
533
  index:
604
534
  collaborative_drafts_list: 访问协作草稿
605
535
  count:
@@ -613,7 +543,6 @@ zh-CN:
613
543
  most_commented: 最多评论
614
544
  most_endorsed: 最多支持
615
545
  most_followed: 关注最多的
616
- most_voted: 最多支持
617
546
  random: 随机播放
618
547
  recent: 最近的
619
548
  with_more_authors: 有更多作者
@@ -639,45 +568,19 @@ zh-CN:
639
568
  proposal_accepted_reason: '这一提议已被接受,原因是:'
640
569
  proposal_in_evaluation_reason: 这项建议正在评估
641
570
  proposal_rejected_reason: '这一提议被否决,理由是:'
642
- withdraw_btn_hint: 如果您改变主意,只要您没有得到任何支持,您可以撤回您的建议。 该提案未予删除,将列入撤回的提案清单。
643
571
  withdraw_confirmation_html: 您确定要撤回此建议吗?<br><br><strong>此操作不能取消!</strong>
644
572
  withdraw_proposal: 撤回提案
645
573
  update:
646
574
  title: 更新提议
647
- vote_button:
648
- already_voted: 已经支持
649
- already_voted_hover: 取款支持
650
- maximum_votes_reached: 已达到支持上限
651
- no_votes_remaining: 不支持剩余
652
- vote: 支持
653
- votes_blocked: 支持已禁用
654
- votes_count:
655
- count:
656
- other: 支持
657
575
  voting_rules:
658
- can_accumulate_supports_beyond_threshold:
659
- description: 每个建议都可以积累超过 %{limit} 个支持
660
- minimum_votes_per_user:
661
- description: 您必须在不同的建议中至少分配 %{votes} 支持。
662
- supports_remaining: 您必须支持 %{remaining_votes} 个更多的建议以便您的支持被考虑。
663
576
  proposal_limit:
664
577
  description: 您最多可以创建 %{limit} 个建议。
665
- title: '支持受以下规则约束:'
666
- vote_limit:
667
- description: 您可以最多支持 %{limit} 个建议。
668
- votes: 支持
669
578
  wizard_aside:
670
579
  back: 后退
671
580
  back_from_step_1: 回到提议
672
- back_from_step_2: 回到提议
673
- back_from_step_3: 返回比较提案
674
- back_from_step_4: 返回编辑草稿
675
581
  wizard_steps:
676
582
  current_step: 当前步骤
677
583
  step_1: 创建您的提议
678
- step_2: 比较
679
- step_3: Complete
680
- step_4: 发布您的提议
681
584
  title: 建议创建步骤
682
585
  proposals_picker:
683
586
  choose_proposals: 选择建议
@@ -62,22 +62,17 @@ zh-TW:
62
62
  attributes:
63
63
  base:
64
64
  not_official: 非正式
65
- supported: 已獲得支持或連署
66
65
  proposals_split:
67
66
  attributes:
68
67
  base:
69
68
  not_official: 非正式
70
- supported: 已獲得支持或連署
71
69
  models:
72
- decidim/proposals/accepted_proposal_event: 提案已接受
73
70
  decidim/proposals/admin/update_proposal_category_event: 提案類別已更改
74
71
  decidim/proposals/admin/update_proposal_scope_event: 提案範圍已更改
75
72
  decidim/proposals/creation_enabled_event: 建立提案已啟用
76
73
  decidim/proposals/endorsing_enabled_event: 提案連署功能已啟用
77
- decidim/proposals/evaluating_proposal_event: 提案正在被評估中
78
74
  decidim/proposals/proposal_mentioned_event: 提案已被提及
79
75
  decidim/proposals/publish_proposal_event: 提案已發佈
80
- decidim/proposals/rejected_proposal_event: 提案被拒絕
81
76
  decidim/proposals/voting_enabled_event: 提案投票已啟用
82
77
  activerecord:
83
78
  models:
@@ -87,8 +82,6 @@ zh-TW:
87
82
  other: 提案
88
83
  decidim/proposals/proposal_note:
89
84
  other: 備註
90
- decidim/proposals/proposal_vote:
91
- other: 支援
92
85
  decidim:
93
86
  admin:
94
87
  filters:
@@ -122,7 +115,6 @@ zh-TW:
122
115
  comment: 評論
123
116
  create: 建立
124
117
  endorse: 連署
125
- vote: 支援
126
118
  vote_comment: 投票評論
127
119
  withdraw: 撤回
128
120
  name: 提案
@@ -133,7 +125,6 @@ zh-TW:
133
125
  amendments_wizard_help_text: 修改向導説明文字
134
126
  announcement: 公告
135
127
  attachments_allowed: 允許附檔
136
- can_accumulate_supports_beyond_threshold: 能夠累積支持至超過門檻
137
128
  collaborative_drafts_enabled: ' 啟用協作草稿'
138
129
  comments_enabled: 已啟用留言
139
130
  comments_max_length: 評論字數最大長度(若要使用預設值請輸入0)
@@ -142,12 +133,10 @@ zh-TW:
142
133
  most_commented: 最多評論
143
134
  most_endorsed: 最多已連署
144
135
  most_followed: 最多追蹤者
145
- most_voted: 最受支持的
146
136
  random: 隨機
147
137
  recent: 最近
148
138
  with_more_authors: 有更多作者
149
139
  geocoding_enabled: 地理編碼已啟用
150
- minimum_votes_per_user: 每位使用者最少贊成數量
151
140
  new_proposal_body_template: 新提案正文樣板
152
141
  new_proposal_body_template_help: 您可以定義新提案預先填寫的文字
153
142
  new_proposal_help_text: 新提案幫助文本
@@ -163,13 +152,10 @@ zh-TW:
163
152
  proposal_length: 提案正文的最大長度
164
153
  proposal_limit: 參與者可提出提案的上限
165
154
  proposal_wizard_step_1_help_text: 提案向導「創建」步驟說明文字
166
- proposal_wizard_step_2_help_text: 提案向導「比較」步驟說明文字
167
- proposal_wizard_step_3_help_text: 提案向導「完成」步驟說明文字
168
155
  resources_permissions_enabled: 每個提案都可以設定行動權限
169
156
  scope_id: 範圍
170
157
  scopes_enabled: 啟用範圍
171
158
  threshold_per_proposal: 每個提案的門檻
172
- vote_limit: 每位參與者可支持的數量上限
173
159
  step:
174
160
  amendment_creation_enabled: 創建修正案已啟用
175
161
  amendment_creation_enabled_help: 參與者可修改提案
@@ -193,7 +179,6 @@ zh-TW:
193
179
  most_commented: 最多評論
194
180
  most_endorsed: 最多已連署
195
181
  most_followed: 最多追蹤者
196
- most_voted: 最受支持的
197
182
  random: 隨機
198
183
  recent: 最近
199
184
  with_more_authors: 有更多作者
@@ -203,9 +188,6 @@ zh-TW:
203
188
  publish_answers_immediately: 立即發布提案回答
204
189
  publish_answers_immediately_help_html: '請注意,如果您在未啟用此功能的情況下回答任何提案,您將需要手動選擇它們並使用發布操作進行發布。有關此操作的更多信息,請參閱 <a href="https://docs.decidim.org/en/admin/components/proposals/answers#_publication" target="_blank">提案答案文檔頁面</a>。'
205
190
  suggested_hashtags: 為新提案建議參與者使用的標籤
206
- votes_blocked: 封鎖支持
207
- votes_enabled: 啟用支持
208
- votes_hidden: 隱藏支持(如果支持被啟用,勾選此選項將隱藏支持的數量)
209
191
  events:
210
192
  proposals:
211
193
  admin:
@@ -254,26 +236,6 @@ zh-TW:
254
236
  email_outro: 你收到此通知是因為你正在追蹤 %{participatory_space_title}。你可以透過前面的連結停止接收通知。
255
237
  email_subject: 已開始對於 %{participatory_space_title} 的提案進行連署
256
238
  notification_title: 現在您可以在<a href="%{participatory_space_url}">%{participatory_space_title}</a>中開始<a href="%{resource_path}">連署提案</a>。
257
- proposal_accepted:
258
- affected_user:
259
- email_intro: '您的提案「%{resource_title}」已被接受。您可以在此頁面上閱讀回應:'
260
- email_outro: 你收到此通知,是因為你是「%{resource_title}」的作者。
261
- email_subject: 你的提案已被接受
262
- notification_title: 您的提案 <a href="%{resource_path}">%{resource_title}</a> 已被接受。
263
- follower:
264
- email_intro: '該提案「%{resource_title}」已被接受。您可以在此頁面上閱讀回應:'
265
- email_subject: 您追蹤的提案已被接受
266
- notification_title: <a href="%{resource_path}">%{resource_title}</a>" 提案已經被接受。
267
- proposal_evaluating:
268
- affected_user:
269
- email_intro: '您的提案“%{resource_title}”正在進行評估。您可以在此頁面上查看答案:'
270
- email_outro: 你收到此通知,是因為你是「%{resource_title}」的作者。
271
- email_subject: 您的提案正在被評估中
272
- notification_title: 您的提案<a href="%{resource_path}">%{resource_title}</a>正在評估中。
273
- follower:
274
- email_intro: '該提案“%{resource_title}”正在進行評估。您可以在此頁面上查看答案:'
275
- email_subject: 你追蹤的提案正在評估中
276
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 提案正在評估中。
277
239
  proposal_mentioned:
278
240
  email_intro: 你的提案「%{mentioned_proposal_title}」在評論中被提及,<a href="%{resource_url}">請至此空間查看</a>。
279
241
  email_outro: 你收到此通知,是因為你是「%{resource_title}」的作者。
@@ -290,16 +252,6 @@ zh-TW:
290
252
  email_subject: 新增提案「%{resource_title}」至「%{participatory_space_title}」。
291
253
  notification_title: '%{author} 將提案<a href="%{resource_path}">%{resource_title}</a>新增至%{participatory_space_title}.'
292
254
  notification_title_official: 官方提案 <a href="%{resource_path}">%{resource_title}</a> 已經被添加到 %{participatory_space_title}.
293
- proposal_rejected:
294
- affected_user:
295
- email_intro: '您的提案「%{resource_title}」已被駁回。您可以在此頁面中閱讀回覆:'
296
- email_outro: 你收到此通知,是因為你是「%{resource_title}」的作者。
297
- email_subject: 您的提案已被駁回
298
- notification_title: 您的提案<a href="%{resource_path}">%{resource_title}</a>已被拒絕。
299
- follower:
300
- email_intro: '該提案「%{resource_title}」已被駁回。您可以在此頁面中閱讀回覆:'
301
- email_subject: 您追蹤的提案已被拒絕
302
- notification_title: <a href="%{resource_path}">%{resource_title}</a>" 提案已經被拒絕。
303
255
  proposal_update_category:
304
256
  email_intro: '管理員已更新您的提案 "%{resource_title}" 的分類,請前往此頁面查看:'
305
257
  email_outro: 您收到此通知是因為您是該提案的作者。
@@ -311,10 +263,7 @@ zh-TW:
311
263
  email_subject: '%{resource_title} 提案範圍已更新'
312
264
  notification_title: <a href="%{resource_path}">%{resource_title}</a> 提案範圍已由管理員更新。
313
265
  voting_enabled:
314
- email_intro: '你可以支持 %{participatory_space_title} 的提案!在此頁面開始參與:'
315
266
  email_outro: 你收到此通知是因為你正在追蹤 %{participatory_space_title}。你可以透過前面的連結停止接收通知。
316
- email_subject: 已開放 %{participatory_space_title} 的提案支持。
317
- notification_title: 現在您可以開始<a href="%{resource_path}">支持提案</a>於<a href="%{participatory_space_url}">%{participatory_space_title}</a>
318
267
  gamification:
319
268
  badges:
320
269
  accepted_proposals:
@@ -331,14 +280,7 @@ zh-TW:
331
280
  proposal_votes:
332
281
  conditions:
333
282
  - 瀏覽並花些時間閱讀其他人的提案
334
- - 給你喜歡或覺得有趣的提案提供支持
335
- description: 當您支持他人的提案時,將獲得此徽章。
336
- description_another: 這個參與者支持了 %{score} 個提案。
337
- description_own: 你已經支持了 %{score} 個提案。
338
- name: 支持的提案
339
- next_level_in: 給予支持給%{score} 更多提案,以達到下一個等級!
340
- unearned_another: 這位參與者尚未對任何提案表示支持。
341
- unearned_own: 您尚未給任何提案提供支持。
283
+ -
342
284
  proposals:
343
285
  conditions:
344
286
  - 選擇您有興趣的參與空間並啟用提交提案功能
@@ -363,10 +305,6 @@ zh-TW:
363
305
  description: 提案總數
364
306
  object: 提案
365
307
  title: 提案
366
- votes:
367
- description: 提案所獲得的支持數
368
- object: 支持
369
- title: 支援
370
308
  participatory_spaces:
371
309
  highlighted_proposals:
372
310
  see_all: 檢視所有提案 (%{count})
@@ -449,11 +387,7 @@ zh-TW:
449
387
  success: 參與式文本已成功更新。
450
388
  proposal_answers:
451
389
  form:
452
- accepted: 已接受
453
390
  answer_proposal: 回答
454
- evaluating: 評估
455
- not_answered: 未回答
456
- rejected: 已拒絕
457
391
  title: 對於提案 %{title} 的回覆
458
392
  proposal_notes:
459
393
  create:
@@ -521,7 +455,6 @@ zh-TW:
521
455
  remove_assignment: 移除指派
522
456
  remove_assignment_confirmation: 您確定要將評估者從此提案中移除嗎?
523
457
  valuators: 評估者
524
- votes_count: 支持數量
525
458
  update_category:
526
459
  invalid: '這些提案已經擁有 %{subject_name} 類別: %{proposals}。'
527
460
  select_a_category: 請選擇一個類別。
@@ -581,11 +514,8 @@ zh-TW:
581
514
  participants: 參與者
582
515
  user_groups: 群組
583
516
  filter_state_values:
584
- accepted: 已接受
585
517
  all: 全部
586
- evaluating: 評估
587
518
  not_answered: 未回答
588
- rejected: 已拒絕
589
519
  filter_type_values:
590
520
  all: 全部
591
521
  amendments: 修正案
@@ -717,17 +647,7 @@ zh-TW:
717
647
  buttons:
718
648
  amend: 修訂
719
649
  comment: 評論
720
- proposal_votes:
721
- create:
722
- error: 支持提案時發生問題。
723
650
  proposals:
724
- compare:
725
- continue: 繼續
726
- no_similars_found: 做得好!沒有相似的提案
727
- title: 相似的提案
728
- complete:
729
- send: 發送
730
- title: 完成您的提案
731
651
  dynamic_map_instructions:
732
652
  description: 當點擊“預覽”按鈕時,座標將會更新,但地址不會更改。
733
653
  instructions: 您可以在地圖上移動點。
@@ -743,6 +663,7 @@ zh-TW:
743
663
  discard: 放棄此草案
744
664
  discard_confirmation: 您確定要放棄此提案草案嗎?
745
665
  send: 預覽
666
+ title: 編輯提案草案
746
667
  filters:
747
668
  activity: 我的活動
748
669
  all: 全部
@@ -755,7 +676,6 @@ zh-TW:
755
676
  search: 搜尋
756
677
  state: 狀態
757
678
  type: 類別
758
- voted: 支持
759
679
  index:
760
680
  click_here: 檢視所有提案
761
681
  collaborative_drafts_list: 進入協作草稿
@@ -773,7 +693,6 @@ zh-TW:
773
693
  most_commented: 最多評論
774
694
  most_endorsed: 最多已連署
775
695
  most_followed: 最多追蹤者
776
- most_voted: 最受支持的
777
696
  random: 隨機
778
697
  recent: 最近
779
698
  with_more_authors: 有更多作者
@@ -806,48 +725,19 @@ zh-TW:
806
725
  proposal_accepted_reason: '這個提案已經被接受,因為:'
807
726
  proposal_in_evaluation_reason: 這個提案正在被評估中
808
727
  proposal_rejected_reason: '這個提案被拒絕了,因為:'
809
- withdraw_btn_hint: 如果你改變主意,只要你的提案沒有獲得任何支持,你可以撤回你的提案。提案不會被刪除,它會顯示在被撤回的提案清單中。
810
728
  withdraw_confirmation_html: 您確定要撤回此提案嗎?<br><br><strong>此操作無法取消!</strong>
811
729
  withdraw_proposal: 撤回提案
812
730
  update:
813
731
  title: 更新提案
814
- vote_button:
815
- already_voted: 已得到支持
816
- already_voted_hover: 撤回支持
817
- maximum_votes_reached: 已達支持上限
818
- no_votes_remaining: 無剩餘支持次數
819
- vote: 支持
820
- votes_blocked: 支持已禁用
821
- votes_count:
822
- count:
823
- other: 支持
824
732
  voting_rules:
825
- can_accumulate_supports_beyond_threshold:
826
- description: 每個提案可以累積超過%{limit} 個支持
827
- minimum_votes_per_user:
828
- description: 你必須在不同的提案之間分配至少 %{votes} 票的支持。
829
- given_enough_votes: 您已經提供足夠的支持。
830
- supports_remaining: 您還需要支持 %{remaining_votes} 個提案,才能讓您的支持被考慮在內。
831
733
  proposal_limit:
832
734
  description: 您最多可以創建 %{limit} 個提案。
833
- threshold_per_proposal:
834
- description: 為了讓提案被認可,需要達到%{limit} 個支持票數.
835
- title: '支持需遵守以下規則:'
836
- vote_limit:
837
- description: 您最多可以支持 %{limit} 個提案。
838
- votes: 支持
839
735
  wizard_aside:
840
736
  back: 返回
841
737
  back_from_step_1: 返回提案
842
- back_from_step_2: 返回提案
843
- back_from_step_3: 返回比較提案
844
- back_from_step_4: 返回編輯草案
845
738
  wizard_steps:
846
739
  current_step: 當前步驟
847
740
  step_1: 創建你的提案
848
- step_2: 比較
849
- step_3: 完成
850
- step_4: 發佈您的提案
851
741
  title: 提案創建步驟
852
742
  proposals_picker:
853
743
  choose_proposals: 選擇提案
@@ -866,9 +756,6 @@ zh-TW:
866
756
  versions:
867
757
  index:
868
758
  title: 版本
869
- withdraw:
870
- errors:
871
- has_supports: 這份提案無法撤回,因為它已經得到支持。
872
759
  resource_links:
873
760
  copied_from_component:
874
761
  proposal_proposal: 相關提案
@@ -880,4 +767,4 @@ zh-TW:
880
767
  statistics:
881
768
  proposals_accepted: 已通過的提案
882
769
  proposals_count: 提案
883
- supports_count: 支持
770
+ votes_count: 投票
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddWithdrawnAtFieldToProposals < ActiveRecord::Migration[6.1]
4
+ class CustomProposal < Decidim::Proposals::ApplicationRecord
5
+ self.table_name = "decidim_proposals_proposals"
6
+ STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10, withdrawn: -20 }.freeze
7
+ enum state: STATES, _default: "not_answered"
8
+ end
9
+
10
+ def up
11
+ add_column :decidim_proposals_proposals, :withdrawn_at, :datetime
12
+
13
+ CustomProposal.withdrawn.find_each do |proposal|
14
+ proposal.withdrawn_at = proposal.updated_at
15
+ proposal.save!
16
+ end
17
+ end
18
+
19
+ def down
20
+ CustomProposal.where.not(withdrawn_at: null).find_each do |proposal|
21
+ proposal.state = :withdrawn
22
+ proposal.save!
23
+ end
24
+
25
+ remove_column :decidim_proposals_proposals, :withdrawn_at
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimProposalsProposalState < ActiveRecord::Migration[6.1]
4
+ def change
5
+ create_table :decidim_proposals_proposal_states do |t|
6
+ t.jsonb :title
7
+ t.jsonb :announcement_title
8
+ t.string :token, null: false
9
+ t.references :decidim_component, index: true, null: false
10
+ t.integer :proposals_count, default: 0, null: false
11
+ t.string :css_class
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddStateIdToDecidimProposalsProposals < ActiveRecord::Migration[6.1]
4
+ def up
5
+ add_column :decidim_proposals_proposals, :decidim_proposals_proposal_state_id, :integer, index: true
6
+ add_foreign_key :decidim_proposals_proposals, :decidim_proposals_proposal_states, column: :decidim_proposals_proposal_state_id
7
+ end
8
+
9
+ def down
10
+ remove_foreign_key :decidim_proposals_proposals, column: :decidim_proposals_proposal_state_id
11
+ remove_column :decidim_proposals_proposals, :decidim_proposals_proposal_state_id
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveStateFromDecidimProposalsProposals < ActiveRecord::Migration[6.1]
4
+ def up
5
+ rename_column :decidim_proposals_proposals, :state, :old_state
6
+ end
7
+
8
+ def down
9
+ rename_column :decidim_proposals_proposals, :old_state, :state
10
+ end
11
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDefaultProposalStates < ActiveRecord::Migration[6.1]
4
+ class Proposal < ApplicationRecord
5
+ belongs_to :proposal_state,
6
+ class_name: "Decidim::Proposals::ProposalState",
7
+ foreign_key: "decidim_proposals_proposal_state_id",
8
+ inverse_of: :proposals,
9
+ optional: true
10
+
11
+ self.table_name = :decidim_proposals_proposals
12
+ STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10 }.freeze
13
+ enum old_state: STATES, _default: "not_answered"
14
+ end
15
+
16
+ def up
17
+ Decidim::Component.where(manifest_name: "proposals").find_each do |component|
18
+ admin_user = component.organization.admins.first
19
+
20
+ default_states = Decidim::Proposals.create_default_states!(component, admin_user)
21
+
22
+ Proposal.where(decidim_component_id: component.id).find_each do |proposal|
23
+ proposal.update!(proposal_state: default_states.dig(proposal.old_state.to_sym, :object))
24
+ end
25
+ end
26
+ end
27
+
28
+ def down
29
+ raise ActiveRecord::IrreversibleMigration
30
+ end
31
+ end