decidim-proposals 0.28.1 → 0.29.0.rc1

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