decidim-debates 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/debates/debate_activity_cell.rb +4 -0
  3. data/app/cells/decidim/debates/debate_m/data.erb +10 -8
  4. data/app/cells/decidim/debates/debate_m/footer.erb +5 -0
  5. data/app/cells/decidim/debates/debate_m_cell.rb +24 -2
  6. data/app/commands/decidim/debates/admin/close_debate.rb +54 -0
  7. data/app/commands/decidim/debates/admin/create_debate.rb +4 -2
  8. data/app/commands/decidim/debates/admin/update_debate.rb +5 -2
  9. data/app/commands/decidim/debates/close_debate.rb +58 -0
  10. data/app/commands/decidim/debates/create_debate.rb +17 -12
  11. data/app/commands/decidim/debates/update_debate.rb +56 -0
  12. data/app/controllers/decidim/debates/admin/debate_closes_controller.rb +43 -0
  13. data/app/controllers/decidim/debates/admin/debates_controller.rb +4 -2
  14. data/app/controllers/decidim/debates/debates_controller.rb +70 -9
  15. data/app/controllers/decidim/debates/orderable.rb +41 -0
  16. data/app/controllers/decidim/debates/versions_controller.rb +16 -0
  17. data/app/controllers/decidim/debates/widgets_controller.rb +19 -0
  18. data/app/events/decidim/debates/close_debate_event.rb +15 -0
  19. data/app/forms/decidim/debates/admin/close_debate_form.rb +34 -0
  20. data/app/forms/decidim/debates/admin/debate_form.rb +5 -1
  21. data/app/forms/decidim/debates/close_debate_form.rb +39 -0
  22. data/app/forms/decidim/debates/debate_form.rb +27 -1
  23. data/app/helpers/decidim/debates/admin/application_helper.rb +13 -0
  24. data/app/helpers/decidim/debates/application_helper.rb +37 -1
  25. data/app/models/decidim/debates/debate.rb +60 -8
  26. data/app/permissions/decidim/debates/admin/permissions.rb +3 -1
  27. data/app/permissions/decidim/debates/permissions.rb +28 -0
  28. data/app/presenters/decidim/debates/admin_log/debate_presenter.rb +6 -2
  29. data/app/presenters/decidim/debates/admin_log/value_types/debate_title_description_presenter.rb +20 -0
  30. data/app/presenters/decidim/debates/debate_presenter.rb +62 -7
  31. data/app/presenters/decidim/debates/log/resource_presenter.rb +18 -0
  32. data/app/presenters/decidim/debates/official_author_presenter.rb +1 -29
  33. data/app/services/decidim/debates/debate_search.rb +13 -23
  34. data/app/services/decidim/debates/diff_renderer.rb +27 -0
  35. data/app/views/decidim/debates/admin/debate_closes/edit.html.erb +17 -0
  36. data/app/views/decidim/debates/admin/debates/_form.html.erb +4 -4
  37. data/app/views/decidim/debates/admin/debates/index.html.erb +7 -1
  38. data/app/views/decidim/debates/debates/_close_debate_modal.html.erb +13 -0
  39. data/app/views/decidim/debates/debates/_debates.html.erb +7 -0
  40. data/app/views/decidim/debates/debates/_filters.html.erb +15 -13
  41. data/app/views/decidim/debates/debates/_form.html.erb +19 -0
  42. data/app/views/decidim/debates/debates/edit.html.erb +22 -0
  43. data/app/views/decidim/debates/debates/new.html.erb +1 -22
  44. data/app/views/decidim/debates/debates/show.html.erb +81 -11
  45. data/app/views/decidim/debates/versions/index.html.erb +8 -0
  46. data/app/views/decidim/debates/versions/show.html.erb +10 -0
  47. data/config/locales/am-ET.yml +1 -0
  48. data/config/locales/ar.yml +2 -1
  49. data/config/locales/bg.yml +15 -0
  50. data/config/locales/ca.yml +70 -1
  51. data/config/locales/cs.yml +70 -1
  52. data/config/locales/da.yml +1 -0
  53. data/config/locales/de.yml +48 -1
  54. data/config/locales/el.yml +2 -1
  55. data/config/locales/en.yml +70 -1
  56. data/config/locales/eo.yml +1 -0
  57. data/config/locales/es-MX.yml +70 -1
  58. data/config/locales/es-PY.yml +70 -1
  59. data/config/locales/es.yml +70 -1
  60. data/config/locales/et.yml +1 -0
  61. data/config/locales/eu.yml +2 -1
  62. data/config/locales/fi-plain.yml +70 -1
  63. data/config/locales/fi.yml +70 -1
  64. data/config/locales/fr-CA.yml +70 -1
  65. data/config/locales/fr.yml +70 -1
  66. data/config/locales/gl.yml +2 -1
  67. data/config/locales/hr.yml +1 -0
  68. data/config/locales/hu.yml +24 -1
  69. data/config/locales/id-ID.yml +2 -1
  70. data/config/locales/is-IS.yml +2 -1
  71. data/config/locales/is.yml +102 -0
  72. data/config/locales/it.yml +33 -1
  73. data/config/locales/ja-JP.yml +63 -20
  74. data/config/locales/ja.yml +221 -0
  75. data/config/locales/ko-KR.yml +1 -0
  76. data/config/locales/ko.yml +1 -0
  77. data/config/locales/lt.yml +1 -0
  78. data/config/locales/{lv-LV.yml → lv.yml} +0 -0
  79. data/config/locales/mt.yml +1 -0
  80. data/config/locales/nl.yml +46 -1
  81. data/config/locales/no.yml +42 -1
  82. data/config/locales/om-ET.yml +1 -0
  83. data/config/locales/pl.yml +58 -6
  84. data/config/locales/pt-BR.yml +2 -1
  85. data/config/locales/pt.yml +18 -1
  86. data/config/locales/ro-RO.yml +18 -1
  87. data/config/locales/ru.yml +2 -1
  88. data/config/locales/sk.yml +2 -1
  89. data/config/locales/sl.yml +13 -1
  90. data/config/locales/so-SO.yml +1 -0
  91. data/config/locales/sv.yml +51 -1
  92. data/config/locales/ti-ER.yml +1 -0
  93. data/config/locales/tr-TR.yml +2 -1
  94. data/config/locales/uk.yml +2 -1
  95. data/config/locales/vi-VN.yml +1 -0
  96. data/config/locales/vi.yml +1 -0
  97. data/config/locales/zh-CN.yml +218 -0
  98. data/config/locales/zh-TW.yml +1 -0
  99. data/db/migrate/20200703134657_close_debates.rb +9 -0
  100. data/db/migrate/20200708072042_fix_debates_i18n_fields.rb +48 -0
  101. data/db/migrate/20200716143929_add_endorsable_to_debates.rb +8 -0
  102. data/db/migrate/20200827154116_add_commentable_counter_cache_to_debates.rb +14 -0
  103. data/db/migrate/20200902133452_add_cached_comment_metadata_to_debates.rb +23 -0
  104. data/lib/decidim/debates/admin_engine.rb +3 -1
  105. data/lib/decidim/debates/component.rb +44 -1
  106. data/lib/decidim/debates/engine.rb +7 -1
  107. data/lib/decidim/debates/test/factories.rb +62 -6
  108. data/lib/decidim/debates/version.rb +1 -1
  109. metadata +57 -13
