decidim-debates 0.23.3 → 0.24.1

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/admin/decidim_debates_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/debates/admin/debates.js.es6 +25 -0
  4. data/app/cells/decidim/debates/debate_activity_cell.rb +13 -5
  5. data/app/cells/decidim/debates/debate_m/open_date.erb +7 -0
  6. data/app/cells/decidim/debates/debate_m_cell.rb +1 -1
  7. data/app/cells/decidim/debates/reported_content/show.erb +4 -0
  8. data/app/cells/decidim/debates/reported_content_cell.rb +13 -0
  9. data/app/commands/decidim/debates/admin/create_debate.rb +3 -2
  10. data/app/commands/decidim/debates/admin/update_debate.rb +2 -1
  11. data/app/commands/decidim/debates/create_debate.rb +1 -0
  12. data/app/commands/decidim/debates/update_debate.rb +2 -1
  13. data/app/controllers/decidim/debates/debates_controller.rb +1 -5
  14. data/app/forms/decidim/debates/admin/close_debate_form.rb +1 -1
  15. data/app/forms/decidim/debates/admin/debate_form.rb +30 -2
  16. data/app/forms/decidim/debates/close_debate_form.rb +1 -1
  17. data/app/forms/decidim/debates/debate_form.rb +17 -0
  18. data/app/models/decidim/debates/debate.rb +11 -1
  19. data/app/permissions/decidim/debates/admin/permissions.rb +8 -1
  20. data/app/views/decidim/debates/admin/debates/_form.html.erb +15 -2
  21. data/app/views/decidim/debates/admin/debates/index.html.erb +10 -2
  22. data/app/views/decidim/debates/debates/_filters.html.erb +1 -1
  23. data/app/views/decidim/debates/debates/_filters_small_view.html.erb +1 -1
  24. data/app/views/decidim/debates/debates/_form.html.erb +6 -0
  25. data/app/views/decidim/debates/debates/show.html.erb +5 -21
  26. data/config/locales/ca.yml +18 -4
  27. data/config/locales/cs.yml +19 -5
  28. data/config/locales/de.yml +18 -4
  29. data/config/locales/en.yml +18 -4
  30. data/config/locales/es-MX.yml +18 -4
  31. data/config/locales/es-PY.yml +18 -4
  32. data/config/locales/es.yml +18 -4
  33. data/config/locales/fi-plain.yml +18 -4
  34. data/config/locales/fi.yml +18 -4
  35. data/config/locales/fr-CA.yml +18 -4
  36. data/config/locales/fr.yml +18 -4
  37. data/config/locales/gl.yml +11 -4
  38. data/config/locales/ja.yml +10 -4
  39. data/config/locales/nl.yml +18 -4
  40. data/config/locales/no.yml +10 -4
  41. data/config/locales/pl.yml +37 -6
  42. data/config/locales/ro-RO.yml +64 -0
  43. data/config/locales/sv.yml +28 -4
  44. data/config/locales/tr-TR.yml +17 -4
  45. data/config/locales/zh-CN.yml +10 -4
  46. data/db/migrate/20200930145546_add_scope_to_debates_debate.rb +7 -0
  47. data/db/migrate/20201126112752_archive_debates.rb +8 -0
  48. data/db/migrate/20210125101735_revert_archive_debates.rb +8 -0
  49. data/db/migrate/20210310120652_add_followable_counter_cache_to_debates.rb +16 -0
  50. data/lib/decidim/api/debate_type.rb +26 -0
  51. data/lib/decidim/api/debates_type.rb +26 -0
  52. data/lib/decidim/debates.rb +1 -0
  53. data/lib/decidim/debates/admin_engine.rb +4 -0
  54. data/lib/decidim/debates/api.rb +8 -0
  55. data/lib/decidim/debates/component.rb +22 -10
  56. data/lib/decidim/debates/test/factories.rb +1 -1
  57. data/lib/decidim/debates/version.rb +1 -1
  58. metadata +24 -14
  59. data/app/types/decidim/debates/debate_type.rb +0 -28
  60. data/app/types/decidim/debates/debates_type.rb +0 -32
@@ -3,6 +3,8 @@ ro:
3
3
  attributes:
4
4
  debate:
5
5
  category_id: Categorie
6
+ closed_at: Închisă la
7
+ conclusions: Concluzii
6
8
  decidim_category_id: Categorie
7
9
  description: Descriere
8
10
  end_time: Se termină la
@@ -12,6 +14,7 @@ ro:
12
14
  title: Titlu
