decidim-proposals 0.26.5 → 0.26.8

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/proposals/collaborative_draft_m_cell.rb +1 -1
  3. data/app/commands/decidim/proposals/admin/notify_proposal_answer.rb +2 -0
  4. data/app/helpers/decidim/proposals/application_helper.rb +14 -3
  5. data/app/helpers/decidim/proposals/proposals_helper.rb +1 -1
  6. data/app/views/decidim/proposals/admin/participatory_texts/_article-preview.html.erb +2 -2
  7. data/app/views/decidim/proposals/admin/proposals/edit.html.erb +1 -0
  8. data/app/views/decidim/proposals/admin/proposals/index.html.erb +1 -0
  9. data/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -0
  10. data/app/views/decidim/proposals/admin/proposals/show.html.erb +1 -0
  11. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +1 -1
  12. data/app/views/decidim/proposals/collaborative_drafts/show.html.erb +1 -1
  13. data/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +2 -1
  14. data/config/environment.rb +0 -0
  15. data/config/locales/ar.yml +254 -2
  16. data/config/locales/bg.yml +5 -0
  17. data/config/locales/ca.yml +4 -4
  18. data/config/locales/cs.yml +1 -1
  19. data/config/locales/de.yml +51 -5
  20. data/config/locales/el.yml +140 -2
  21. data/config/locales/es-MX.yml +5 -5
  22. data/config/locales/es-PY.yml +5 -5
  23. data/config/locales/es.yml +3 -3
  24. data/config/locales/eu.yml +39 -41
  25. data/config/locales/fa-IR.yml +1 -0
  26. data/config/locales/fi-plain.yml +5 -5
  27. data/config/locales/fi.yml +9 -9
  28. data/config/locales/fr-CA.yml +6 -8
  29. data/config/locales/fr.yml +6 -8
  30. data/config/locales/gl.yml +2 -2
  31. data/config/locales/hu.yml +52 -4
  32. data/config/locales/id-ID.yml +10 -2
  33. data/config/locales/is-IS.yml +15 -6
  34. data/config/locales/it.yml +5 -7
  35. data/config/locales/ja.yml +16 -16
  36. data/config/locales/kaa.yml +1 -0
  37. data/config/locales/lt.yml +0 -2
  38. data/config/locales/lv.yml +7 -2
  39. data/config/locales/nl.yml +9 -7
  40. data/config/locales/no.yml +4 -3
  41. data/config/locales/pl.yml +0 -2
  42. data/config/locales/pt-BR.yml +2 -2
  43. data/config/locales/pt.yml +1 -3
  44. data/config/locales/ro-RO.yml +0 -2
  45. data/config/locales/ru.yml +15 -7
  46. data/config/locales/sk.yml +8 -3
  47. data/config/locales/sl.yml +0 -3
  48. data/config/locales/sv.yml +2 -4
  49. data/config/locales/tr-TR.yml +2 -4
  50. data/config/locales/uk.yml +15 -7
  51. data/config/locales/zh-CN.yml +3 -2
  52. data/config/locales/zh-TW.yml +964 -0
  53. data/db/migrate/20181003074440_fix_user_groups_ids_in_proposals_endorsements.rb +9 -2
  54. data/db/migrate/20200708091228_move_proposals_fields_to_i18n.rb +28 -18
  55. data/db/migrate/20201002085508_fix_proposals_data.rb +25 -13
  56. data/lib/decidim/proposals/component.rb +7 -6
  57. data/lib/decidim/proposals/engine.rb +6 -0
  58. data/lib/decidim/proposals/import/proposal_answer_creator.rb +31 -23
  59. data/lib/decidim/proposals/proposal_serializer.rb +9 -1
  60. data/lib/decidim/proposals/version.rb +1 -1
  61. data/lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake +34 -0
  62. metadata +36 -18
@@ -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
@@ -28,19 +28,19 @@ Decidim.register_component(:proposals) do |component|
28
28
  component.settings(:global) do |settings|
29
29
  settings.attribute :scopes_enabled, type: :boolean, default: false
30
30
  settings.attribute :scope_id, type: :scope
31
- settings.attribute :vote_limit, type: :integer, default: 0
32
- settings.attribute :minimum_votes_per_user, type: :integer, default: 0
33
- settings.attribute :proposal_limit, type: :integer, default: 0
31
+ settings.attribute :vote_limit, type: :integer, default: 0, required: true
32
+ settings.attribute :minimum_votes_per_user, type: :integer, default: 0, required: true
33
+ settings.attribute :proposal_limit, type: :integer, default: 0, required: true
34
34
  settings.attribute :proposal_length, type: :integer, default: 500
35
35
  settings.attribute :proposal_edit_time, type: :enum, default: "limited", choices: -> { %w(limited infinite) }
36
- settings.attribute :proposal_edit_before_minutes, type: :integer, default: 5
37
- settings.attribute :threshold_per_proposal, type: :integer, default: 0
36
+ settings.attribute :proposal_edit_before_minutes, type: :integer, default: 5, required: true
37
+ settings.attribute :threshold_per_proposal, type: :integer, default: 0, required: true
38
38
  settings.attribute :can_accumulate_supports_beyond_threshold, type: :boolean, default: false
39
39
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
40
40
  settings.attribute :default_sort_order, type: :select, default: "default", choices: -> { POSSIBLE_SORT_ORDERS }
41
41
  settings.attribute :official_proposals_enabled, type: :boolean, default: true
42
42
  settings.attribute :comments_enabled, type: :boolean, default: true
