decidim-proposals 0.30.2 → 0.31.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/proposals/collaborative_draft_metadata_cell.rb +1 -1
- data/app/cells/decidim/proposals/proposal_g_cell.rb +4 -4
- data/app/cells/decidim/proposals/proposal_l_cell.rb +4 -4
- data/app/cells/decidim/proposals/proposal_metadata_cell.rb +2 -2
- data/app/commands/decidim/proposals/admin/{assign_proposals_to_valuator.rb → assign_proposals_to_evaluator.rb} +16 -16
- data/app/commands/decidim/proposals/admin/create_proposal.rb +1 -2
- data/app/commands/decidim/proposals/admin/create_proposal_note.rb +4 -4
- data/app/commands/decidim/proposals/admin/merge_proposals.rb +60 -13
- data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +2 -2
- data/app/commands/decidim/proposals/admin/proposal_notes_methods.rb +5 -5
- data/app/commands/decidim/proposals/admin/reply_proposal_note.rb +1 -1
- data/app/commands/decidim/proposals/admin/{unassign_proposals_from_valuator.rb → unassign_proposals_from_evaluator.rb} +7 -7
- data/app/commands/decidim/proposals/admin/update_proposal.rb +1 -2
- data/app/commands/decidim/proposals/create_collaborative_draft.rb +3 -8
- data/app/commands/decidim/proposals/create_proposal.rb +4 -17
- data/app/commands/decidim/proposals/publish_collaborative_draft.rb +2 -2
- data/app/commands/decidim/proposals/publish_proposal.rb +1 -5
- data/app/commands/decidim/proposals/update_collaborative_draft.rb +2 -4
- data/app/commands/decidim/proposals/update_proposal.rb +5 -18
- data/app/controllers/concerns/decidim/proposals/admin/filterable.rb +6 -6
- data/app/controllers/concerns/decidim/proposals/orderable.rb +3 -3
- data/app/controllers/decidim/proposals/admin/evaluation_assignments_controller.rb +55 -0
- data/app/controllers/decidim/proposals/admin/participatory_texts_controller.rb +6 -6
- data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +1 -1
- data/app/controllers/decidim/proposals/admin/proposal_states_controller.rb +2 -2
- data/app/controllers/decidim/proposals/admin/proposals_controller.rb +2 -2
- data/app/controllers/decidim/proposals/admin/proposals_imports_controller.rb +1 -1
- data/app/controllers/decidim/proposals/admin/proposals_merges_controller.rb +12 -3
- data/app/controllers/decidim/proposals/collaborative_drafts_controller.rb +2 -3
- data/app/controllers/decidim/proposals/proposals_controller.rb +5 -6
- data/app/events/decidim/proposals/admin/{proposal_assigned_to_valuator_event.rb → proposal_assigned_to_evaluator_event.rb} +1 -1
- data/app/events/decidim/proposals/{endorsing_enabled_event.rb → liking_enabled_event.rb} +1 -1
- data/app/events/decidim/proposals/merged_proposal_event.rb +9 -0
- data/app/events/decidim/proposals/proposal_liked_event.rb +33 -0
- data/app/forms/decidim/proposals/admin/evaluation_assignment_form.rb +38 -0
- data/app/forms/decidim/proposals/admin/proposal_base_form.rb +1 -27
- data/app/forms/decidim/proposals/admin/proposals_fork_form.rb +1 -1
- data/app/forms/decidim/proposals/admin/proposals_merge_form.rb +58 -2
- data/app/forms/decidim/proposals/collaborative_draft_form.rb +1 -5
- data/app/forms/decidim/proposals/proposal_form.rb +0 -29
- data/app/helpers/decidim/proposals/admin/proposal_bulk_actions_helper.rb +8 -8
- data/app/helpers/decidim/proposals/admin/proposal_rankings_helper.rb +6 -6
- data/app/helpers/decidim/proposals/admin/proposals_helper.rb +2 -17
- data/app/helpers/decidim/proposals/application_helper.rb +3 -6
- data/app/jobs/decidim/proposals/settings_change_job.rb +6 -6
- data/app/models/decidim/proposals/collaborative_draft.rb +1 -1
- data/app/models/decidim/proposals/{valuation_assignment.rb → evaluation_assignment.rb} +7 -7
- data/app/models/decidim/proposals/proposal.rb +22 -32
- data/app/packs/entrypoints/decidim_proposals_admin.js +1 -0
- data/app/packs/src/decidim/proposals/add_proposal.js +1 -1
- data/app/packs/src/decidim/proposals/admin/proposals.js +22 -11
- data/app/packs/src/decidim/proposals/admin/proposals_form.js +1 -1
- data/app/packs/src/decidim/proposals/admin/proposals_merge.js +92 -0
- data/app/packs/src/decidim/proposals/choose_proposals.js +1 -1
- data/app/packs/src/decidim/proposals/exit_handler.js +1 -1
- data/app/packs/src/decidim/proposals/utils.js +1 -1
- data/app/packs/stylesheets/decidim/proposals/proposals.scss +29 -1
- data/app/permissions/decidim/proposals/admin/permissions.rb +20 -20
- data/app/presenters/decidim/proposals/admin_log/{valuation_assignment_presenter.rb → evaluation_assignment_presenter.rb} +7 -7
- data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +15 -0
- data/app/presenters/decidim/proposals/admin_log/value_types/{valuator_role_user_presenter.rb → evaluator_role_user_presenter.rb} +2 -2
- data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +1 -1
- data/app/presenters/decidim/proposals/collaborative_draft_presenter.rb +1 -6
- data/app/presenters/decidim/proposals/log/{valuation_assignment_presenter.rb → evaluation_assignment_presenter.rb} +1 -1
- data/app/presenters/decidim/proposals/proposal_presenter.rb +9 -13
- data/app/services/decidim/proposals/diff_renderer.rb +0 -1
- data/app/services/decidim/proposals/proposal_builder.rb +5 -10
- data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +1 -1
- data/app/views/decidim/proposals/admin/participatory_texts/index.html.erb +1 -2
- data/app/views/decidim/proposals/admin/proposal_notes/_form.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposal_notes/_proposal_notes.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposal_states/index.html.erb +42 -12
- data/app/views/decidim/proposals/admin/proposals/_actions.html.erb +87 -21
- data/app/views/decidim/proposals/admin/proposals/_bulk-actions.html.erb +9 -13
- data/app/views/decidim/proposals/admin/proposals/_form.html.erb +2 -24
- data/app/views/decidim/proposals/admin/proposals/_likes.html.erb +25 -0
- data/app/views/decidim/proposals/admin/proposals/_proposal-tr.html.erb +13 -12
- data/app/views/decidim/proposals/admin/proposals/_proposals-thead.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_evaluator.html.erb +19 -0
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_dropdown.html.erb +45 -49
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/{_valuators_picker.html.erb → _evaluators_picker.html.erb} +4 -4
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_merge.html.erb +7 -14
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_evaluator.html.erb +19 -0
- data/app/views/decidim/proposals/admin/proposals/index.html.erb +9 -5
- data/app/views/decidim/proposals/admin/proposals/manage_trash.html.erb +2 -1
- data/app/views/decidim/proposals/admin/proposals/show.html.erb +17 -17
- data/app/views/decidim/proposals/admin/proposals_merges/_form.html.erb +49 -0
- data/app/views/decidim/proposals/admin/proposals_merges/new.html.erb +14 -0
- data/app/views/decidim/proposals/collaborative_drafts/_collaborative_actions.html.erb +2 -2
- data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -21
- data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/_actions.html.erb +2 -2
- data/app/views/decidim/proposals/proposals/_edit_form_fields.html.erb +1 -21
- data/app/views/decidim/proposals/proposals/_proposal_actions.html.erb +4 -4
- data/app/views/decidim/proposals/proposals/_proposal_aside.html.erb +2 -2
- data/app/views/decidim/proposals/proposals/_proposal_voting_rules.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/participatory_texts/_view_index.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/preview.html.erb +1 -1
- data/app/views/decidim/proposals/proposals/show.html.erb +2 -2
- data/config/assets.rb +2 -2
- data/config/locales/ar.yml +0 -65
- data/config/locales/bg.yml +0 -71
- data/config/locales/bs-BA.yml +0 -25
- data/config/locales/ca-IT.yml +64 -72
- data/config/locales/ca.yml +64 -72
- data/config/locales/cs.yml +52 -81
- data/config/locales/de.yml +66 -73
- data/config/locales/el.yml +0 -66
- data/config/locales/en.yml +69 -77
- data/config/locales/es-MX.yml +68 -76
- data/config/locales/es-PY.yml +68 -76
- data/config/locales/es.yml +68 -76
- data/config/locales/eu.yml +66 -74
- data/config/locales/fi-plain.yml +67 -75
- data/config/locales/fi.yml +67 -75
- data/config/locales/fr-CA.yml +49 -74
- data/config/locales/fr.yml +49 -74
- data/config/locales/ga-IE.yml +0 -22
- data/config/locales/gl.yml +0 -47
- data/config/locales/hu.yml +0 -64
- data/config/locales/id-ID.yml +0 -34
- data/config/locales/is-IS.yml +0 -14
- data/config/locales/it.yml +0 -58
- data/config/locales/ja.yml +68 -76
- data/config/locales/lb.yml +0 -3
- data/config/locales/lt.yml +0 -68
- data/config/locales/lv.yml +0 -62
- data/config/locales/nl.yml +0 -63
- data/config/locales/no.yml +0 -42
- data/config/locales/pl.yml +0 -73
- data/config/locales/pt-BR.yml +0 -59
- data/config/locales/pt.yml +0 -60
- data/config/locales/ro-RO.yml +45 -64
- data/config/locales/ru.yml +0 -15
- data/config/locales/sk.yml +0 -60
- data/config/locales/sr-CS.yml +0 -25
- data/config/locales/sv.yml +58 -76
- data/config/locales/tr-TR.yml +0 -58
- data/config/locales/uk.yml +0 -15
- data/config/locales/zh-CN.yml +0 -57
- data/config/locales/zh-TW.yml +0 -65
- data/db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb +1 -1
- data/db/migrate/20240110203504_create_default_proposal_states.rb +1 -1
- data/db/migrate/20250121110014_rename_proposal_valuation_assignments_to_evaluation_assignments.rb +15 -0
- data/db/migrate/20250121110904_rename_valuation_assignments_count_to_evaluation_assignments_count.rb +16 -0
- data/db/migrate/20250211141313_rename_valuator_columns.rb +8 -0
- data/db/migrate/20250515132351_rename_proposals_endorsements_count_to_likes.rb +7 -0
- data/decidim-proposals.gemspec +1 -1
- data/lib/decidim/api/mutations/answer_proposal_attributes.rb +17 -0
- data/lib/decidim/api/mutations/proposal_answer_type.rb +57 -0
- data/lib/decidim/api/mutations/proposal_mutation_type.rb +14 -0
- data/lib/decidim/api/mutations/proposals_mutation_type.rb +23 -0
- data/lib/decidim/api/proposal_input_sort.rb +1 -1
- data/lib/decidim/api/proposal_state_type.rb +16 -0
- data/lib/decidim/api/proposal_type.rb +59 -9
- data/lib/decidim/proposals/admin_engine.rb +3 -3
- data/lib/decidim/proposals/admin_filter.rb +3 -3
- data/lib/decidim/proposals/api.rb +5 -0
- data/lib/decidim/proposals/component.rb +44 -24
- data/lib/decidim/proposals/engine.rb +18 -83
- data/lib/decidim/proposals/evaluable.rb +22 -0
- data/lib/decidim/proposals/import/proposal_creator.rb +1 -1
- data/lib/decidim/proposals/proposal_serializer.rb +9 -11
- data/lib/decidim/proposals/seeds.rb +16 -27
- data/lib/decidim/proposals/test/factories.rb +21 -53
- data/lib/decidim/proposals/version.rb +1 -1
- data/lib/decidim/proposals.rb +3 -3
- data/lib/tasks/proposals/upgrade/decidim_proposals_upgrade_tasks.rake +11 -11
- metadata +57 -47
- data/app/commands/decidim/proposals/hashtags_methods.rb +0 -36
- data/app/controllers/decidim/proposals/admin/valuation_assignments_controller.rb +0 -55
- data/app/events/decidim/proposals/proposal_endorsed_event.rb +0 -33
- data/app/forms/decidim/proposals/admin/proposals_file_import_form.rb +0 -31
- data/app/forms/decidim/proposals/admin/valuation_assignment_form.rb +0 -38
- data/app/queries/decidim/proposals/metrics/accepted_proposals_metric_manage.rb +0 -32
- data/app/queries/decidim/proposals/metrics/endorsements_metric_manage.rb +0 -58
- data/app/queries/decidim/proposals/metrics/proposal_followers_metric_measure.rb +0 -58
- data/app/queries/decidim/proposals/metrics/proposal_participants_metric_measure.rb +0 -74
- data/app/queries/decidim/proposals/metrics/proposals_metric_manage.rb +0 -48
- data/app/queries/decidim/proposals/metrics/votes_metric_manage.rb +0 -52
- data/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb +0 -11
- data/app/views/decidim/proposals/admin/proposals/_endorsers.html.erb +0 -25
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_assign_to_valuator.html.erb +0 -19
- data/app/views/decidim/proposals/admin/proposals/bulk_actions/_unassign_from_valuator.html.erb +0 -19
- data/lib/decidim/proposals/valuatable.rb +0 -22
data/config/locales/zh-CN.yml
CHANGED
@@ -10,20 +10,16 @@ zh-CN:
|
|
10
10
|
scope_id: 范围
|
11
11
|
state: 状态
|
12
12
|
title: 标题
|
13
|
-
user_group_id: 创建协作草稿为
|
14
13
|
proposal:
|
15
14
|
address: 地址
|
16
15
|
answer: 答案
|
17
16
|
answered_at: 回答于
|
18
|
-
automatic_hashtags: 自动添加标签
|
19
17
|
body: 正文内容
|
20
18
|
decidim_scope_id: 范围
|
21
19
|
has_address: 有地址
|
22
20
|
scope_id: 范围
|
23
21
|
state: 状态
|
24
|
-
suggested_hashtags: 建议的哈希标签
|
25
22
|
title: 标题
|
26
|
-
user_group_id: 创建提案为
|
27
23
|
proposal_answer:
|
28
24
|
answer: 答案
|
29
25
|
proposals_copy:
|
@@ -31,9 +27,6 @@ zh-CN:
|
|
31
27
|
proposals_import:
|
32
28
|
import_proposals: 导入提议
|
33
29
|
keep_authors: 保留原始作者
|
34
|
-
valuation_assignment:
|
35
|
-
admin_log:
|
36
|
-
valuator_role_id: 值名称
|
37
30
|
errors:
|
38
31
|
models:
|
39
32
|
proposal:
|
@@ -49,7 +42,6 @@ zh-CN:
|
|
49
42
|
identical: 和正文不能相同
|
50
43
|
models:
|
51
44
|
decidim/proposals/creation_enabled_event: 建议创建已启用
|
52
|
-
decidim/proposals/endorsing_enabled_event: 提案已启用
|
53
45
|
decidim/proposals/proposal_mentioned_event: 提及的建议
|
54
46
|
decidim/proposals/publish_proposal_event: 建议已发布
|
55
47
|
decidim/proposals/voting_enabled_event: 提案投票已启用
|
@@ -79,15 +71,10 @@ zh-CN:
|
|
79
71
|
rejected: 已拒绝
|
80
72
|
validating: 技术验证
|
81
73
|
withdrawn: 取出
|
82
|
-
valuator_role_ids_has:
|
83
|
-
label: 分配给值者
|
84
|
-
search_placeholder:
|
85
|
-
id_string_or_title_cont: 通过ID或标题搜索 %{collection}。
|
86
74
|
components:
|
87
75
|
proposals:
|
88
76
|
actions:
|
89
77
|
amend: 修改:
|
90
|
-
endorse: 批准
|
91
78
|
withdraw: 取款
|
92
79
|
name: 建议
|
93
80
|
settings:
|
@@ -126,20 +113,13 @@ zh-CN:
|
|
126
113
|
amendments_visibility_help: 如果选择“修改仅对作者可见”,参与者必须登录才能看到所做的修改。
|
127
114
|
announcement: 通 知
|
128
115
|
answers_with_costs: 启用建议答案的成本
|
129
|
-
automatic_hashtags: 添加到所有建议的标签
|
130
116
|
comments_blocked: 评论已阻止
|
131
|
-
endorsements_blocked: 已阻止授权
|
132
|
-
endorsements_enabled: 授权已启用
|
133
117
|
proposal_answering_enabled: 建议答案已启用
|
134
118
|
publish_answers_immediately: 立即发布提案答案
|
135
|
-
suggested_hashtags: 推荐给参与者的新建议标签
|
136
119
|
events:
|
137
120
|
proposals:
|
138
121
|
admin:
|
139
|
-
proposal_assigned_to_valuator:
|
140
|
-
email_outro: 您收到此通知是因为您可以评估提案。
|
141
122
|
proposal_note_created:
|
142
|
-
email_outro: 您收到此通知是因为您可以评估提案。
|
143
123
|
email_subject: 有人在建议 %{resource_title} 留下了一条笔记。
|
144
124
|
collaborative_draft_access_accepted:
|
145
125
|
email_subject: "%{requester_name} 已被接受作为贡献者访问 %{resource_title}。"
|
@@ -161,10 +141,6 @@ zh-CN:
|
|
161
141
|
email_intro: '您现在可以在 %{participatory_space_title}中创建新的建议 !开始参与这个页面:'
|
162
142
|
email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
|
163
143
|
email_subject: 建议已在 %{participatory_space_title} 中可用
|
164
|
-
endorsing_enabled:
|
165
|
-
email_intro: '您可以在 %{participatory_space_title}中批准提案!开始参与此页面:'
|
166
|
-
email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
|
167
|
-
email_subject: '%{participatory_space_title} 的建议已经开始'
|
168
144
|
proposal_mentioned:
|
169
145
|
email_outro: 您收到此通知是因为您是"%{resource_title} "的作者。
|
170
146
|
email_subject: 您的提议 "%{mentioned_proposal_title}" 已被提到了
|
@@ -206,21 +182,6 @@ zh-CN:
|
|
206
182
|
name: 建议
|
207
183
|
next_level_in: 再创建 %{score} 个建议以达到下一关!
|
208
184
|
unearned_own: 您尚未创建任何提案。
|
209
|
-
metrics:
|
210
|
-
accepted_proposals:
|
211
|
-
description: 接受的建议数
|
212
|
-
object: 提议
|
213
|
-
title: 已接受的提议
|
214
|
-
endorsements:
|
215
|
-
description: 建议认可次数
|
216
|
-
object: 核准
|
217
|
-
title: 授权
|
218
|
-
proposals:
|
219
|
-
description: 建议数
|
220
|
-
object: 提议
|
221
|
-
title: 建议
|
222
|
-
votes:
|
223
|
-
title: 所得票数
|
224
185
|
participatory_spaces:
|
225
186
|
highlighted_proposals:
|
226
187
|
see_all: 查看所有建议
|
@@ -286,10 +247,8 @@ zh-CN:
|
|
286
247
|
select_a_meeting: 选择会议
|
287
248
|
index:
|
288
249
|
actions: 行动
|
289
|
-
assign_to_valuator: 分配给值器
|
290
250
|
cancel: 取消
|
291
251
|
merge: 合并为一个新的
|
292
|
-
merge_button: 合并
|
293
252
|
publish: 发布
|
294
253
|
publish_answers: 发布答案
|
295
254
|
select_component: 选择一个组件
|
@@ -297,25 +256,19 @@ zh-CN:
|
|
297
256
|
split: 拆分提案
|
298
257
|
split_button: 拆分
|
299
258
|
title: 建议
|
300
|
-
unassign_from_valuator: 取消分配给值
|
301
259
|
update: 更新
|
302
260
|
new:
|
303
261
|
create: 创建
|
304
262
|
title: 创建提案
|
305
263
|
show:
|
306
264
|
amendments_count: 修改计数
|
307
|
-
assigned_valuators: 分配给值者
|
308
265
|
body: 正文内容
|
309
266
|
comments_count: 评论计数
|
310
267
|
documents: www.un.org/webcast
|
311
|
-
endorsements_count: 批准次数
|
312
|
-
endorsers: 核可者
|
313
268
|
photos: 照片
|
314
269
|
ranking: "%{ranking} / %{total}"
|
315
270
|
related_meetings: 相关会议
|
316
271
|
remove_assignment: 移除作业
|
317
|
-
remove_assignment_confirmation: 您确定要从此建议中删除值吗?
|
318
|
-
valuators: 估价器
|
319
272
|
proposals_imports:
|
320
273
|
new:
|
321
274
|
create: 导入提议
|
@@ -331,14 +284,10 @@ zh-CN:
|
|
331
284
|
admin_log:
|
332
285
|
proposal:
|
333
286
|
answer: "%{user_name} 回答了 %{resource_name} 在 %{space_name} 空间的建议"
|
334
|
-
create: "%{user_name} 在 %{space_name} 空间上创建了 %{resource_name} 提案作为官方提案"
|
335
287
|
publish_answer: "%{user_name} 在 %{space_name} 空间上发布了 %{resource_name} 建议的答案"
|
336
288
|
update: "%{user_name} 更新了 %{resource_name} 在 %{space_name} 空间的官方提议"
|
337
289
|
proposal_note:
|
338
290
|
create: "%{user_name} 在 %{space_name} 空间的 %{resource_name} 提案上留下了一个私人笔记"
|
339
|
-
valuation_assignment:
|
340
|
-
create: "%{user_name} 将 %{resource_name} 的建议分配给了一个值者"
|
341
|
-
delete: "%{user_name} 在 %{proposal_title} 提议中没有分配到一个值者"
|
342
291
|
answers:
|
343
292
|
accepted: 已接受
|
344
293
|
evaluating: 评价
|
@@ -350,7 +299,6 @@ zh-CN:
|
|
350
299
|
all: 所有的
|
351
300
|
meetings: 会议
|
352
301
|
official: 官方的
|
353
|
-
user_groups: 群組
|
354
302
|
filter_state_values:
|
355
303
|
all: 所有的
|
356
304
|
not_answered: 未回答
|
@@ -456,8 +404,6 @@ zh-CN:
|
|
456
404
|
published_at: 发布于
|
457
405
|
state: 状态
|
458
406
|
title: 标题
|
459
|
-
valuator: 值者
|
460
|
-
valuators: 估价器
|
461
407
|
votes: 所得票数
|
462
408
|
participatory_text_proposal:
|
463
409
|
alternative_title: 目前没有参与性文本
|
@@ -495,7 +441,6 @@ zh-CN:
|
|
495
441
|
orders:
|
496
442
|
label: '排序提议:'
|
497
443
|
most_commented: 最多评论
|
498
|
-
most_endorsed: 最多支持
|
499
444
|
most_followed: 关注最多的
|
500
445
|
random: 随机播放
|
501
446
|
recent: 最近的
|
@@ -510,8 +455,6 @@ zh-CN:
|
|
510
455
|
answer: 答案
|
511
456
|
changes_at_title: 对"%{title}" 的修正
|
512
457
|
estimated_cost: 估计费用
|
513
|
-
hidden_endorsers_count:
|
514
|
-
other: 和更多 %{count} 人
|
515
458
|
link_to_collaborative_draft_help_text: 此建议是协作草稿的结果,请查看历史记录
|
516
459
|
link_to_collaborative_draft_text: 查看协作草稿
|
517
460
|
link_to_promoted_emendation_help_text: 这项建议是一项提倡的修正
|
data/config/locales/zh-TW.yml
CHANGED
@@ -10,20 +10,16 @@ zh-TW:
|
|
10
10
|
scope_id: 範圍
|
11
11
|
state: 狀態
|
12
12
|
title: 標題
|
13
|
-
user_group_id: 建立協作草稿為
|
14
13
|
proposal:
|
15
14
|
address: 地址
|
16
15
|
answer: 回答
|
17
16
|
answered_at: 回答
|
18
|
-
automatic_hashtags: 已自動添加標籤
|
19
17
|
body: 內容
|
20
18
|
decidim_scope_id: 範圍
|
21
19
|
has_address: 有地址
|
22
20
|
scope_id: 範圍
|
23
21
|
state: 狀態
|
24
|
-
suggested_hashtags: 建議使用標籤
|
25
22
|
title: 標題
|
26
|
-
user_group_id: 建立提案
|
27
23
|
proposal_answer:
|
28
24
|
answer: 回答
|
29
25
|
cost: 費用
|
@@ -36,9 +32,6 @@ zh-TW:
|
|
36
32
|
import_proposals: 導入提案
|
37
33
|
keep_answers: 保留狀態和回答
|
38
34
|
keep_authors: 保留原作者
|
39
|
-
valuation_assignment:
|
40
|
-
admin_log:
|
41
|
-
valuator_role_id: 檢核者名稱
|
42
35
|
errors:
|
43
36
|
models:
|
44
37
|
participatory_text:
|
@@ -66,7 +59,6 @@ zh-TW:
|
|
66
59
|
not_official: 非正式
|
67
60
|
models:
|
68
61
|
decidim/proposals/creation_enabled_event: 建立提案已啟用
|
69
|
-
decidim/proposals/endorsing_enabled_event: 提案連署功能已啟用
|
70
62
|
decidim/proposals/proposal_mentioned_event: 提案已被提及
|
71
63
|
decidim/proposals/publish_proposal_event: 提案已發佈
|
72
64
|
decidim/proposals/voting_enabled_event: 提案投票已啟用
|
@@ -96,16 +88,11 @@ zh-TW:
|
|
96
88
|
rejected: 已拒絕
|
97
89
|
validating: 技術驗證
|
98
90
|
withdrawn: 已撤回
|
99
|
-
valuator_role_ids_has:
|
100
|
-
label: 已分配給評估人員
|
101
|
-
search_placeholder:
|
102
|
-
id_string_or_title_cont: 透過 ID 或標題搜尋%{collection}
|
103
91
|
components:
|
104
92
|
proposals:
|
105
93
|
actions:
|
106
94
|
amend: 修訂
|
107
95
|
comment: 評論
|
108
|
-
endorse: 連署
|
109
96
|
vote_comment: 投票評論
|
110
97
|
withdraw: 撤回
|
111
98
|
name: 提案
|
@@ -122,7 +109,6 @@ zh-TW:
|
|
122
109
|
default_sort_order: 預設提案排序
|
123
110
|
default_sort_order_options:
|
124
111
|
most_commented: 最多評論
|
125
|
-
most_endorsed: 最多已連署
|
126
112
|
most_followed: 最多追蹤者
|
127
113
|
random: 隨機
|
128
114
|
recent: 最近
|
@@ -157,31 +143,23 @@ zh-TW:
|
|
157
143
|
amendments_visibility_help: 若選擇「修正案僅限作者可見」選項,參與者必須登入以查看所做的修正。
|
158
144
|
announcement: 公告
|
159
145
|
answers_with_costs: 啟用提案回答的成本
|
160
|
-
automatic_hashtags: 所有提案都已添加標籤
|
161
146
|
comments_blocked: 留言已封鎖
|
162
147
|
creation_enabled: 參與者可以建立提案
|
163
148
|
creation_enabled_readonly: 啟用參與式文本功能後,此設置將被禁用。要將提案上傳為參與式文本,請點擊“參與式文本”按鈕,然後按照說明進行操作。
|
164
149
|
default_sort_order: 預設提案排序
|
165
150
|
default_sort_order_options:
|
166
151
|
most_commented: 最多評論
|
167
|
-
most_endorsed: 最多已連署
|
168
152
|
most_followed: 最多追蹤者
|
169
153
|
random: 隨機
|
170
154
|
recent: 最近
|
171
155
|
with_more_authors: 有更多作者
|
172
|
-
endorsements_blocked: 連署已封鎖
|
173
|
-
endorsements_enabled: 連署已啟用
|
174
156
|
proposal_answering_enabled: 提案回答已啟用
|
175
157
|
publish_answers_immediately: 立即發布提案回答
|
176
158
|
publish_answers_immediately_help_html: '請注意,如果您在未啟用此功能的情況下回答任何提案,您將需要手動選擇它們並使用發布操作進行發布。有關此操作的更多信息,請參閱 <a href="https://docs.decidim.org/en/admin/components/proposals/answers#_publication" target="_blank">提案答案文檔頁面</a>。'
|
177
|
-
suggested_hashtags: 為新提案建議參與者使用的標籤
|
178
159
|
events:
|
179
160
|
proposals:
|
180
161
|
admin:
|
181
|
-
proposal_assigned_to_valuator:
|
182
|
-
email_outro: 您收到此通知,因為您可以對提案進行評估。
|
183
162
|
proposal_note_created:
|
184
|
-
email_outro: 您收到此通知,因為您可以對提案進行評估。
|
185
163
|
email_subject: 有人在提案 %{resource_title} 上留下了一則註記。
|
186
164
|
collaborative_draft_access_accepted:
|
187
165
|
email_intro: '%{requester_name} 已經被接受成為 <a href="%{resource_url}">%{resource_title}</a> 協作草稿的貢獻者。'
|
@@ -218,11 +196,6 @@ zh-TW:
|
|
218
196
|
email_outro: 你收到此通知是因為你正在追蹤 %{participatory_space_title}。你可以透過前面的連結停止接收通知。
|
219
197
|
email_subject: 現在可以在 %{participatory_space_title} 中建立新的提案了!
|
220
198
|
notification_title: 現在您可以在<a href="%{participatory_space_url}">%{participatory_space_title}</a>中提出<a href="%{resource_path}">新提案</a>。
|
221
|
-
endorsing_enabled:
|
222
|
-
email_intro: '您可以連署 %{participatory_space_title} 中的提案!請點擊以下連結參與:'
|
223
|
-
email_outro: 你收到此通知是因為你正在追蹤 %{participatory_space_title}。你可以透過前面的連結停止接收通知。
|
224
|
-
email_subject: 已開始對於 %{participatory_space_title} 的提案進行連署
|
225
|
-
notification_title: 現在您可以在<a href="%{participatory_space_url}">%{participatory_space_title}</a>中開始<a href="%{resource_path}">連署提案</a>。
|
226
199
|
proposal_mentioned:
|
227
200
|
email_intro: 你的提案「%{mentioned_proposal_title}」在評論中被提及,<a href="%{resource_url}">請至此空間查看</a>。
|
228
201
|
email_outro: 你收到此通知,是因為你是「%{resource_title}」的作者。
|
@@ -269,21 +242,6 @@ zh-TW:
|
|
269
242
|
next_level_in: 建立更多 %{score} 個提案以達到下一個等級!
|
270
243
|
unearned_another: 這位參與者還沒有建立任何提案。
|
271
244
|
unearned_own: 你還沒有建立提案。
|
272
|
-
metrics:
|
273
|
-
accepted_proposals:
|
274
|
-
description: 已接受的提案數
|
275
|
-
object: 提案
|
276
|
-
title: 已通過的提案
|
277
|
-
endorsements:
|
278
|
-
description: 對提案的連署次數
|
279
|
-
object: 連署
|
280
|
-
title: 連署
|
281
|
-
proposals:
|
282
|
-
description: 提案總數
|
283
|
-
object: 提案
|
284
|
-
title: 提案
|
285
|
-
votes:
|
286
|
-
title: 投票
|
287
245
|
participatory_spaces:
|
288
246
|
highlighted_proposals:
|
289
247
|
see_all: 檢視所有提案
|
@@ -371,10 +329,8 @@ zh-TW:
|
|
371
329
|
select_a_meeting: 選擇一個會議
|
372
330
|
index:
|
373
331
|
actions: 操作
|
374
|
-
assign_to_valuator: 分配給評估人員
|
375
332
|
cancel: 取消
|
376
333
|
merge: 合併為新提案
|
377
|
-
merge_button: 合併
|
378
334
|
publish: 發布
|
379
335
|
publish_answers: 發佈回應
|
380
336
|
select_component: 選擇一個元件
|
@@ -382,7 +338,6 @@ zh-TW:
|
|
382
338
|
split: 拆分提案
|
383
339
|
split_button: 拆分
|
384
340
|
title: 提案
|
385
|
-
unassign_from_valuator: 取消分派給評估者
|
386
341
|
update: 更新
|
387
342
|
new:
|
388
343
|
create: 建立
|
@@ -391,18 +346,13 @@ zh-TW:
|
|
391
346
|
select_a_proposal: 請選擇一個提案。
|
392
347
|
show:
|
393
348
|
amendments_count: 修改案數量
|
394
|
-
assigned_valuators: 已分配給評估人員
|
395
349
|
body: 正文
|
396
350
|
comments_count: 評論次數
|
397
351
|
documents: 文件
|
398
|
-
endorsements_count: 連署人數
|
399
|
-
endorsers: 贊助人
|
400
352
|
photos: 圖片
|
401
353
|
ranking: "%{total} 的%{ranking}"
|
402
354
|
related_meetings: 相關會議
|
403
355
|
remove_assignment: 移除指派
|
404
|
-
remove_assignment_confirmation: 您確定要將評估者從此提案中移除嗎?
|
405
|
-
valuators: 評估者
|
406
356
|
proposals_imports:
|
407
357
|
create:
|
408
358
|
invalid: 匯入提案時發生問題.
|
@@ -417,22 +367,13 @@ zh-TW:
|
|
417
367
|
proposals_splits:
|
418
368
|
create:
|
419
369
|
success: 成功將提案拆分為新的提案。
|
420
|
-
valuation_assignments:
|
421
|
-
create:
|
422
|
-
success: 提案已成功分配給評估人員.
|
423
|
-
delete:
|
424
|
-
success: 評估員已成功取消分配提案.
|
425
370
|
admin_log:
|
426
371
|
proposal:
|
427
372
|
answer: "%{user_name} 回覆了在 %{space_name} 空間的 %{resource_name} 提案。"
|
428
|
-
create: "%{user_name} 在%{space_name} 空間中創建了官方提案%{resource_name}"
|
429
373
|
publish_answer: "%{user_name} 在%{space_name} 空間中發表了對%{resource_name} 提案的回答"
|
430
374
|
update: "%{user_name} 在%{space_name} 空間中更新了%{resource_name} 官方提案"
|
431
375
|
proposal_note:
|
432
376
|
create: "%{user_name} 在 %{space_name} 空間的 %{resource_name} 提案中留下了私人註記。"
|
433
|
-
valuation_assignment:
|
434
|
-
create: "%{user_name} 將 %{resource_name} 提案指派給了一個評估者。"
|
435
|
-
delete: "%{user_name} 取消了 %{proposal_title} 提案的評估者指派。"
|
436
377
|
answers:
|
437
378
|
accepted: 已接受
|
438
379
|
evaluating: 評估
|
@@ -445,7 +386,6 @@ zh-TW:
|
|
445
386
|
meetings: 會議
|
446
387
|
official: 官方
|
447
388
|
participants: 參與者
|
448
|
-
user_groups: 群組
|
449
389
|
filter_state_values:
|
450
390
|
all: 全部
|
451
391
|
not_answered: 未回答
|
@@ -563,8 +503,6 @@ zh-TW:
|
|
563
503
|
published_at: 發佈於
|
564
504
|
state: 狀態
|
565
505
|
title: 標題
|
566
|
-
valuator: 評估者
|
567
|
-
valuators: 評估者
|
568
506
|
votes: 投票
|
569
507
|
new:
|
570
508
|
limit_reached: 你已經超過了提案數量的限制,因此無法創建新的提案。
|
@@ -610,7 +548,6 @@ zh-TW:
|
|
610
548
|
orders:
|
611
549
|
label: '依順序排序提案:'
|
612
550
|
most_commented: 最多評論
|
613
|
-
most_endorsed: 最多已連署
|
614
551
|
most_followed: 最多追蹤者
|
615
552
|
random: 隨機
|
616
553
|
recent: 最近
|
@@ -632,8 +569,6 @@ zh-TW:
|
|
632
569
|
answer: 回答
|
633
570
|
changes_at_title: 修正案 "%{title}"
|
634
571
|
estimated_cost: 預估成本
|
635
|
-
hidden_endorsers_count:
|
636
|
-
other: "one\n以及其他 %{count} 個人\n\nOther\n以及其他 %{count} 個人"
|
637
572
|
link_to_collaborative_draft_help_text: 這個提案是由協作草稿所產生的。請查看歷史記錄。
|
638
573
|
link_to_collaborative_draft_text: 查看協作草稿
|
639
574
|
link_to_promoted_emendation_help_text: 這份提案是一項推動性的修正案
|
@@ -4,7 +4,7 @@ class AddWithdrawnAtFieldToProposals < ActiveRecord::Migration[6.1]
|
|
4
4
|
class CustomProposal < Decidim::Proposals::ApplicationRecord
|
5
5
|
self.table_name = "decidim_proposals_proposals"
|
6
6
|
STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10, withdrawn: -20 }.freeze
|
7
|
-
enum state
|
7
|
+
enum :state, STATES, default: "not_answered"
|
8
8
|
end
|
9
9
|
|
10
10
|
def up
|
@@ -10,7 +10,7 @@ class CreateDefaultProposalStates < ActiveRecord::Migration[6.1]
|
|
10
10
|
|
11
11
|
self.table_name = :decidim_proposals_proposals
|
12
12
|
STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10 }.freeze
|
13
|
-
enum old_state
|
13
|
+
enum :old_state, STATES, default: "not_answered"
|
14
14
|
end
|
15
15
|
|
16
16
|
def up
|
data/db/migrate/20250121110014_rename_proposal_valuation_assignments_to_evaluation_assignments.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class RenameProposalValuationAssignmentsToEvaluationAssignments < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
rename_table :decidim_proposals_valuation_assignments, :decidim_proposals_evaluation_assignments
|
6
|
+
|
7
|
+
rename_index :decidim_proposals_evaluation_assignments,
|
8
|
+
"decidim_proposals_valuation_assignment_proposal",
|
9
|
+
"decidim_proposals_evaluation_assignment_proposal"
|
10
|
+
|
11
|
+
rename_index :decidim_proposals_evaluation_assignments,
|
12
|
+
"decidim_proposals_valuation_assignment_valuator_role",
|
13
|
+
"decidim_proposals_evaluation_assignment_valuator_role"
|
14
|
+
end
|
15
|
+
end
|
data/db/migrate/20250121110904_rename_valuation_assignments_count_to_evaluation_assignments_count.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class RenameValuationAssignmentsCountToEvaluationAssignmentsCount < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
rename_column :decidim_proposals_proposals, :valuation_assignments_count, :evaluation_assignments_count
|
6
|
+
|
7
|
+
reversible do |dir|
|
8
|
+
dir.up do
|
9
|
+
Decidim::Proposals::Proposal.reset_column_information
|
10
|
+
Decidim::Proposals::Proposal.unscoped.find_each do |record|
|
11
|
+
Decidim::Proposals::Proposal.reset_counters(record.id, :evaluation_assignments)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class RenameValuatorColumns < ActiveRecord::Migration[7.0]
|
4
|
+
def change
|
5
|
+
rename_column :decidim_proposals_evaluation_assignments, :valuator_role_type, :evaluator_role_type
|
6
|
+
rename_column :decidim_proposals_evaluation_assignments, :valuator_role_id, :evaluator_role_id
|
7
|
+
end
|
8
|
+
end
|
data/decidim-proposals.gemspec
CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
|
35
35
|
s.add_dependency "decidim-comments", Decidim::Proposals.version
|
36
36
|
s.add_dependency "decidim-core", Decidim::Proposals.version
|
37
|
-
s.add_dependency "doc2text", "~> 0.4.
|
37
|
+
s.add_dependency "doc2text", "~> 0.4.0", ">= 0.4.8"
|
38
38
|
s.add_dependency "redcarpet", "~> 3.5", ">= 3.5.1"
|
39
39
|
|
40
40
|
s.add_development_dependency "decidim-admin", Decidim::Proposals.version
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
class AnswerProposalAttributes < Decidim::Api::Types::BaseInputObject
|
6
|
+
graphql_name "ProposalAttributes"
|
7
|
+
description "Attributes of a proposal"
|
8
|
+
|
9
|
+
argument :answer_content, GraphQL::Types::JSON, description: "The answer feedback for the status for this proposal", required: false
|
10
|
+
argument :cost, GraphQL::Types::Float, description: "Estimated cost of the proposal", required: false
|
11
|
+
argument :cost_report, GraphQL::Types::JSON, description: "Report on expenses", required: false
|
12
|
+
argument :execution_period, GraphQL::Types::JSON, description: "Report on the execution period", required: false
|
13
|
+
argument :state, GraphQL::Types::String,
|
14
|
+
description: "The answer status in which the proposal is in. Can be one of 'accepted', 'rejected' or 'evaluating'", required: false
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
class ProposalAnswerType < Decidim::Api::Types::BaseMutation
|
6
|
+
graphql_name "Answer"
|
7
|
+
|
8
|
+
description "Answers a proposal"
|
9
|
+
type Decidim::Proposals::ProposalType
|
10
|
+
|
11
|
+
argument :attributes, AnswerProposalAttributes, description: "input attributes of a proposal", required: true
|
12
|
+
|
13
|
+
def resolve(attributes:)
|
14
|
+
answer_content = attributes.to_h.fetch(:answer_content, object.answer)
|
15
|
+
internal_state = attributes.to_h.fetch(:state, object.internal_state)
|
16
|
+
params = attributes.to_h.reverse_merge(
|
17
|
+
internal_state:,
|
18
|
+
answer: answer_content,
|
19
|
+
cost: object.cost,
|
20
|
+
cost_report: object.cost_report,
|
21
|
+
execution_period: object.execution_period
|
22
|
+
)
|
23
|
+
|
24
|
+
form = Decidim::Proposals::Admin::ProposalAnswerForm.from_params(
|
25
|
+
params
|
26
|
+
).with_context(
|
27
|
+
current_component: object.component,
|
28
|
+
current_user:,
|
29
|
+
current_organization: current_user.organization
|
30
|
+
)
|
31
|
+
|
32
|
+
Admin::AnswerProposal.call(form, object) do
|
33
|
+
on(:ok) do
|
34
|
+
return object
|
35
|
+
end
|
36
|
+
on(:invalid) do
|
37
|
+
return GraphQL::ExecutionError.new(
|
38
|
+
form.errors.full_messages.join(", ")
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
GraphQL::ExecutionError.new(
|
43
|
+
I18n.t("decidim.proposals.admin.proposals.answer.invalid")
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def authorized?(attributes:)
|
49
|
+
super && allowed_to?(:create, :proposal_answer, object, context, scope: :admin)
|
50
|
+
end
|
51
|
+
|
52
|
+
def current_user
|
53
|
+
context[:current_user]
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
class ProposalMutationType < Decidim::Api::Types::BaseObject
|
6
|
+
include Decidim::ApiResponseHelper
|
7
|
+
|
8
|
+
graphql_name "ProposalMutation"
|
9
|
+
description "a proposal which includes its available mutations"
|
10
|
+
|
11
|
+
field :answer, mutation: Decidim::Proposals::ProposalAnswerType, description: "Answers a proposal"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
class ProposalsMutationType < Decidim::Core::ComponentType
|
6
|
+
description "A proposals of a component."
|
7
|
+
|
8
|
+
field :proposal, type: Decidim::Proposals::ProposalMutationType, description: "Mutates a proposal", null: true do
|
9
|
+
argument :id, GraphQL::Types::ID, "The ID of the proposal", required: true
|
10
|
+
end
|
11
|
+
|
12
|
+
def proposal(id:)
|
13
|
+
collection.find(id)
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def collection
|
19
|
+
Proposal.where(component: object).not_hidden.published
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Proposals
|
5
5
|
class ProposalInputSort < Decidim::Core::BaseInputSort
|
6
6
|
include Decidim::Core::HasPublishableInputSort
|
7
|
-
include Decidim::Core::
|
7
|
+
include Decidim::Core::HasLikeableInputSort
|
8
8
|
|
9
9
|
graphql_name "ProposalSort"
|
10
10
|
description "A type used for sorting proposals"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Proposals
|
5
|
+
class ProposalStateType < Decidim::Api::Types::BaseObject
|
6
|
+
description "A proposal state"
|
7
|
+
|
8
|
+
field :announcement_title, Decidim::Core::TranslatedFieldType, "The announcement for this proposal state", null: true
|
9
|
+
field :bg_color, GraphQL::Types::String, description: "The background color of proposal state label", null: true
|
10
|
+
field :id, GraphQL::Types::ID, "The id of the proposal state", null: false
|
11
|
+
field :proposals_count, GraphQL::Types::Int, "The number of proposals having this state", null: true
|
12
|
+
field :text_color, GraphQL::Types::String, description: "The text color of this proposal state label", null: true
|
13
|
+
field :title, Decidim::Core::TranslatedFieldType, "The title for this proposal state", null: true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|