13
15
  user_group_id: Creează o dezbatere ca
14
16
  models:
17
+ decidim/debates/close_debate_event: Dezbatere închisă
15
18
  decidim/debates/create_debate_event: Dezbatere
16
19
  decidim/debates/creation_disabled_event: Dezbateri dezactivate
17
20
  decidim/debates/creation_enabled_event: Dezbateri activate
@@ -26,24 +29,34 @@ ro:
26
29
  debates:
27
30
  actions:
28
31
  create: Crează
32
+ endorse: Aprobare
29
33
  name: Dezbateri
30
34
  settings:
31
35
  global:
32
36
  announcement: Anunţ
33
37
  comments_enabled: Comentarii activate
34
38
  comments_max_length: Lungimea maximă a comentariilor (Leave 0 pentru valoarea implicită)
39
+ scope_id: Domeniu de interes
40
+ scopes_enabled: Domenii de interes activate
35
41
  step:
36
42
  announcement: Anunţ
37
43
  comments_blocked: Comentarii blocate
38
44
  creation_enabled: Crearea de dezbateri de către participanți este activată
45
+ endorsements_blocked: Aprobări blocate
46
+ endorsements_enabled: Aprobări activate
39
47
  debates:
40
48
  actions:
49
+ close: Închide
41
50
  confirm_destroy: Ești sigur?
42
51
  destroy: Ștergere
43
52
  edit: Editare
44
53
  new: '%{name} nou'
45
54
  title: Acțiuni
46
55
  admin:
56
+ debate_closes:
57
+ edit:
58
+ close: Inchide
59
+ title: Închide dezbaterea
47
60
  debates:
48
61
  create:
49
62
  invalid: A existat o problemă la crearea dezbaterii.
@@ -53,6 +66,10 @@ ro:
53
66
  edit:
54
67
  title: Editare dezbatere
55
68
  update: Actualizează dezbaterea
69
+ form:
70
+ debate_type: Tip de dezbatere
71
+ finite: Finit (cu timp de început și sfârșit)
72
+ open: Deschis (fără timp de început sau sfârșit)
56
73
  index:
57
74
  title: Dezbateri
58
75
  new:
@@ -61,14 +78,27 @@ ro:
61
78
  update:
62
79
  invalid: A apărut o problemă la actualizarea acestei dezbateri.
63
80
  success: Dezbatere actualizata cu succes.
81
+ exports:
82
+ comments: Comentarii
64
83
  models:
65
84
  debate:
66
85
  name: Dezbatere
67
86
  admin_log:
68
87
  debate:
88
+ close: "%{user_name} a închis dezbaterea %{resource_name} cu privire la spațiul %{space_name}"
69
89
  create: "%{user_name} a creat dezbaterea %{resource_name} pentru spațiul %{space_name}"
70
90
  update: "%{user_name} a actualizat dezbaterea %{resource_name} cu privire la spațiul %{space_name}"
91
+ debate_m:
92
+ commented_time_ago: Comentat acum %{time}
71
93
  debates:
94
+ close:
95
+ invalid: A existat o problemă la închiderea dezbaterii.
96
+ success: Dezbatere închisă.
97
+ close_debate_modal:
98
+ close: Închide
99
+ description: Care este rezumatul sau concluzia acestei dezbateri?
100
+ send: Închide dezbaterea
101
+ closed: Închis
72
102
  count:
73
103
  debates_count:
74
104
  one: "%{count} dezbatere"
@@ -84,13 +114,22 @@ ro:
84
114
  save: Salvează modificările
85
115
  title: Editare dezbatere
86
116
  filters:
117
+ activity: Activitatea mea
87
118
  all: Toate
88
119
  category: Categorie
89
120
  category_prompt: Selectați o categorie
90
121
  citizens: Cetățeni
122
+ commented: Comentat
123
+ my_debates: Dezbaterile mele
91
124
  official: Oficial
92
125
  origin: Origine
126
+ scope: Domeniu de interes
93
127
  search: Caută
128
+ state: Stare
129
+ state_values:
130
+ closed: Inchide
131
+ open: Deschide
132
+ user_groups: Grupuri
94
133
  filters_small_view:
95
134
  close_modal: Închide fereastra
96
135
  filter: Filtrare
@@ -104,10 +143,25 @@ ro:
104
143
  back: Înapoi
105
144
  create: Crează
106
145
  title: Dezbatere nouă
