decidim-proposals 0.26.7 → 0.26.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/app/views/decidim/proposals/admin/proposals/edit.html.erb +1 -0
  3. data/app/views/decidim/proposals/admin/proposals/index.html.erb +1 -0
  4. data/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -0
  5. data/app/views/decidim/proposals/admin/proposals/show.html.erb +1 -0
  6. data/config/environment.rb +0 -0
  7. data/config/locales/ar.yml +3 -5
  8. data/config/locales/bg.yml +5 -0
  9. data/config/locales/ca.yml +2 -2
  10. data/config/locales/cs.yml +1 -1
  11. data/config/locales/de.yml +51 -5
  12. data/config/locales/el.yml +140 -2
  13. data/config/locales/es-MX.yml +4 -4
  14. data/config/locales/es-PY.yml +4 -4
  15. data/config/locales/es.yml +1 -1
  16. data/config/locales/eu.yml +4 -6
  17. data/config/locales/fi-plain.yml +5 -5
  18. data/config/locales/fi.yml +5 -5
  19. data/config/locales/fr-CA.yml +6 -8
  20. data/config/locales/fr.yml +6 -8
  21. data/config/locales/gl.yml +2 -2
  22. data/config/locales/hu.yml +51 -3
  23. data/config/locales/id-ID.yml +10 -2
  24. data/config/locales/is-IS.yml +15 -5
  25. data/config/locales/it.yml +5 -7
  26. data/config/locales/ja.yml +3 -3
  27. data/config/locales/lt.yml +0 -2
  28. data/config/locales/lv.yml +7 -2
  29. data/config/locales/nl.yml +8 -6
  30. data/config/locales/no.yml +4 -3
  31. data/config/locales/pl.yml +0 -2
  32. data/config/locales/pt-BR.yml +1 -1
  33. data/config/locales/pt.yml +0 -2
  34. data/config/locales/ro-RO.yml +0 -2
  35. data/config/locales/ru.yml +15 -6
  36. data/config/locales/sk.yml +8 -3
  37. data/config/locales/sl.yml +0 -3
  38. data/config/locales/sv.yml +2 -4
  39. data/config/locales/tr-TR.yml +2 -4
  40. data/config/locales/uk.yml +15 -6
  41. data/config/locales/zh-CN.yml +3 -2
  42. data/config/locales/zh-TW.yml +1 -3
  43. data/db/migrate/20181003074440_fix_user_groups_ids_in_proposals_endorsements.rb +9 -2
  44. data/db/migrate/20200708091228_move_proposals_fields_to_i18n.rb +28 -18
  45. data/db/migrate/20201002085508_fix_proposals_data.rb +25 -13
  46. data/lib/decidim/proposals/engine.rb +6 -0
  47. data/lib/decidim/proposals/version.rb +1 -1
  48. data/lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake +34 -0
  49. metadata +34 -18
@@ -51,6 +51,12 @@ uk:
51
51
  many: Голосів
52
52
  other: Голосів
53
53
  decidim:
54
+ admin:
55
+ filters:
56
+ proposals:
57
+ state_null:
58
+ values:
59
+ 'true': Без відповідей
54
60
  components:
55
61
  proposals:
56
62
  actions:
@@ -225,6 +231,9 @@ uk:
225
231
  official: Службове
226
232
  filter_state_values:
227
233
  not_answered: Без відповідей
234
+ content_blocks:
235
+ highlighted_proposals:
236
+ proposals: Пропозиції
228
237
  create:
229
238
  error: При спробі збереження цієї пропозиції сталися помилки.
230
239
  success: Пропозицію успішно створено. Збережено як чернетку.
@@ -232,6 +241,9 @@ uk:
232
241
  error: При спробі видалити чернетку цієї пропозиції сталися помилки.
233
242
  success: Чернетку пропозиції успішно видалено.
234
243
  models:
244
+ collaborative_draft:
245
+ fields:
246
+ comments: Коментарі
235
247
  proposal:
236
248
  fields:
237
249
  category: Категорія
@@ -246,6 +258,9 @@ uk:
246
258
  votes: Голоси
247
259
  new:
248
260
  limit_reached: Ви не можете вносити нові пропозиції, оскільки ви перевищили ліміт.
261
+ participatory_text_proposal:
262
+ buttons:
263
+ comments: Коментарі
249
264
  proposal_votes:
250
265
  create:
251
266
  error: При голосуванні щодо пропозиції сталися помилки.
@@ -274,11 +289,6 @@ uk:
274
289
  search: Шукати
275
290
  state: Стан
276
291
  voted: Проголосоване