@@ -0,0 +1 @@
1
+ zh-TW:
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CloseDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :closed_at, :datetime
6
+ add_column :decidim_debates_debates, :conclusions, :jsonb
7
+ add_index :decidim_debates_debates, :closed_at
8
+ end
9
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixDebatesI18nFields < ActiveRecord::Migration[5.2]
4
+ class User < ApplicationRecord
5
+ self.table_name = :decidim_users
6
+ end
7
+
8
+ class Debate < ApplicationRecord
9
+ self.table_name = :decidim_debates_debates
10
+ end
11
+
12
+ class Organization < ApplicationRecord
13
+ self.table_name = :decidim_organizations
14
+ end
15
+
16
+ def change
17
+ reset_column_information
18
+
19
+ debates.find_each do |debate|
20
+ locale, org_id = User.where(id: debate.decidim_author_id).pluck(:locale, :decidim_organization_id).first
21
+ locale = locale.presence || Organization.find(org_id).default_locale
22
+ locale = locale.to_s
23
+
24
+ debate.title = {
25
+ locale => debate.title[locale]
26
+ }
27
+ debate.description = {
28
+ locale => debate.description[locale]
29
+ }
30
+
31
+ debate.save!(validate: false)
32
+ end
33
+
34
+ reset_column_information
35
+ end
36
+
37
+ def debates
38
+ Debate
39
+ .where.not(decidim_author_type: "Decidim::Organization")
40
+ .select(:id, :decidim_author_id, :title, :description)
41
+ end
42
+
43
+ def reset_column_information
44
+ User.reset_column_information
45
+ Debate.reset_column_information
46
+ Organization.reset_column_information
47
+ end
48
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddEndorsableToDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :endorsements_count, :integer, null: false, default: 0
6
+ add_index :decidim_debates_debates, :endorsements_count, name: "idx_decidim_debates_debates_on_endorsemnts_count"
7
+ end
8
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCommentableCounterCacheToDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :comments_count, :integer, null: false, default: 0, index: true
6
+ Decidim::Debates::Debate.reset_column_information
7
+
8
+ # rubocop:disable Rails/SkipsModelValidations
9
+ Decidim::Debates::Debate.includes(:comments).find_each do |debate|
10
+ debate.update_columns(comments_count: debate.comments.not_hidden.count)
11
+ end
12
+ # rubocop:enable Rails/SkipsModelValidations
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCachedCommentMetadataToDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :last_comment_at, :datetime
6
+ add_column :decidim_debates_debates, :last_comment_by_id, :integer
7
+ add_column :decidim_debates_debates, :last_comment_by_type, :string
8
+
9
+ # rubocop:disable Rails/SkipsModelValidations
10
+ Decidim::Debates::Debate.reset_column_information
11
+ Decidim::Debates::Debate.includes(comments: [:author, :user_group]).find_each do |debate|
12
+ last_comment = debate.comments.order("created_at DESC").first
13
+ next unless last_comment
14
+
15
+ debate.update_columns(
16
+ last_comment_at: last_comment.created_at,
17
+ last_comment_by_id: last_comment.decidim_author_id,
18
+ last_comment_by_type: last_comment.decidim_author_type
19
+ )
20
+ end
21
+ # rubocop:enable Rails/SkipsModelValidations
22
+ end
23
+ end
@@ -12,7 +12,9 @@ module Decidim
12
12
  paths["lib/tasks"] = nil