146
+ orders:
147
+ commented: Cele mai comentate
148
+ label: Dezbateri de ordine
149
+ random: Ordine aleatorie
150
+ recent: Cele mai recente
151
+ updated: Actualizate recent
107
152
  show:
108
153
  back: Înapoi la listă
154
+ close_debate: Închide dezbaterea
109
155
  date: Data
156
+ debate_closed: Inchide
157
+ debate_conclusions_are: 'Dezbaterea s-a încheiat la %{date} cu următoarele concluzii:'
158
+ edit_conclusions: Editați concluziile
110
159
  edit_debate: Editare dezbatere
160
+ groups_count: Grupuri
161
+ last_comment_by: Ultimul comentariu din partea
162
+ no_comments_yet: Încă nu există comentarii
163
+ open: Dezbatere deschisă
164
+ participants_count: Participanţi
111
165
  update:
112
166
  invalid: A apărut o problemă la actualizarea dezbaterii.
113
167
  success: Dezbatere actualizata cu succes.
@@ -119,6 +173,7 @@ ro:
119
173
  versions_list:
120
174
  back_to_resource: Revenire la dezbatere
121
175
  last_activity:
176
+ debate_updated_at_html: "<span>Dezbatere actualizată la %{link}</span>"
122
177
  new_debate_at_html: "<span>Noua dezbatere la %{link}</span>"
123
178
  models:
124
179
  debate:
@@ -154,6 +209,15 @@ ro:
154
209
  email_outro: Ați primit această notificare deoarece urmăriți %{participatory_space_title}. Puteți înceta să primiți notificări urmând linkul anterior.
155
210
  email_subject: Dezbaterile sunt acum disponibile în %{participatory_space_title}
156
211
  notification_title: Acum poți începe <a href="%{resource_path}">noi dezbateri</a> în <a href="%{participatory_space_url}">%{participatory_space_title}</a>
212
+ debate_closed:
213
+ affected_user:
214
+ email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:'
215
+ email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă
216
+ notification_title: Dezbaterea pentru <a href="%{resource_path}">%{resource_title}</a> a fost închisă.
217
+ follower:
218
+ email_intro: 'Dezbaterea pentru "%{resource_title}” a fost închisă. Puteți citi concluziile pe pagina sa:'
219
+ email_subject: Dezbaterea pentru "%{resource_title}” a fost închisă
220
+ notification_title: Dezbaterea pentru <a href="%{resource_path}">%{resource_title}</a> a fost închisă.
157
221
  gamification:
158
222
  badges:
159
223
  commented_debates:
@@ -35,6 +35,8 @@ sv:
35
35
  announcement: Meddelande
36
36
  comments_enabled: Kommentarer aktiverade
37
37
  comments_max_length: Maximal längd för kommentarer (Lämna 0 för standardvärde)
38
+ scope_id: Omfång
39
+ scopes_enabled: Omfång aktiverade
38
40
  step:
39
41
  announcement: Meddelande
40
42
  comments_blocked: Kommentarer blockerade
@@ -63,6 +65,10 @@ sv:
63
65
  edit:
64
66
  title: Redigera debatt
65
67
  update: Uppdatera debatt
68
+ form:
69
+ debate_type: Typ av debatt
70
+ finite: Tidsbegränsad (med start- och sluttider)
71
+ open: Oendlig (inga start- eller slutdatum)
66
72
  index:
67
73
  title: Debatter
68
74
  new:
@@ -71,6 +77,8 @@ sv:
71
77
  update:
72
78
  invalid: Det gick inte att uppdatera debatten.
73
79
  success: Debatten uppdaterades.
80
+ exports:
81
+ comments: Kommentarer
74
82
  models:
75
83
  debate:
76
84
  name: Debatt
@@ -102,13 +110,22 @@ sv:
102
110
  save: Spara ändringar
103
111
  title: Redigera debatt
104
112
  filters:
113
+ activity: Min aktivitet
105
114
  all: Alla
106
115
  category: Kategori
107
116
  category_prompt: Välj en kategori
108
117
  citizens: Medborgare
118
+ commented: Kommenterade
119
+ my_debates: Mina debatter
109
120
  official: Officiell
110
121
  origin: Ursprung
122
+ scope: Omfång
111
123
  search: Sök
124
+ state: Status
125
+ state_values:
126
+ closed: Stängda
127
+ open: Öppna
128
+ user_groups: Grupper
112
129
  filters_small_view:
113
130
  close_modal: Stäng fönstret
114
131
  filter: Filtrera
@@ -139,6 +156,7 @@ sv:
139
156
  groups_count: Grupper