277
- filters_small_view:
278
- close_modal: Закрити віконце
279
- filter: Відібрати
280
- filter_by: 'Відібрати за ознакою:'
281
- unfold: Розгорнути
282
292
  index:
283
293
  new_proposal: Додати нову пропозицію
284
294
  see_all_withdrawn: Переглянути всі відкликані пропозиції
@@ -345,7 +355,6 @@ uk:
345
355
  vote_limit:
346
356
  description: Ви можете проголосувати до %{limit} пропозицій.
347
357
  left: Залишилось
348
- votes: Голоси
349
358
  wizard_aside:
350
359
  back: Повернутись
351
360
  info: Ви вносите <strong>пропозицію</strong>.
@@ -610,6 +610,9 @@ zh-CN:
610
610
  info: 您正在创建一个 <strong>协作草案</strong>。
611
611
  wizard_header:
612
612
  title: 创建您的协作草稿
613
+ content_blocks:
614
+ highlighted_proposals:
615
+ proposals: 建议
613
616
  create:
614
617
  error: 保存建议时出现问题。
615
618
  success: 建议已成功创建为草稿。
@@ -715,8 +718,6 @@ zh-CN:
715
718
  recent: 最近的
716
719
  with_more_authors: 有更多作者
717
720
  participatory_texts:
718
- index:
719
- document_index: 文档索引
720
721
  view_index:
721
722
  see_index: 查看索引
722
723
  preview:
@@ -833,8 +833,6 @@ zh-TW:
833
833
  recent: 最近
834
834
  with_more_authors: 有更多作者
835
835
  participatory_texts:
836
- index:
837
- document_index: 文件索引
838
836
  view_index:
839
837
  see_index: 查看索引
840
838
  placeholder:
@@ -910,7 +908,7 @@ zh-TW:
910
908
  vote_limit:
911
909
  description: 您最多可以支持 %{limit} 個提案。
912
910
  left: 剩餘
913
- votes: 支持
911
+ votes: 支援
914
912
  wizard_aside:
915
913
  back: 返回
916
914
  back_from_step_1: 返回提案
@@ -5,13 +5,20 @@ class FixUserGroupsIdsInProposalsEndorsements < ActiveRecord::Migration[5.2]
5
5
  self.table_name = :decidim_proposals_proposal_endorsements
6
6
  end
7
7
 
8
+ class UserGroup < ApplicationRecord
9
+ self.table_name = :decidim_users
10
+ self.inheritance_column = nil # disable the default inheritance
11
+
12
+ default_scope { where(type: "Decidim::UserGroup") }
13
+ end
14
+
8
15
  # rubocop:disable Rails/SkipsModelValidations
9
16
  def change
10
- Decidim::UserGroup.find_each do |group|
17
+ UserGroup.find_each do |group|
11
18
  old_id = group.extended_data["old_user_group_id"]
12
19
  next unless old_id
13
20
 
14
- Decidim::Proposals::ProposalEndorsement
21
+ ProposalEndorsement
15
22
  .where(decidim_user_group_id: old_id)
16
23
  .update_all(decidim_user_group_id: group.id)
17
24
  end
@@ -1,15 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class MoveProposalsFieldsToI18n < ActiveRecord::Migration[5.2]
4
+ class Proposal < ApplicationRecord
5
+ include Decidim::HasComponent
6
+
7
+ self.table_name = :decidim_proposals_proposals
8
+ end
9
+
10
+ class Coauthorship < ApplicationRecord
11
+ self.table_name = :decidim_coauthorships
12
+ end
13
+
14
+ class UserBaseEntity < ApplicationRecord
15
+ self.table_name = :decidim_users
16
+ self.inheritance_column = nil # disable the default inheritance
17
+ end
18
+
19
+ class Organization < ApplicationRecord
20
+ self.table_name = :decidim_organizations
21
+ end
22
+
4
23
  def up
5
24
  add_column :decidim_proposals_proposals, :new_title, :jsonb
6
25
  add_column :decidim_proposals_proposals, :new_body, :jsonb
7
26
 
8
- reset_column_information
9
-
10
27
  PaperTrail.request(enabled: false) do
11
- Decidim::Proposals::Proposal.find_each do |proposal|
12
- author = proposal.coauthorships.first.author
28
+ Proposal.find_each do |proposal|
29
+ coauthorship = Coauthorship.order(:id).find_by(coauthorable_type: "Decidim::Proposals::Proposal", coauthorable_id: proposal.id)
30
+ author =
31
+ if coauthorship.decidim_author_type == "Decidim::Organization"
32
+ Organization.find_by(id: coauthorship.decidim_author_id)
33
+ else
34
+ UserBaseEntity.find_by(id: coauthorship.decidim_author_id)
35
+ end
13
36
 
14
37
  locale = if author
