decidim-proposals 0.27.3 → 0.27.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/proposal_tags/show.erb +2 -2
  3. data/app/controllers/concerns/decidim/proposals/orderable.rb +2 -2
  4. data/app/views/decidim/proposals/admin/proposals/edit.html.erb +1 -0
  5. data/app/views/decidim/proposals/admin/proposals/index.html.erb +1 -0
  6. data/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -0
  7. data/app/views/decidim/proposals/admin/proposals/show.html.erb +41 -35
  8. data/app/views/decidim/proposals/proposals/_proposals.html.erb +1 -1
  9. data/config/environment.rb +3 -0
  10. data/config/locales/ar.yml +5 -7
  11. data/config/locales/bg.yml +15 -0
  12. data/config/locales/ca.yml +2 -2
  13. data/config/locales/cs.yml +3 -3
  14. data/config/locales/de.yml +59 -9
  15. data/config/locales/el.yml +151 -2
  16. data/config/locales/es-MX.yml +6 -6
  17. data/config/locales/es-PY.yml +6 -6
  18. data/config/locales/es.yml +1 -1
  19. data/config/locales/eu.yml +158 -158
  20. data/config/locales/fi-plain.yml +5 -5
  21. data/config/locales/fi.yml +5 -5
  22. data/config/locales/fr-CA.yml +7 -7
  23. data/config/locales/fr.yml +21 -21
  24. data/config/locales/gl.yml +4 -4
  25. data/config/locales/hu.yml +55 -3
  26. data/config/locales/id-ID.yml +14 -2
  27. data/config/locales/is-IS.yml +15 -5
  28. data/config/locales/it.yml +9 -8
  29. data/config/locales/ja.yml +3 -3
  30. data/config/locales/lt.yml +23 -0
  31. data/config/locales/lv.yml +11 -2
  32. data/config/locales/nl.yml +10 -7
  33. data/config/locales/no.yml +5 -3
  34. data/config/locales/pl.yml +4 -2
  35. data/config/locales/pt-BR.yml +31 -2
  36. data/config/locales/pt.yml +3 -2
  37. data/config/locales/ro-RO.yml +0 -2
  38. data/config/locales/ru.yml +15 -6
  39. data/config/locales/sk.yml +12 -3
  40. data/config/locales/sl.yml +0 -3
  41. data/config/locales/sq-AL.yml +1 -0
  42. data/config/locales/sv.yml +5 -2
  43. data/config/locales/th-TH.yml +1 -0
  44. data/config/locales/tr-TR.yml +5 -4
  45. data/config/locales/uk.yml +15 -6
  46. data/config/locales/zh-CN.yml +7 -2
  47. data/config/locales/zh-TW.yml +2 -4
  48. data/db/migrate/20181003074440_fix_user_groups_ids_in_proposals_endorsements.rb +9 -2
  49. data/db/migrate/20200708091228_move_proposals_fields_to_i18n.rb +28 -18
  50. data/db/migrate/20201002085508_fix_proposals_data.rb +25 -13
  51. data/lib/decidim/proposals/engine.rb +6 -0
  52. data/lib/decidim/proposals/version.rb +1 -1
  53. data/lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake +34 -0
  54. metadata +40 -22
@@ -325,6 +325,9 @@ zh-CN:
325
325
  preview: 预览
326
326
  exports:
327
327
  proposals: 建议
328
+ imports:
329
+ title:
330
+ proposals: 导入提议
328
331
  models:
329
332
  proposal:
330
333
  name: 建议
@@ -460,6 +463,7 @@ zh-CN:
460
463
  no_components: 在这个参与性空间中,没有其他提案组成部分可以从中导入。
461
464
  select_component: 请选择一个组件
462
465
  select_states: 检查要导入的建议的状态
466
+ title: 导入提议
463
467
  proposals_merges:
464
468
  create:
465
469
  success: 成功地将提案合并为一个新提案。
@@ -606,6 +610,9 @@ zh-CN:
606
610
  info: 您正在创建一个 <strong>协作草案</strong>。
607
611
  wizard_header:
608
612
  title: 创建您的协作草稿
613
+ content_blocks:
614
+ highlighted_proposals:
615
+ proposals: 建议
609
616
  create:
610
617
  error: 保存建议时出现问题。
611
618
  success: 建议已成功创建为草稿。