140
157
  last_comment_by: Senaste kommentar av
141
158
  no_comments_yet: Inga kommentarer ännu
159
+ open: Öppna debatt
142
160
  participants_count: Deltagare
143
161
  update:
144
162
  invalid: Det gick inte att uppdatera debatten.
@@ -187,10 +205,16 @@ sv:
187
205
  email_subject: Debatter är nu tillgängliga i %{participatory_space_title}
188
206
  notification_title: Nu kan du starta <a href="%{resource_path}">nya debatter</a> i <a href="%{participatory_space_url}">%{participatory_space_title}</a>
189
207
  debate_closed:
190
- email_intro: 'Debatten "%{resource_title}" stängdes. Du kan läsa slutsatserna från dess sida:'
191
- email_outro: Du har fått det här meddelandet eftersom du följer debatten "%{resource_title}". Du kan sluta följa det föregående länk.
192
- email_subject: Debatten "%{resource_title}" stängdes
193
- notification_title: Debatten <a href="%{resource_path}">%{resource_title}</a> stängdes.
208
+ affected_user:
209
+ email_intro: 'Debatten "%{resource_title}" stängdes. Du kan läsa slutsatserna från dess sida:'
210
+ email_outro: Du har fått det här meddelandet eftersom du följer debatten "%{resource_title}". Du kan sluta följa det på föregående länk.
211
+ email_subject: Debatten "%{resource_title}" stängdes
212
+ notification_title: Debatten <a href="%{resource_path}">%{resource_title}</a> stängdes.
213
+ follower:
214
+ email_intro: 'Debatten "%{resource_title}" stängdes. Du kan läsa slutsatserna från dess sida:'
215
+ email_outro: Du har fått det här meddelandet eftersom du följer debatten "%{resource_title}". Du kan sluta följa det på föregående länk.
216
+ email_subject: Debatten "%{resource_title}" stängdes
217
+ notification_title: Debatten <a href="%{resource_path}">%{resource_title}</a> stängdes.
194
218
  gamification:
195
219
  badges:
196
220
  commented_debates:
@@ -65,6 +65,10 @@ tr:
65
65
  edit:
66
66
  title: Tartışmayı düzenle
67
67
  update: Tartışmayı güncelle
68
+ form:
69
+ debate_type: Tartışma türü
70
+ finite: Sonlu (Başlangıç ​​ve bitiş saatleri ile)
71
+ open: Açık (Başlangıç ​​veya bitiş zamanı yok)
68
72
  index:
69
73
  title: Tartışmalar
70
74
  new:
@@ -73,6 +77,8 @@ tr:
73
77
  update:
74
78
  invalid: Bu tartışmayı güncellerken bir sorun oluştu.
75
79
  success: Tartışma başarıyla güncellendi.
80
+ exports:
81
+ comments: Yorumlar
76
82
  models:
77
83
  debate:
78
84
  name: Tartışma
@@ -152,6 +158,7 @@ tr:
152
158
  groups_count: Gruplar
153
159
  last_comment_by: Son yorum
154
160
  no_comments_yet: Henüz yorum yok
161
+ open: Açık tartışma
155
162
  participants_count: Katılımcılar
156
163
  update:
157
164
  invalid: Bu tartışmayı güncellerken bir sorun oluştu.
@@ -200,10 +207,16 @@ tr:
200
207
  email_subject: Tartışmalar artık %{participatory_space_title} içinde mevcut
201
208
  notification_title: Artık <a href="%{participatory_space_url}">%{participatory_space_title} </a> ’de <a href="%{resource_path}"> yeni tartışmalar </a> başlatabilirsiniz
202
209
  debate_closed:
203
- email_intro: '"%{resource_title}" tartışması kapatıldı. Sonuçları sayfasından okuyabilirsiniz:'
204
- email_outro: Bu bildirimi, "%{resource_title}" tartışmasını takip ettiğiniz için aldınız. Önceki bağlantıdan takibini bırakabilirsiniz.
205
- email_subject: '"%{resource_title}" tartışması kapatıldı'
206
- notification_title: <a href="%{resource_path}">%{resource_title} </a> tartışması kapatıldı.
210
+ affected_user:
211
+ email_intro: '"%{resource_title}" tartışması kapatıldı. Sonuçları sayfasından okuyabilirsiniz:'
212
+ email_outro: Bu bildirimi, "%{resource_title}" tartışmasını takip ettiğiniz için aldınız. Önceki bağlantıdan takibini bırakabilirsiniz.
213
+ email_subject: '"%{resource_title}" tartışması kapatıldı'
214
+ notification_title: <a href="%{resource_path}">%{resource_title} </a> tartışması kapatıldı.
215
+ follower:
216
+ email_intro: '"%{resource_title}" tartışması kapatıldı. Sonuçları sayfasından okuyabilirsiniz:'
217
+ email_outro: Bu bildirimi, "%{resource_title}" tartışmasını takip ettiğiniz için aldınız. Önceki bağlantıdan takibini bırakabilirsiniz.
218
+ email_subject: '"%{resource_title}" tartışması kapatıldı'
219
+ notification_title: <a href="%{resource_path}">%{resource_title} </a> tartışması kapatıldı.
207
220
  gamification:
