decidim-proposals 0.27.6 → 0.27.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/decidim/proposals/application_helper.rb +1 -1
  3. data/app/presenters/decidim/proposals/admin_log/proposal_presenter.rb +1 -5
  4. data/app/presenters/decidim/proposals/admin_log/value_types/proposal_title_body_presenter.rb +1 -3
  5. data/app/presenters/decidim/proposals/log/valuation_assignment_presenter.rb +1 -1
  6. data/config/locales/ar.yml +1 -2
  7. data/config/locales/bg.yml +594 -1
  8. data/config/locales/ca.yml +8 -8
  9. data/config/locales/cs.yml +0 -1
  10. data/config/locales/de.yml +1 -1
  11. data/config/locales/el.yml +0 -1
  12. data/config/locales/es-MX.yml +2 -2
  13. data/config/locales/es-PY.yml +1 -1
  14. data/config/locales/es.yml +4 -4
  15. data/config/locales/eu.yml +1 -1
  16. data/config/locales/fr-CA.yml +1 -1
  17. data/config/locales/fr.yml +1 -1
  18. data/config/locales/ga-IE.yml +6 -0
  19. data/config/locales/gl.yml +1 -2
  20. data/config/locales/hu.yml +1 -2
  21. data/config/locales/id-ID.yml +0 -1
  22. data/config/locales/is-IS.yml +0 -2
  23. data/config/locales/it.yml +1 -2
  24. data/config/locales/lt.yml +0 -1
  25. data/config/locales/lv.yml +0 -1
  26. data/config/locales/nl.yml +1 -2
  27. data/config/locales/no.yml +0 -1
  28. data/config/locales/pl.yml +62 -1
  29. data/config/locales/pt-BR.yml +0 -1
  30. data/config/locales/pt.yml +0 -1
  31. data/config/locales/ru.yml +1 -2
  32. data/config/locales/sk.yml +0 -1
  33. data/config/locales/sv.yml +0 -1
  34. data/config/locales/tr-TR.yml +2 -2
  35. data/config/locales/uk.yml +1 -2
  36. data/config/locales/zh-CN.yml +0 -1
  37. data/config/locales/zh-TW.yml +0 -1
  38. data/lib/decidim/proposals/proposal_serializer.rb +51 -0
  39. data/lib/decidim/proposals/test/factories.rb +13 -1
  40. data/lib/decidim/proposals/version.rb +1 -1
  41. metadata +24 -25
  42. data/app/presenters/decidim/proposals/log/resource_presenter.rb +0 -22
@@ -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 { Faker::Lorem.sentences(number: 3).join("\n") }
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
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds decidim-proposals version.
5
5
  module Proposals
6
6
  def self.version
7
- "0.27.6"
7
+ "0.27.7"
8
8
  end
9
9
  end
10
10
  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.6
4
+ version: 0.27.7
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-04-30 00:00:00.000000000 Z
13
+ date: 2024-07-16 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.6
21
+ version: 0.27.7
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.6
28
+ version: 0.27.7
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.6
35
+ version: 0.27.7
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.6
42
+ version: 0.27.7
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.6
83
+ version: 0.27.7
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.6
90
+ version: 0.27.7
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.6
97
+ version: 0.27.7
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.6
104
+ version: 0.27.7
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.6
111
+ version: 0.27.7
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.6
118
+ version: 0.27.7
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.6
125
+ version: 0.27.7
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.6
132
+ version: 0.27.7
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.6
139
+ version: 0.27.7
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.6
146
+ version: 0.27.7
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.6
153
+ version: 0.27.7
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.6
160
+ version: 0.27.7
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.6
167
+ version: 0.27.7
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.6
174
+ version: 0.27.7
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.2.22
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