15
38
  author.try(:locale).presence || author.try(:default_locale).presence || author.try(:organization).try(:default_locale).presence
@@ -38,17 +61,13 @@ class MoveProposalsFieldsToI18n < ActiveRecord::Migration[5.2]
38
61
  rename_column :decidim_proposals_proposals, :new_body, :body
39
62
 
40
63
  create_indexs
41
-
42
- reset_column_information
43
64
  end
44
65
 
45
66
  def down
46
67
  add_column :decidim_proposals_proposals, :new_title, :string
47
68
  add_column :decidim_proposals_proposals, :new_body, :string
48
69
 
49
- reset_column_information
50
-
51
- Decidim::Proposals::Proposal.find_each do |proposal|
70
+ Proposal.find_each do |proposal|
52
71
  proposal.new_title = proposal.title.values.first
53
72
  proposal.new_body = proposal.body.values.first
54
73
 
@@ -63,15 +82,6 @@ class MoveProposalsFieldsToI18n < ActiveRecord::Migration[5.2]
63
82
  rename_column :decidim_proposals_proposals, :new_body, :body
64
83
 
65
84
  create_indexs
66
-
67
- reset_column_information
68
- end
69
-
70
- def reset_column_information
71
- Decidim::User.reset_column_information
72
- Decidim::Coauthorship.reset_column_information
73
- Decidim::Proposals::Proposal.reset_column_information
74
- Decidim::Organization.reset_column_information
75
85
  end
76
86
 
77
87
  def remove_indexs
@@ -1,14 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FixProposalsData < ActiveRecord::Migration[5.2]
4
- def up
5
- reset_column_information
4
+ class Proposal < ApplicationRecord
5
+ self.table_name = :decidim_proposals_proposals
6
+ end
7
+
8
+ class Coauthorship < ApplicationRecord
9
+ self.table_name = :decidim_coauthorships
10
+ end
11
+
12
+ class UserBaseEntity < ApplicationRecord
13
+ self.table_name = :decidim_users
14
+ self.inheritance_column = nil # disable the default inheritance
15
+ end
6
16
 
17
+ class Organization < ApplicationRecord
18
+ self.table_name = :decidim_organizations
19
+ end
20
+
21
+ def up
7
22
  PaperTrail.request(enabled: false) do
8
- Decidim::Proposals::Proposal.find_each do |proposal|
23
+ Proposal.find_each do |proposal|
9
24
  next if proposal.title.is_a?(Hash) && proposal.body.is_a?(Hash)
10
25
 
11
- author = proposal.coauthorships.first.author
26
+ coauthorship = Coauthorship.order(:id).find_by(coauthorable_type: "Decidim::Proposals::Proposal", coauthorable_id: proposal.id)
27
+ author =
28
+ if coauthorship.decidim_author_type == "Decidim::Organization"
29
+ Organization.find_by(id: coauthorship.decidim_author_id)
30
+ else
31
+ UserBaseEntity.find_by(id: coauthorship.decidim_author_id)
32
+ end
12
33
 
13
34
  locale = author.try(:locale).presence || author.try(:default_locale).presence || author.try(:organization).try(:default_locale).presence
14
35
 
@@ -21,16 +42,7 @@ class FixProposalsData < ActiveRecord::Migration[5.2]
21
42
  # rubocop:enable Rails/SkipsModelValidations
22
43
  end
23
44
  end
24
-
25
- reset_column_information
26
45
  end
27
46
 
28
47
  def down; end
29
-
30
- def reset_column_information
31
- Decidim::User.reset_column_information
32
- Decidim::Coauthorship.reset_column_information
33
- Decidim::Proposals::Proposal.reset_column_information
34
- Decidim::Organization.reset_column_information
35
- end
36
48
  end
@@ -90,6 +90,12 @@ module Decidim
90
90
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Proposals::Engine.root}/app/views") # for proposal partials
91
91
  end
92
92
 
93
+ initializer "decidim_proposals.remove_space_admins" do
94
+ ActiveSupport::Notifications.subscribe("decidim.system.participatory_space.admin.destroyed") do |_event_name, klass, id|
95
+ Decidim::Proposals::ValuationAssignment.where(valuator_role_type: klass, valuator_role_id: id).destroy_all
96
+ end
97
+ end
98
+
93
99
  initializer "decidim_proposals.add_badges" do
94
100
  Decidim::Gamification.register_badge(:proposals) do |badge|
95
101
  badge.levels = [1, 5, 10, 30, 60]
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds decidim-proposals version.
5
5
  module Proposals
6
6
  def self.version