208
221
  badges:
209
222
  commented_debates:
@@ -195,10 +195,16 @@ zh-CN:
195
195
  email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
196
196
  email_subject: 在 %{participatory_space_title} 中可以使用的辩论
197
197
  debate_closed:
198
- email_intro: '"%{resource_title}"辩论已经关闭。您可以从其页面阅读结论:'
199
- email_outro: 您收到此通知是因为您正在关注"%{resource_title}"的辩论。您可以从上一个链接取消跟进。
200
- email_subject: '"%{resource_title}"辩论已关闭'
201
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 辩论已经结束。
198
+ affected_user:
199
+ email_intro: '"%{resource_title}"辩论已经关闭。您可以从其页面阅读结论:'
200
+ email_outro: 您收到此通知是因为您正在关注"%{resource_title}"的辩论。您可以从上一个链接取消跟进。
201
+ email_subject: '"%{resource_title}"辩论已关闭'
202
+ notification_title: <a href="%{resource_path}">%{resource_title}</a> 辩论已经结束。
203
+ follower:
204
+ email_intro: '"%{resource_title}"辩论已经关闭。您可以从其页面阅读结论:'
205
+ email_outro: 您收到此通知是因为您正在关注"%{resource_title}"的辩论。您可以从上一个链接取消跟进。
206
+ email_subject: '"%{resource_title}"辩论已关闭'
207
+ notification_title: <a href="%{resource_path}">%{resource_title}</a> 辩论已经结束。
202
208
  gamification:
203
209
  badges:
204
210
  commented_debates:
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddScopeToDebatesDebate < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_reference :decidim_debates_debates, :decidim_scope, foreign_key: true, index: true
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ArchiveDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :archived_at, :datetime
6
+ add_index :decidim_debates_debates, :archived_at
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RevertArchiveDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ remove_index :decidim_debates_debates, :archived_at
6
+ remove_column :decidim_debates_debates, :archived_at
7
+ end
8
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddFollowableCounterCacheToDebates < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_debates_debates, :follows_count, :integer, null: false, default: 0, index: true
6
+
7
+ reversible do |dir|
8
+ dir.up do
9
+ Decidim::Debates::Debate.reset_column_information
10
+ Decidim::Debates::Debate.find_each do |record|
11
+ record.class.reset_counters(record.id, :follows)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Debates
5
+ class DebateType < Decidim::Api::Types::BaseObject
6
+ implements Decidim::Core::CategorizableInterface
7
+ implements Decidim::Comments::CommentableInterface
8
+ implements Decidim::Core::AuthorableInterface
9
+ implements Decidim::Core::ScopableInterface
10
+
11
+ description "A debate"
12
+
13
+ field :id, GraphQL::Types::ID, "The internal ID for this debate", null: false
14
+ field :title, Decidim::Core::TranslatedFieldType, "The title for this debate", null: true
15
+ field :description, Decidim::Core::TranslatedFieldType, "The description for this debate", null: true
16
+ field :instructions, Decidim::Core::TranslatedFieldType, "The instructions for this debate", null: true
17
+ field :start_time, Decidim::Core::DateTimeType, "The start time for this debate", null: true
18
+ field :end_time, Decidim::Core::DateTimeType, "The end time for this debate", null: true
19
+ field :image, GraphQL::Types::String, "The image of this debate", null: true
20
+ field :created_at, Decidim::Core::DateTimeType, "When this debate was created", null: true
21
+ field :updated_at, Decidim::Core::DateTimeType, "When this debate was updated", null: true
22
+ field :information_updates, Decidim::Core::TranslatedFieldType, "The information updates for this debate", null: true
23
+ field :reference, GraphQL::Types::String, "The reference for this debate", null: true
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Debates
5
+ class DebatesType < Decidim::Api::Types::BaseObject
6
+ implements Decidim::Core::ComponentInterface
7
+
8
+ graphql_name "Debates"
9
+ description "A debates component of a participatory space."
10
+
11
+ field :debates, Decidim::Debates::DebateType.connection_type, null: true, connection: true
12
+
13
+ def debates
14
+ Debate.where(component: object).includes(:component)
15
+ end
16
+
17
+ field :debate, Decidim::Debates::DebateType, null: true do
18
+ argument :id, GraphQL::Types::ID, required: true
19
+ end
20
+
21
+ def debate(**args)
22
+ Debate.where(component: object).find_by(id: args[:id])
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "decidim/debates/admin"
4
+ require "decidim/debates/api"
4
5
  require "decidim/debates/engine"