13
13
 
14
14
  routes do
15
- resources :debates
15
+ resources :debates do
16
+ resources :debate_closes, only: [:edit, :update]
17
+ end
16
18
  root to: "debates#index"
17
19
  end
18
20
 
@@ -18,11 +18,16 @@ Decidim.register_component(:debates) do |component|
18
18
  end
19
19
 
20
20
  component.settings(:global) do |settings|
21
+ settings.attribute :scopes_enabled, type: :boolean, default: false
22
+ settings.attribute :scope_id, type: :scope
21
23
  settings.attribute :comments_enabled, type: :boolean, default: true
24
+ settings.attribute :comments_max_length, type: :integer, required: false
22
25
  settings.attribute :announcement, type: :text, translated: true, editor: true
23
26
  end
24
27
 
25
28
  component.settings(:step) do |settings|
29
+ settings.attribute :endorsements_enabled, type: :boolean, default: true
30
+ settings.attribute :endorsements_blocked, type: :boolean
26
31
  settings.attribute :creation_enabled, type: :boolean, default: false
27
32
  settings.attribute :comments_blocked, type: :boolean, default: false
28
33
  settings.attribute :announcement, type: :text, translated: true, editor: true
@@ -37,13 +42,19 @@ Decidim.register_component(:debates) do |component|
37
42
  Decidim::Follow.where(decidim_followable_type: "Decidim::Debates::Debate", decidim_followable_id: debates_ids).count
38
43
  end
39
44
 
