decidim-proposals 0.27.6 → 0.27.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/decidim/proposals/application_helper.rb +1 -1
- data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -5
- data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +1 -3
- data/app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb +1 -1
- data/app/views/decidim/proposals/versions/show.html.erb +1 -1
- data/config/locales/ar.yml +1 -2
- data/config/locales/bg.yml +594 -1
- data/config/locales/ca.yml +8 -8
- data/config/locales/cs.yml +0 -1
- data/config/locales/de.yml +15 -15
- data/config/locales/el.yml +0 -1
- data/config/locales/es-MX.yml +2 -2
- data/config/locales/es-PY.yml +1 -1
- data/config/locales/es.yml +4 -4
- data/config/locales/eu.yml +1 -1
- data/config/locales/fr-CA.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/ga-IE.yml +6 -0
- data/config/locales/gl.yml +1 -2
- data/config/locales/hu.yml +1 -2
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/is-IS.yml +0 -2
- data/config/locales/it.yml +1 -2
- data/config/locales/lt.yml +0 -1
- data/config/locales/lv.yml +0 -1
- data/config/locales/nl.yml +1 -2
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +62 -1
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +0 -1
- data/config/locales/ru.yml +1 -2
- data/config/locales/sk.yml +0 -1
- data/config/locales/sv.yml +0 -1
- data/config/locales/tr-TR.yml +2 -2
- data/config/locales/uk.yml +1 -2
- data/config/locales/zh-CN.yml +0 -1
- data/config/locales/zh-TW.yml +0 -1
- data/lib/decidim/proposals/proposal_serializer.rb +51 -0
- data/lib/decidim/proposals/test/factories.rb +13 -1
- data/lib/decidim/proposals/version.rb +1 -1
- metadata +24 -25
- data/app/presenters/decidim/proposals/log/resource_presenter.rb +0 -22
data/config/locales/ru.yml
CHANGED
@@ -83,7 +83,6 @@ ru:
|
|
83
83
|
proposal_wizard_step_1_help_text: Справка мастера предложений о шаге "Создать"
|
84
84
|
proposal_wizard_step_2_help_text: Справка мастера предложений о шаге "Сравнить"
|
85
85
|
proposal_wizard_step_3_help_text: Справка мастера предложений о шаге "Завершить"
|
86
|
-
proposal_wizard_step_4_help_text: Справка мастера предложений о шаге "Обнародовать"
|
87
86
|
resources_permissions_enabled: Для каждого предложения можно задать те или иные разрешения на действия
|
88
87
|
threshold_per_proposal: Порог для каждого предложения
|
89
88
|
vote_limit: Предельное количество голосов для одного участника
|
@@ -271,7 +270,6 @@ ru:
|
|
271
270
|
no_similars_found: Хорошая работа! Подобных предложений не найдено
|
272
271
|
title: Похожие предложения
|
273
272
|
complete:
|
274
|
-
send: Отправить
|
275
273
|
title: Завершите свое предложение
|
276
274
|
edit:
|
277
275
|
attachment_legend: "(Необязательно) Добавить вложение"
|
@@ -358,6 +356,7 @@ ru:
|
|
358
356
|
vote_limit:
|
359
357
|
description: Вы можете проголосовать до %{limit} предложений.
|
360
358
|
left: Осталось
|
359
|
+
votes: Голоса
|
361
360
|
wizard_aside:
|
362
361
|
back: Вернуться
|
363
362
|
info: Вы создаете <strong>предложение</strong>.
|
data/config/locales/sk.yml
CHANGED
@@ -130,7 +130,6 @@ sk:
|
|
130
130
|
proposal_wizard_step_1_help_text: Pomocný text Sprievodcu "Vytvoriť" návrh
|
131
131
|
proposal_wizard_step_2_help_text: Pomocný text Sprievodcu "Porovnať" návrhu
|
132
132
|
proposal_wizard_step_3_help_text: Pomocný text Sprievodcu "Dokončiť" návrh
|
133
|
-
proposal_wizard_step_4_help_text: Pomocný text Sprievodcu "Publikovať" návrh
|
134
133
|
resources_permissions_enabled: Pre každý návrh možno nastaviť povolenia akcie
|
135
134
|
threshold_per_proposal: Maximálny limit na návrh
|
136
135
|
vote_limit: Počet hlasov na užívateľa
|
data/config/locales/sv.yml
CHANGED
@@ -171,7 +171,6 @@ sv:
|
|
171
171
|
proposal_wizard_step_1_help_text: Hjälptext till steget "Skapa" i förslagsguiden
|
172
172
|
proposal_wizard_step_2_help_text: Hjälptext till steget "Jämför" i förslagsguiden
|
173
173
|
proposal_wizard_step_3_help_text: Hjälptext till steget "Komplettera" i förslagsguiden
|
174
|
-
proposal_wizard_step_4_help_text: Förslagsguidens hjälptext för steg "Publicera"
|
175
174
|
resources_permissions_enabled: Åtgärdsbehörigheter kan ställas in för varje förslag
|
176
175
|
scope_id: Omfång
|
177
176
|
scopes_enabled: Omfång aktiverade
|
data/config/locales/tr-TR.yml
CHANGED
@@ -143,7 +143,7 @@ tr:
|
|
143
143
|
proposal_wizard_step_1_help_text: Teklif sihirbazı "Oluştur" adımı yardım metni
|
144
144
|
proposal_wizard_step_2_help_text: Teklif sihirbazı "Karşılaştır" adımı yardım metni
|
145
145
|
proposal_wizard_step_3_help_text: Teklif sihirbazı "Tamamlandı" adımı yardım metni
|
146
|
-
proposal_wizard_step_4_help_text: Teklif
|
146
|
+
proposal_wizard_step_4_help_text: Teklif "Yayınlama" sihirbazı yardım metni
|
147
147
|
resources_permissions_enabled: Her teklif için işlem izinleri ayarlanabilir
|
148
148
|
scope_id: Kapsam
|
149
149
|
scopes_enabled: Kapsamlar etkinleştirildi
|
@@ -818,7 +818,7 @@ tr:
|
|
818
818
|
wizard_aside:
|
819
819
|
back: Geri
|
820
820
|
back_from_step_1: Teklifte geri dön
|
821
|
-
back_from_step_2:
|
821
|
+
back_from_step_2: Teklifte geri dön
|
822
822
|
back_from_step_3: Teklifleri karşılaştırmaya geri dön
|
823
823
|
back_from_step_4: Taslağı düzenlemeye dön
|
824
824
|
info: <strong>teklif</strong>.
|
data/config/locales/uk.yml
CHANGED
@@ -83,7 +83,6 @@ uk:
|
|
83
83
|
proposal_wizard_step_1_help_text: Довідка майстра пропозицій щодо кроку "Створити"
|
84
84
|
proposal_wizard_step_2_help_text: Довідка майстра пропозицій щодо кроку "Порівняти"
|
85
85
|
proposal_wizard_step_3_help_text: Довідка майстра пропозицій щодо кроку "Завершити"
|
86
|
-
proposal_wizard_step_4_help_text: Довідка майстра пропозицій щодо кроку "Оприлюднити"
|
87
86
|
resources_permissions_enabled: Для кожної пропозиції можна встановити ті чи інші дозволи на дії
|
88
87
|
threshold_per_proposal: Поріг на кожну пропозицію
|
89
88
|
vote_limit: Гранична кількість голосів від одного учасника
|
@@ -271,7 +270,6 @@ uk:
|
|
271
270
|
no_similars_found: Гарна робота! Не знайдено схожий пропозицій
|
272
271
|
title: Подібні пропозиції
|
273
272
|
complete:
|
274
|
-
send: Надіслати
|
275
273
|
title: Завершіть свою пропозицію
|
276
274
|
edit:
|
277
275
|
attachment_legend: "(Необов'язково) Додати вкладений файл"
|
@@ -358,6 +356,7 @@ uk:
|
|
358
356
|
vote_limit:
|
359
357
|
description: Ви можете проголосувати до %{limit} пропозицій.
|
360
358
|
left: Залишилось
|
359
|
+
votes: Голоси
|
361
360
|
wizard_aside:
|
362
361
|
back: Повернутись
|
363
362
|
info: Ви вносите <strong>пропозицію</strong>.
|
data/config/locales/zh-CN.yml
CHANGED
@@ -136,7 +136,6 @@ zh-CN:
|
|
136
136
|
proposal_wizard_step_1_help_text: 建议向导“创建”步骤帮助文本
|
137
137
|
proposal_wizard_step_2_help_text: 建议向导“Compare”步骤帮助文本
|
138
138
|
proposal_wizard_step_3_help_text: 建议向导“完成”步骤帮助文本
|
139
|
-
proposal_wizard_step_4_help_text: 建议向导"发布"步骤帮助文本
|
140
139
|
resources_permissions_enabled: 每个提案都可以设置动作权限
|
141
140
|
scope_id: 范围
|
142
141
|
scopes_enabled: 范围已启用
|
data/config/locales/zh-TW.yml
CHANGED
@@ -171,7 +171,6 @@ zh-TW:
|
|
171
171
|
proposal_wizard_step_1_help_text: 提案向導「創建」步驟說明文字
|
172
172
|
proposal_wizard_step_2_help_text: 提案向導「比較」步驟說明文字
|
173
173
|
proposal_wizard_step_3_help_text: 提案向導「完成」步驟說明文字
|
174
|
-
proposal_wizard_step_4_help_text: 提案向導「發佈」步驟說明文字
|
175
174
|
resources_permissions_enabled: 每個提案都可以設定行動權限
|
176
175
|
scope_id: 範圍
|
177
176
|
scopes_enabled: 啟用範圍
|
@@ -19,6 +19,9 @@ module Decidim
|
|
19
19
|
def serialize
|
20
20
|
{
|
21
21
|
id: proposal.id,
|
22
|
+
author: {
|
23
|
+
**author_fields
|
24
|
+
},
|
22
25
|
category: {
|
23
26
|
id: proposal.category.try(:id),
|
24
27
|
name: proposal.category.try(:name) || empty_translatable
|
@@ -102,6 +105,54 @@ module Decidim
|
|
102
105
|
|
103
106
|
convert_to_text(value)
|
104
107
|
end
|
108
|
+
|
109
|
+
def author_fields
|
110
|
+
is_author_user_group = resource.coauthorships.map(&:decidim_user_group_id).any?
|
111
|
+
|
112
|
+
{
|
113
|
+
id: resource.authors.map(&:id),
|
114
|
+
name: resource.authors.map do |author|
|
115
|
+
author_name(is_author_user_group ? resource.coauthorships.first.user_group : author)
|
116
|
+
end,
|
117
|
+
url: resource.authors.map do |author|
|
118
|
+
author_url(is_author_user_group ? resource.coauthorships.first.user_group : author)
|
119
|
+
end
|
120
|
+
}
|
121
|
+
end
|
122
|
+
|
123
|
+
def author_name(author)
|
124
|
+
if author.respond_to?(:name)
|
125
|
+
translated_attribute(author.name) # is a Decidim::User or Decidim::Organization or Decidim::UserGroup
|
126
|
+
elsif author.respond_to?(:title)
|
127
|
+
translated_attribute(author.title) # is a Decidim::Meetings::Meeting
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def author_url(author)
|
132
|
+
if author.respond_to?(:nickname)
|
133
|
+
profile_url(author.nickname) # is a Decidim::User or Decidim::UserGroup
|
134
|
+
elsif author.respond_to?(:title)
|
135
|
+
meeting_url(author) # is a Decidim::Meetings::Meeting
|
136
|
+
else
|
137
|
+
root_url # is a Decidim::Organization
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def profile_url(nickname)
|
142
|
+
Decidim::Core::Engine.routes.url_helpers.profile_url(nickname, host: host)
|
143
|
+
end
|
144
|
+
|
145
|
+
def meeting_url(meeting)
|
146
|
+
Decidim::EngineRouter.main_proxy(meeting.component).meeting_url(id: meeting.id, host: host)
|
147
|
+
end
|
148
|
+
|
149
|
+
def root_url
|
150
|
+
Decidim::Core::Engine.routes.url_helpers.root_url(host: host)
|
151
|
+
end
|
152
|
+
|
153
|
+
def host
|
154
|
+
resource.organization.host
|
155
|
+
end
|
105
156
|
end
|
106
157
|
end
|
107
158
|
end
|
@@ -409,6 +409,12 @@ FactoryBot.define do
|
|
409
409
|
proposal.attachments << create(:attachment, :with_pdf, attached_to: proposal, skip_injection: evaluator.skip_injection)
|
410
410
|
end
|
411
411
|
end
|
412
|
+
|
413
|
+
trait :moderated do
|
414
|
+
after(:create) do |proposal, evaluator|
|
415
|
+
create(:moderation, reportable: proposal, hidden_at: 2.days.ago, skip_injection: evaluator.skip_injection)
|
416
|
+
end
|
417
|
+
end
|
412
418
|
end
|
413
419
|
|
414
420
|
factory :proposal_vote, class: "Decidim::Proposals::ProposalVote" do
|
@@ -433,7 +439,13 @@ FactoryBot.define do
|
|
433
439
|
transient do
|
434
440
|
skip_injection { false }
|
435
441
|
end
|
436
|
-
body
|
442
|
+
body do
|
443
|
+
if skip_injection
|
444
|
+
generate(:title)
|
445
|
+
else
|
446
|
+
"<script>alert(\"proposal_note_body\");</script> #{generate(:title)}"
|
447
|
+
end
|
448
|
+
end
|
437
449
|
proposal { build(:proposal, skip_injection: skip_injection) }
|
438
450
|
author { build(:user, organization: proposal.organization, skip_injection: skip_injection) }
|
439
451
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-proposals
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.27.
|
4
|
+
version: 0.27.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
8
8
|
- Marc Riera Casals
|
9
9
|
- Oriol Gual Oliva
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-07-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-comments
|
@@ -18,28 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.27.
|
21
|
+
version: 0.27.8
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.27.
|
28
|
+
version: 0.27.8
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: decidim-core
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.27.
|
35
|
+
version: 0.27.8
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.27.
|
42
|
+
version: 0.27.8
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: doc2text
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,98 +80,98 @@ dependencies:
|
|
80
80
|
requirements:
|
81
81
|
- - '='
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.27.
|
83
|
+
version: 0.27.8
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - '='
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.27.
|
90
|
+
version: 0.27.8
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: decidim-assemblies
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - '='
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.27.
|
97
|
+
version: 0.27.8
|
98
98
|
type: :development
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.27.
|
104
|
+
version: 0.27.8
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: decidim-budgets
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - '='
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.27.
|
111
|
+
version: 0.27.8
|
112
112
|
type: :development
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.27.
|
118
|
+
version: 0.27.8
|
119
119
|
- !ruby/object:Gem::Dependency
|
120
120
|
name: decidim-conference
|
121
121
|
requirement: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - '='
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.27.
|
125
|
+
version: 0.27.8
|
126
126
|
type: :development
|
127
127
|
prerelease: false
|
128
128
|
version_requirements: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
130
|
- - '='
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.27.
|
132
|
+
version: 0.27.8
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: decidim-dev
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - '='
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 0.27.
|
139
|
+
version: 0.27.8
|
140
140
|
type: :development
|
141
141
|
prerelease: false
|
142
142
|
version_requirements: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
144
|
- - '='
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 0.27.
|
146
|
+
version: 0.27.8
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: decidim-meetings
|
149
149
|
requirement: !ruby/object:Gem::Requirement
|
150
150
|
requirements:
|
151
151
|
- - '='
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 0.27.
|
153
|
+
version: 0.27.8
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
156
|
version_requirements: !ruby/object:Gem::Requirement
|
157
157
|
requirements:
|
158
158
|
- - '='
|
159
159
|
- !ruby/object:Gem::Version
|
160
|
-
version: 0.27.
|
160
|
+
version: 0.27.8
|
161
161
|
- !ruby/object:Gem::Dependency
|
162
162
|
name: decidim-participatory_processes
|
163
163
|
requirement: !ruby/object:Gem::Requirement
|
164
164
|
requirements:
|
165
165
|
- - '='
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
version: 0.27.
|
167
|
+
version: 0.27.8
|
168
168
|
type: :development
|
169
169
|
prerelease: false
|
170
170
|
version_requirements: !ruby/object:Gem::Requirement
|
171
171
|
requirements:
|
172
172
|
- - '='
|
173
173
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0.27.
|
174
|
+
version: 0.27.8
|
175
175
|
description: A proposals component for decidim's participatory spaces.
|
176
176
|
email:
|
177
177
|
- josepjaume@gmail.com
|
@@ -363,7 +363,6 @@ files:
|
|
363
363
|
- app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb
|
364
364
|
- app/presenters/decidim/proposals/admin_log/value_types/valuator_role_user_presenter.rb
|
365
365
|
- app/presenters/decidim/proposals/collaborative_draft_presenter.rb
|
366
|
-
- app/presenters/decidim/proposals/log/resource_presenter.rb
|
367
366
|
- app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb
|
368
367
|
- app/presenters/decidim/proposals/official_author_presenter.rb
|
369
368
|
- app/presenters/decidim/proposals/proposal_presenter.rb
|
@@ -628,7 +627,7 @@ homepage: https://github.com/decidim/decidim
|
|
628
627
|
licenses:
|
629
628
|
- AGPL-3.0
|
630
629
|
metadata: {}
|
631
|
-
post_install_message:
|
630
|
+
post_install_message:
|
632
631
|
rdoc_options: []
|
633
632
|
require_paths:
|
634
633
|
- lib
|
@@ -643,8 +642,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
643
642
|
- !ruby/object:Gem::Version
|
644
643
|
version: '0'
|
645
644
|
requirements: []
|
646
|
-
rubygems_version: 3.
|
647
|
-
signing_key:
|
645
|
+
rubygems_version: 3.5.14
|
646
|
+
signing_key:
|
648
647
|
specification_version: 4
|
649
648
|
summary: Decidim proposals module
|
650
649
|
test_files: []
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Proposals
|
5
|
-
module Log
|
6
|
-
class ResourcePresenter < Decidim::Log::ResourcePresenter
|
7
|
-
private
|
8
|
-
|
9
|
-
# Private: Presents resource name.
|
10
|
-
#
|
11
|
-
# Returns an HTML-safe String.
|
12
|
-
def present_resource_name
|
13
|
-
if resource.present?
|
14
|
-
Decidim::Proposals::ProposalPresenter.new(resource).title
|
15
|
-
else
|
16
|
-
super
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|