5
6
  require "decidim/debates/admin_engine"
6
7
  require "decidim/debates/component"
@@ -21,6 +21,10 @@ module Decidim
21
21
  def load_seed
22
22
  nil
23
23
  end
24
+
25
+ initializer "decidim_debates.admin_assets" do |app|
26
+ app.config.assets.precompile += %w(admin/decidim_debates_manifest.js)
27
+ end
24
28
  end
25
29
  end
26
30
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Debates
5
+ autoload :DebateType, "decidim/api/debate_type"
6
+ autoload :DebatesType, "decidim/api/debates_type"
7
+ end
8
+ end
@@ -50,12 +50,23 @@ Decidim.register_component(:debates) do |component|
50
50
  component.register_resource(:debate) do |resource|
51
51
  resource.model_class_name = "Decidim::Debates::Debate"
52
52
  resource.card = "decidim/debates/debate"
53
+ resource.reported_content_cell = "decidim/debates/reported_content"
53
54
  resource.searchable = true
54
55
  resource.actions = %w(create endorse)
55
56
  end
56
57
 
57
58
  component.actions = %w(create endorse)
58
59
 
60
+ component.exports :comments do |exports|
61
+ exports.collection do |component_instance|
62
+ Decidim::Comments::Export.comments_for_resource(
63
+ Decidim::Debates::Debate, component_instance
64
+ )
65
+ end
66
+
67
+ exports.serializer Decidim::Comments::CommentSerializer
68
+ end
69
+
59
70
  component.seeds do |participatory_space|
60
71
  admin_user = Decidim::User.find_by(
61
72
  organization: participatory_space.organization,
@@ -83,19 +94,20 @@ Decidim.register_component(:debates) do |component|
83
94
  Decidim::Component.create!(params)
84
95
  end
85
96
 
86
- 3.times do
97
+ 5.times do |x|
98
+ finite = x != 2
87
99
  params = {
88
100
  component: component,
89
101
  category: participatory_space.categories.sample,
90
- title: Decidim::Faker::Localized.sentence(2),
102
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
91
103
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
92
- Decidim::Faker::Localized.paragraph(3)
104
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
93
105
  end,
94
106
  instructions: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
95
- Decidim::Faker::Localized.paragraph(3)
107
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
96
108
  end,
97
- start_time: 3.weeks.from_now,
98
- end_time: 3.weeks.from_now + 4.hours,
109
+ start_time: (3.weeks.from_now if finite),
110
+ end_time: (3.weeks.from_now + 4.hours if finite),
99
111
  author: component.organization
100
112
  }
101
113
 
@@ -111,7 +123,7 @@ Decidim.register_component(:debates) do |component|
111
123
 
112
124
  closed_debate = Decidim::Debates::Debate.last
113
125
  closed_debate.conclusions = Decidim::Faker::Localized.wrapped("<p>", "</p>") do
114
- Decidim::Faker::Localized.paragraph(3)
126
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
115
127
  end
116
128
  closed_debate.closed_at = Time.current
117
129
  closed_debate.save!
@@ -119,12 +131,12 @@ Decidim.register_component(:debates) do |component|
119
131
  params = {
120
132
  component: component,
121
133
  category: participatory_space.categories.sample,
122
- title: Decidim::Faker::Localized.sentence(2),
134
+ title: Decidim::Faker::Localized.sentence(word_count: 2),
123
135
  description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
124
- Decidim::Faker::Localized.paragraph(3)
136
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
125
137
  end,
126
138
  instructions: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
127
- Decidim::Faker::Localized.paragraph(3)
139
+ Decidim::Faker::Localized.paragraph(sentence_count: 3)
128
140
  end,
129
141
  author: user
130
142
  }