45
+ component.register_stat :endorsements_count, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, _start_at, _end_at|
46
+ debates_ids = Decidim::Debates::Debate.where(component: components).not_hidden.pluck(:id)
47
+ Decidim::Endorsement.where(resource_id: debates_ids, resource_type: Decidim::Debates::Debate.name).count
48
+ end
49
+
40
50
  component.register_resource(:debate) do |resource|
41
51
  resource.model_class_name = "Decidim::Debates::Debate"
42
52
  resource.card = "decidim/debates/debate"
43
53
  resource.searchable = true
54
+ resource.actions = %w(create endorse)
44
55
  end
45
56
 
46
- component.actions = %w(create)
57
+ component.actions = %w(create endorse)
47
58
 
48
59
  component.seeds do |participatory_space|
49
60
  admin_user = Decidim::User.find_by(
@@ -51,6 +62,11 @@ Decidim.register_component(:debates) do |component|
51
62
  email: "admin@example.org"
52
63
  )
53
64
 
65
+ user = Decidim::User.find_by(
66
+ organization: participatory_space.organization,
67
+ email: "user@example.org"
68
+ )
69
+
54
70
  params = {
55
71
  name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :debates).i18n_name,
56
72
  manifest_name: :debates,
@@ -92,5 +108,32 @@ Decidim.register_component(:debates) do |component|
92
108
 
93
109
  Decidim::Comments::Seed.comments_for(debate)
94
110
  end
111
+
112
+ closed_debate = Decidim::Debates::Debate.last
113
+ closed_debate.conclusions = Decidim::Faker::Localized.wrapped("<p>", "</p>") do
114
+ Decidim::Faker::Localized.paragraph(3)
115
+ end
116
+ closed_debate.closed_at = Time.current
117
+ closed_debate.save!
118
+
119
+ params = {
120
+ component: component,
121
+ category: participatory_space.categories.sample,
122
+ title: Decidim::Faker::Localized.sentence(2),
123
+ description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
124
+ Decidim::Faker::Localized.paragraph(3)
125
+ end,
126
+ instructions: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
127
+ Decidim::Faker::Localized.paragraph(3)
128
+ end,
129
+ author: user
130
+ }
131
+
132
+ Decidim.traceability.create!(
133
+ Decidim::Debates::Debate,
134
+ user,
135
+ params,
136
+ visibility: "all"
137
+ )
95
138
  end
96
139
  end
@@ -12,7 +12,13 @@ module Decidim
12
12
  isolate_namespace Decidim::Debates
13
13
 
14
14
  routes do
15
- resources :debates, only: [:index, :show, :new, :create]
15
+ resources :debates, except: [:destroy] do
16
+ member do
17
+ post :close
18
+ end
19
+ resources :versions, only: [:show, :index]
20
+ resource :widget, only: :show, path: "embed"
21
+ end
16
22
  root to: "debates#index"
17
23
  end
18
24
 
@@ -10,8 +10,6 @@ FactoryBot.define do
10
10
  description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_debate_title } }
11
11
  information_updates { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_debate_title } }
12
12
  instructions { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_debate_title } }
13
- start_time { 1.day.from_now }
14
- end_time { start_time.advance(hours: 2) }
15
13
  component { build(:component, manifest_name: "debates") }
16
14
  author { component.try(:organization) }
17
15
 
@@ -20,20 +18,37 @@ FactoryBot.define do
20
18
  end_time { 1.day.from_now }
21
19
  end
22
20
 
23
- trait :with_author do
21
+ trait :citizen_author do
22
+ start_time { nil }
23
+ end_time { nil }
24
24
  author do
25
25
  build(:user, organization: component.organization) if component
26
26
  end
27
27
  end
28
28
 
29
- trait :with_user_group_author do
29
+ trait :official do
30
+ author { component.try(:organization) }
31
+ end
32
+
33
+ trait :user_group_author do
30
34
  author do
31
- build(:user, organization: component.organization) if component
35
+ create(:user, organization: component.organization) if component
32
36
  end
37
+
33
38
  user_group do
34
- build(:user_group, :verified, organization: component.organization, users: [author]) if component
39
+ create(:user_group, :verified, organization: component.organization, users: [author]) if component
35
40
  end
36
41
  end