@@ -707,8 +714,6 @@ zh-CN:
707
714
  recent: 最近的
708
715
  with_more_authors: 有更多作者
709
716
  participatory_texts:
710
- index:
711
- document_index: 文档索引
712
717
  view_index:
713
718
  see_index: 查看索引
714
719
  preview:
@@ -567,7 +567,7 @@ zh-TW:
567
567
  no_components: 這個參與空間中沒有其他的提案元件可以匯入提案。
568
568
  select_component: 請選擇一個組件
569
569
  select_states: 檢查要匯入的提案狀態。
570
- title: 匯入提案
570
+ title: 導入提案
571
571
  proposals_merges:
572
572
  create:
573
573
  invalid: '由於其中一些提案存在問題,因此無法合併所選提案:'
@@ -836,8 +836,6 @@ zh-TW:
836
836
  recent: 最近
837
837
  with_more_authors: 有更多作者
838
838
  participatory_texts:
839
- index:
840
- document_index: 文件索引
841
839
  view_index:
842
840
  see_index: 查看索引
843
841
  placeholder:
@@ -913,7 +911,7 @@ zh-TW:
913
911
  vote_limit:
914
912
  description: 您最多可以支持 %{limit} 個提案。
915
913
  left: 剩餘
916
- votes: 支持
914
+ votes: 支援
917
915
  wizard_aside:
918
916
  back: 返回
919
917
  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.27.3"
7
+ "0.27.5"
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,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.3
4
+ version: 0.27.5
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: 2023-05-11 00:00:00.000000000 Z
13
+ date: 2023-12-20 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.3
21
+ version: 0.27.5
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.3
28
+ version: 0.27.5
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.3
35
+ version: 0.27.5
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.3
42
+ version: 0.27.5
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.27.3
83
+ version: 0.27.5
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.3
90
+ version: 0.27.5
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.3
97
+ version: 0.27.5
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.3
104
+ version: 0.27.5
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.3
111
+ version: 0.27.5
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.3
118
+ version: 0.27.5
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.27.5
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.27.5
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.27.3
139
+ version: 0.27.5
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.27.3
146
+ version: 0.27.5
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.27.3
153
+ version: 0.27.5
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.27.3
160
+ version: 0.27.5
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.27.3
167
+ version: 0.27.5
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.27.3
174
+ version: 0.27.5
161
175
  description: A proposals component for decidim's participatory spaces.
162
176
  email:
163
177
  - josepjaume@gmail.com
@@ -444,6 +458,7 @@ files:
444
458
  - app/views/decidim/proposals/versions/show.html.erb
445
459
  - config/assets.rb
446
460
  - config/brakeman.ignore
461
+ - config/environment.rb
447
462
  - config/locales/am-ET.yml
448
463
  - config/locales/ar-SA.yml
449
464
  - config/locales/ar.yml
@@ -510,9 +525,11 @@ files:
510
525
  - config/locales/sk.yml
511
526
  - config/locales/sl.yml
512
527
  - config/locales/so-SO.yml
528
+ - config/locales/sq-AL.yml
513
529
  - config/locales/sr-CS.yml
514
530
  - config/locales/sv.yml
515
531
  - config/locales/sw-KE.yml
532
+ - config/locales/th-TH.yml
516
533
  - config/locales/ti-ER.yml
517
534
  - config/locales/tr-TR.yml
518
535
  - config/locales/uk.yml
@@ -604,11 +621,12 @@ files:
604
621
  - lib/decidim/proposals/test/factories.rb
605
622
  - lib/decidim/proposals/valuatable.rb
606
623
  - lib/decidim/proposals/version.rb
624
+ - lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake
607
625
  homepage: https://github.com/decidim/decidim
608
626
  licenses:
609
627
  - AGPL-3.0
610
628
  metadata: {}
611
- post_install_message:
629
+ post_install_message:
612
630
  rdoc_options: []
613
631
  require_paths:
614
632
  - lib
@@ -623,8 +641,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
623
641
  - !ruby/object:Gem::Version
624
642
  version: '0'
625
643
  requirements: []
626
- rubygems_version: 3.2.22
627
- signing_key:
644
+ rubygems_version: 3.4.22
645
+ signing_key:
628
646
  specification_version: 4
629
647
  summary: Decidim proposals module
630
648
  test_files: []