43
- settings.attribute :comments_max_length, type: :integer, required: false
43
+ settings.attribute :comments_max_length, type: :integer, required: true
44
44
  settings.attribute :geocoding_enabled, type: :boolean, default: false
45
45
  settings.attribute :attachments_allowed, type: :boolean, default: false
46
46
  settings.attribute :resources_permissions_enabled, type: :boolean, default: true
@@ -131,6 +131,7 @@ Decidim.register_component(:proposals) do |component|
131
131
 
132
132
  collection = Decidim::Proposals::Proposal
133
133
  .published
134
+ .not_hidden
134
135
  .where(component: component_instance)
135
136
  .includes(:scope, :category, :component)
136
137
 
@@ -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]
@@ -32,34 +32,41 @@ module Decidim
32
32
  resource,
33
33
  current_user
34
34
  ) do
35
- resource.save!
35
+ resource.try(:save!)
36
36
  end
37
- notify(resource)
37
+
38
+ notify
38
39
  end
39
40
 
40
41
  private
41
42
 
43
+ attr_reader :initial_state
44
+
42
45
  def resource
43
- @resource ||= begin
44
- proposal = Decidim::Proposals::Proposal.find_by(id: id)
45
- return nil unless proposal
46
- return nil if proposal.emendation?
47
-
48
- if proposal.component != component
49
- proposal.errors.add(:component, :invalid)
50
- return proposal
51
- end
52
-
53
- proposal.answer = answer
54
- proposal.answered_at = Time.current
55
- if POSSIBLE_ANSWER_STATES.include?(state)
56
- proposal.state = state
57
- proposal.state_published_at = Time.current if component.current_settings.publish_answers_immediately?
58
- else
59
- proposal.errors.add(:state, :invalid)
60
- end
61
- proposal
46
+ @resource ||= fetch_resource
47
+ end
48
+
49
+ def fetch_resource
50
+ proposal = Decidim::Proposals::Proposal.find_by(id: id)
51
+ return nil unless proposal
52
+ return nil if proposal.emendation?
53
+
54
+ if proposal.component != component
55
+ proposal.errors.add(:component, :invalid)
56
+ return proposal
57
+ end
58
+
59
+ proposal.answer = answer
60
+ proposal.answered_at = Time.current
61
+ @initial_state = proposal.state
62
+
63
+ if POSSIBLE_ANSWER_STATES.include?(state)
64
+ proposal.state = state
65
+ proposal.state_published_at = Time.current if component.current_settings.publish_answers_immediately?
66
+ else
67
+ proposal.errors.add(:state, :invalid)
62
68
  end
69
+ proposal
63
70
  end
64
71
 
65
72
  def id
@@ -86,8 +93,9 @@ module Decidim
86
93
  context[:current_user]
87
94
  end
88
95
 
89
- def notify(proposal)
90
- ::Decidim::Proposals::Admin::NotifyProposalAnswer.call(proposal, proposal.state)
96
+ def notify
97
+ state = initial_state || resource.try(:state)
98
+ ::Decidim::Proposals::Admin::NotifyProposalAnswer.call(resource, state)
91
99
  end
92
100
  end
93
101
  end
@@ -8,6 +8,7 @@ module Decidim
8
8
  include Decidim::ApplicationHelper
9
9
  include Decidim::ResourceHelper
10
10
  include Decidim::TranslationsHelper
11
+ include HtmlToPlainText
11
12
 
12
13
  # Public: Initializes the serializer with a proposal.
13
14
  def initialize(proposal)
@@ -32,7 +33,7 @@ module Decidim
32
33
  },
33
34
  component: { id: component.id },
34
35
  title: proposal.title,
35
- body: proposal.body,
36
+ body: convert_to_plain_text(proposal.body),
36
37
  address: proposal.address,
37
38
  latitude: proposal.latitude,
38
39
  longitude: proposal.longitude,
@@ -93,6 +94,13 @@ module Decidim
93
94
 
94
95
  Decidim::ResourceLocatorPresenter.new(proposal.amendable).url
95
96
  end
97
+
98
+ # Recursively strips HTML tags from given Hash strings using convert_to_text from Premailer
99
+ def convert_to_plain_text(value)
100
+ return value.transform_values { |v| convert_to_plain_text(v) } if value.is_a?(Hash)
101
+
102
+ convert_to_text(value)
103
+ end
96
104
  end
97
105
  end
98
106
  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.26.5"
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.5
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-02-13 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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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.5
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
@@ -469,6 +484,7 @@ files:
469
484
  - config/locales/et-EE.yml
470
485
  - config/locales/et.yml
471
486
  - config/locales/eu.yml
487
+ - config/locales/fa-IR.yml
472
488
  - config/locales/fi-pl.yml
473
489
  - config/locales/fi-plain.yml
474
490
  - config/locales/fi.yml
@@ -487,6 +503,7 @@ files:
487
503
  - config/locales/it.yml
488
504
  - config/locales/ja.yml
489
505
  - config/locales/ka-GE.yml
506
+ - config/locales/kaa.yml
490
507
  - config/locales/ko-KR.yml
491
508
  - config/locales/ko.yml
492
509
  - config/locales/lb-LU.yml
@@ -605,6 +622,7 @@ files:
605
622
  - lib/decidim/proposals/test/factories.rb
606
623
  - lib/decidim/proposals/valuatable.rb
607
624
  - lib/decidim/proposals/version.rb
625
+ - lib/tasks/proposals/upgrade/decdim_proposal_upgrade_tasks.rake
608
626
  homepage: https://github.com/decidim/decidim
609
627
  licenses:
610
628
  - AGPL-3.0