42
+
43
+ trait :closed do
44
+ closed_at { Time.current }
45
+ conclusions { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_debate_title } }
46
+ end
47
+
48
+ after(:build) do |debate|
49
+ debate.title = Decidim::ContentProcessor.parse_with_processor(:hashtag, debate.title, current_organization: debate.organization).rewrite
50
+ debate.description = Decidim::ContentProcessor.parse_with_processor(:hashtag, debate.description, current_organization: debate.organization).rewrite
51
+ end
37
52
  end
38
53
 
39
54
  factory :debates_component, parent: :component do
@@ -46,6 +61,16 @@ FactoryBot.define do
46
61
  }
47
62
  end
48
63
 
64
+ trait :with_comments_blocked do
65
+ step_settings do
66
+ {
67
+ participatory_space.active_step.id => {
68
+ comments_blocked: true
69
+ }
70
+ }
71
+ end
72
+ end
73
+
49
74
  trait :with_creation_enabled do
50
75
  step_settings do
51
76
  {
@@ -53,5 +78,36 @@ FactoryBot.define do
53
78
  }
54
79
  end
55
80
  end
81
+
82
+ trait :with_votes_enabled do
83
+ # Needed for endorsements tests
84
+ end
85
+
86
+ trait :with_endorsements_blocked do
87
+ step_settings do
88
+ {
89
+ participatory_space.active_step.id => {
90
+ endorsements_enabled: true,
91
+ endorsements_blocked: true
92
+ }
93
+ }
94
+ end
95
+ end
96
+
97
+ trait :with_endorsements_enabled do
98
+ step_settings do
99
+ {
100
+ participatory_space.active_step.id => { endorsements_enabled: true }
101
+ }
102
+ end
103
+ end
104
+
105
+ trait :with_endorsements_disabled do
106
+ step_settings do
107
+ {
108
+ participatory_space.active_step.id => { endorsements_enabled: false }
109
+ }
110
+ end
111
+ end
56
112
  end
57
113
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-debates version.
5
5
  module Debates
6
6
  def self.version
7
- "0.22.0"
7
+ "0.23.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-debates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-09-01 00:00:00.000000000 Z
14
+ date: 2020-11-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: decidim-comments
@@ -19,28 +19,28 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.22.0
22
+ version: 0.23.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.22.0
29
+ version: 0.23.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: decidim-core
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - '='
35
35
  - !ruby/object:Gem::Version
36
- version: 0.22.0
36
+ version: 0.23.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - '='
42
42
  - !ruby/object:Gem::Version
43
- version: 0.22.0
43
+ version: 0.23.0
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: kaminari
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -81,28 +81,28 @@ dependencies:
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.22.0
84
+ version: 0.23.0
85
85
  type: :development
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.22.0
91
+ version: 0.23.0
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: decidim-dev
94
94
  requirement: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
- version: 0.22.0
98
+ version: 0.23.0
99
99
  type: :development
100
100
  prerelease: false
101
101
  version_requirements: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: 0.22.0
105
+ version: 0.23.0
106
106
  description: A debates component for decidim's participatory spaces.
107
107
  email:
108
108
  - josepjaume@gmail.com
@@ -126,18 +126,29 @@ files:
126
126
  - app/cells/decidim/debates/debate_m/single_date.erb
127
127
  - app/cells/decidim/debates/debate_m/tags.erb
128
128
  - app/cells/decidim/debates/debate_m_cell.rb
129
+ - app/commands/decidim/debates/admin/close_debate.rb
129
130
  - app/commands/decidim/debates/admin/create_debate.rb
130
131
  - app/commands/decidim/debates/admin/update_debate.rb
132
+ - app/commands/decidim/debates/close_debate.rb
131
133
  - app/commands/decidim/debates/create_debate.rb
134
+ - app/commands/decidim/debates/update_debate.rb
132
135
  - app/controllers/decidim/debates/admin/application_controller.rb
136
+ - app/controllers/decidim/debates/admin/debate_closes_controller.rb
133
137
  - app/controllers/decidim/debates/admin/debates_controller.rb
134
138
  - app/controllers/decidim/debates/application_controller.rb
135
139
  - app/controllers/decidim/debates/debates_controller.rb