7
- "0.26.7"
7
+ "0.26.8"
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :proposals do
5
+ namespace :upgrade do
6
+ desc "Removes all proposal valuator records of which the role assignment does not exists"
7
+ task remove_valuator_orphan_records: :environment do
8
+ if Decidim.module_installed?("participatory_processes")
9
+ Decidim::Proposals::ValuationAssignment
10
+ .where(valuator_role_type: "Decidim::ParticipatoryProcessUserRole")
11
+ .where
12
+ .not(valuator_role_id: Decidim::ParticipatoryProcessUserRole.pluck(:id))
13
+ .destroy_all
14
+ end
15
+
16
+ if Decidim.module_installed?("assemblies")
17
+ Decidim::Proposals::ValuationAssignment
18
+ .where(valuator_role_type: "Decidim::AssemblyUserRole")
19
+ .where
20
+ .not(valuator_role_id: Decidim::AssemblyUserRole.pluck(:id))
21
+ .destroy_all
22
+ end
23
+
24
+ if Decidim.module_installed?("conferences")
25
+ Decidim::Proposals::ValuationAssignment
26
+ .where(valuator_role_type: "Decidim::ConferenceUserRole")
27
+ .where
28
+ .not(valuator_role_id: Decidim::ConferenceUserRole.pluck(:id))
29
+ .destroy_all
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-proposals
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.7
4
+ version: 0.26.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-05-11 00:00:00.000000000 Z
13
+ date: 2023-07-27 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.26.7
21
+ version: 0.26.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.26.7
28
+ version: 0.26.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.26.7
35
+ version: 0.26.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.26.7
42
+ version: 0.26.8
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: doc2text
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -80,84 +80,98 @@ dependencies:
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.26.7
83
+ version: 0.26.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.26.7
90
+ version: 0.26.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.26.7
97
+ version: 0.26.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.26.7
104
+ version: 0.26.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.26.7
111
+ version: 0.26.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.26.7
118
+ version: 0.26.8
119
+ - !ruby/object:Gem::Dependency
120
+ name: decidim-conference
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - '='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.26.8
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.26.8
119
133
  - !ruby/object:Gem::Dependency
120
134
  name: decidim-dev
121
135
  requirement: !ruby/object:Gem::Requirement
122
136
  requirements:
123
137
  - - '='
124
138
  - !ruby/object:Gem::Version
125
- version: 0.26.7
139
+ version: 0.26.8
126
140
  type: :development
127
141
  prerelease: false
128
142
  version_requirements: !ruby/object:Gem::Requirement
129
143
  requirements:
130
144
  - - '='
131
145
  - !ruby/object:Gem::Version
132
- version: 0.26.7
146
+ version: 0.26.8
133
147
  - !ruby/object:Gem::Dependency
134
148
  name: decidim-meetings
135
149
  requirement: !ruby/object:Gem::Requirement
136
150
  requirements:
137
151
  - - '='
138
152
  - !ruby/object:Gem::Version
139
- version: 0.26.7
153
+ version: 0.26.8
140
154
  type: :development
141
155
  prerelease: false
142
156
  version_requirements: !ruby/object:Gem::Requirement
143
157
  requirements:
144
158
  - - '='
145
159
  - !ruby/object:Gem::Version
146
- version: 0.26.7
160
+ version: 0.26.8
147
161
  - !ruby/object:Gem::Dependency
148
162
  name: decidim-participatory_processes
149
163
  requirement: !ruby/object:Gem::Requirement
150
164
  requirements:
151
165
  - - '='
152
166
  - !ruby/object:Gem::Version
153
- version: 0.26.7
167
+ version: 0.26.8
154
168
  type: :development
155
169
  prerelease: false
156
170
  version_requirements: !ruby/object:Gem::Requirement
157
171
  requirements:
158
172
  - - '='
159
173
  - !ruby/object:Gem::Version
160
- version: 0.26.7
174
+ version: 0.26.8
161
175
  description: A proposals component for decidim's participatory spaces.
162
176
  email:
163
177
  - josepjaume@gmail.com
@@ -447,6 +461,7 @@ files:
447
461
  - app/views/decidim/proposals/versions/show.html.erb
448
462
  - config/assets.rb
449
463
  - config/brakeman.ignore
464
+ - config/environment.rb
450
465
  - config/locales/am-ET.yml
451
466
  - config/locales/ar-SA.yml
452
467
  - config/locales/ar.yml
@@ -607,6 +622,7 @@ files:
607
622
  - lib/decidim/proposals/test/factories.rb
608
623
  - lib/decidim/proposals/valuatable.rb
609
624
  - lib/decidim/proposals/version.rb
625
+ - lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake
610
626
  homepage: https://github.com/decidim/decidim
611
627
  licenses:
612
628
  - AGPL-3.0