140
+ - app/controllers/decidim/debates/orderable.rb
141
+ - app/controllers/decidim/debates/versions_controller.rb
142
+ - app/controllers/decidim/debates/widgets_controller.rb
143
+ - app/events/decidim/debates/close_debate_event.rb
136
144
  - app/events/decidim/debates/create_debate_event.rb
137
145
  - app/events/decidim/debates/creation_disabled_event.rb
138
146
  - app/events/decidim/debates/creation_enabled_event.rb
147
+ - app/forms/decidim/debates/admin/close_debate_form.rb
139
148
  - app/forms/decidim/debates/admin/debate_form.rb
149
+ - app/forms/decidim/debates/close_debate_form.rb
140
150
  - app/forms/decidim/debates/debate_form.rb
151
+ - app/helpers/decidim/debates/admin/application_helper.rb
141
152
  - app/helpers/decidim/debates/application_helper.rb
142
153
  - app/helpers/decidim/debates/debate_cells_helper.rb
143
154
  - app/jobs/decidim/debates/settings_change_job.rb
@@ -146,44 +157,58 @@ files:
146
157
  - app/permissions/decidim/debates/admin/permissions.rb
147
158
  - app/permissions/decidim/debates/permissions.rb
148
159
  - app/presenters/decidim/debates/admin_log/debate_presenter.rb
160
+ - app/presenters/decidim/debates/admin_log/value_types/debate_title_description_presenter.rb
149
161
  - app/presenters/decidim/debates/debate_presenter.rb
162
+ - app/presenters/decidim/debates/log/resource_presenter.rb
150
163
  - app/presenters/decidim/debates/official_author_presenter.rb
151
164
  - app/queries/decidim/debates/metrics/debate_followers_metric_measure.rb
152
165
  - app/queries/decidim/debates/metrics/debate_participants_metric_measure.rb
153
166
  - app/queries/decidim/debates/metrics/debates_metric_manage.rb
154
167
  - app/serializers/decidim/debates/data_portability_debate_serializer.rb
155
168
  - app/services/decidim/debates/debate_search.rb
169
+ - app/services/decidim/debates/diff_renderer.rb
156
170
  - app/types/decidim/debates/debate_type.rb
157
171
  - app/types/decidim/debates/debates_type.rb
172
+ - app/views/decidim/debates/admin/debate_closes/edit.html.erb
158
173
  - app/views/decidim/debates/admin/debates/_form.html.erb
159
174
  - app/views/decidim/debates/admin/debates/edit.html.erb
160
175
  - app/views/decidim/debates/admin/debates/index.html.erb
161
176
  - app/views/decidim/debates/admin/debates/new.html.erb
177
+ - app/views/decidim/debates/debates/_close_debate_modal.html.erb
162
178
  - app/views/decidim/debates/debates/_count.html.erb
163
179
  - app/views/decidim/debates/debates/_debate.html.erb
164
180
  - app/views/decidim/debates/debates/_debates.html.erb
165
181
  - app/views/decidim/debates/debates/_filters.html.erb
166
182
  - app/views/decidim/debates/debates/_filters_small_view.html.erb
183
+ - app/views/decidim/debates/debates/_form.html.erb
184
+ - app/views/decidim/debates/debates/edit.html.erb
167
185
  - app/views/decidim/debates/debates/index.html.erb
168
186
  - app/views/decidim/debates/debates/index.js.erb
169
187
  - app/views/decidim/debates/debates/new.html.erb
170
188
  - app/views/decidim/debates/debates/show.html.erb
189
+ - app/views/decidim/debates/versions/index.html.erb
190
+ - app/views/decidim/debates/versions/show.html.erb
191
+ - config/locales/am-ET.yml
171
192
  - config/locales/ar-SA.yml
172
193
  - config/locales/ar.yml
173
194
  - config/locales/bg-BG.yml
195
+ - config/locales/bg.yml
174
196
  - config/locales/ca.yml
175
197
  - config/locales/cs-CZ.yml
176
198
  - config/locales/cs.yml
177
199
  - config/locales/da-DK.yml
200
+ - config/locales/da.yml
178
201
  - config/locales/de.yml
179
202
  - config/locales/el-GR.yml
180
203
  - config/locales/el.yml
181
204
  - config/locales/en.yml
182
205
  - config/locales/eo-UY.yml
206
+ - config/locales/eo.yml
183
207
  - config/locales/es-MX.yml
184
208
  - config/locales/es-PY.yml
185
209
  - config/locales/es.yml
186
210
  - config/locales/et-EE.yml
211
+ - config/locales/et.yml
187
212
  - config/locales/eu.yml
188
213
  - config/locales/fi-pl.yml
189
214
  - config/locales/fi-plain.yml
@@ -193,16 +218,24 @@ files:
193
218
  - config/locales/ga-IE.yml
194
219
  - config/locales/gl.yml
195
220
  - config/locales/hr-HR.yml
221
+ - config/locales/hr.yml
196
222
  - config/locales/hu.yml
197
223
  - config/locales/id-ID.yml
198
224
  - config/locales/is-IS.yml
225
+ - config/locales/is.yml
199
226
  - config/locales/it.yml
200
227
  - config/locales/ja-JP.yml
228
+ - config/locales/ja.yml
229
+ - config/locales/ko-KR.yml
230
+ - config/locales/ko.yml
201
231
  - config/locales/lt-LT.yml
202
- - config/locales/lv-LV.yml
232
+ - config/locales/lt.yml
233
+ - config/locales/lv.yml
203
234
  - config/locales/mt-MT.yml
235
+ - config/locales/mt.yml
204
236
  - config/locales/nl.yml
205
237
  - config/locales/no.yml
238
+ - config/locales/om-ET.yml
206
239
  - config/locales/pl.yml
207
240
  - config/locales/pt-BR.yml
208
241
  - config/locales/pt.yml
@@ -211,10 +244,16 @@ files:
211
244
  - config/locales/sk-SK.yml
212
245
  - config/locales/sk.yml
213
246
  - config/locales/sl.yml
247
+ - config/locales/so-SO.yml
214
248
  - config/locales/sr-CS.yml
215
249
  - config/locales/sv.yml
250
+ - config/locales/ti-ER.yml
216
251
  - config/locales/tr-TR.yml
217
252
  - config/locales/uk.yml
253
+ - config/locales/vi-VN.yml
254
+ - config/locales/vi.yml
255
+ - config/locales/zh-CN.yml
256
+ - config/locales/zh-TW.yml
218
257
  - db/migrate/20170118141619_create_debates.rb
219
258
  - db/migrate/20180117100413_add_debate_information_updates.rb
220
259
  - db/migrate/20180118132243_add_author_to_debates.rb
@@ -225,6 +264,11 @@ files:
225
264
  - db/migrate/20181003081235_fix_user_groups_ids_on_debates.rb
226
265
  - db/migrate/20181016132850_add_organization_as_author_to_debates.rb
227
266
  - db/migrate/20200320105918_index_foreign_keys_in_decidim_debates_debates.rb
267
+ - db/migrate/20200703134657_close_debates.rb
268
+ - db/migrate/20200708072042_fix_debates_i18n_fields.rb
269
+ - db/migrate/20200716143929_add_endorsable_to_debates.rb
270
+ - db/migrate/20200827154116_add_commentable_counter_cache_to_debates.rb
271
+ - db/migrate/20200902133452_add_cached_comment_metadata_to_debates.rb
228
272
  - lib/decidim/debates.rb
229
273
  - lib/decidim/debates/admin.rb
230
274
  - lib/decidim/debates/admin_engine.rb
@@ -244,14 +288,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
244
288
  requirements:
245
289
  - - ">="
246
290
  - !ruby/object:Gem::Version
247
- version: '2.5'
291
+ version: '2.6'
248
292
  required_rubygems_version: !ruby/object:Gem::Requirement
249
293
  requirements:
250
294
  - - ">="
251
295
  - !ruby/object:Gem::Version
252
296
  version: '0'
253
297
  requirements: []
254
- rubygems_version: 3.1.2
298
+ rubygems_version: 3.0.3
255
299
  signing_key:
256
300
  specification_version: 4
257
301
  summary: Decidim debates module