decidim-debates 0.14.4 → 0.15.0

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_debates_manifest.js +1 -0
  3. data/app/assets/images/decidim/gamification/badges/commented_debates.svg +78 -0
  4. data/app/cells/decidim/debates/debate_activity_cell.rb +15 -0
  5. data/app/commands/decidim/debates/admin/create_debate.rb +10 -4
  6. data/app/commands/decidim/debates/create_debate.rb +8 -1
  7. data/app/models/decidim/debates/debate.rb +1 -1
  8. data/app/permissions/decidim/debates/permissions.rb +1 -1
  9. data/app/presenters/decidim/debates/official_author_presenter.rb +4 -0
  10. data/app/services/decidim/debates/debate_search.rb +4 -5
  11. data/app/views/decidim/debates/debates/index.html.erb +1 -1
  12. data/app/views/decidim/debates/debates/new.html.erb +2 -2
  13. data/config/locales/ca.yml +14 -0
  14. data/config/locales/de.yml +14 -0
  15. data/config/locales/en.yml +14 -0
  16. data/config/locales/es-PY.yml +14 -0
  17. data/config/locales/es.yml +14 -0
  18. data/config/locales/eu.yml +14 -0
  19. data/config/locales/fi.yml +14 -0
  20. data/config/locales/fr.yml +14 -0
  21. data/config/locales/gl.yml +14 -0
  22. data/config/locales/hu.yml +14 -0
  23. data/config/locales/it.yml +14 -0
  24. data/config/locales/nl.yml +14 -0
  25. data/config/locales/pl.yml +14 -0
  26. data/config/locales/pt-BR.yml +14 -0
  27. data/config/locales/pt.yml +14 -0
  28. data/config/locales/sv.yml +14 -0
  29. data/db/migrate/20181003081235_fix_user_groups_ids_on_debates.rb +16 -0
  30. data/db/migrate/20181016132850_add_organization_as_author_to_debates.rb +31 -0
  31. data/lib/decidim/debates/component.rb +26 -4
  32. data/lib/decidim/debates/engine.rb +43 -0
  33. data/lib/decidim/debates/test/factories.rb +5 -4
  34. data/lib/decidim/debates/version.rb +1 -1
  35. metadata +16 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cffc575926618ac267220181470ce59207a7d1103360f01eaa6d09864956502
4
- data.tar.gz: d016a025c9b68660163048dec4635a1f5e1328d30b63ae0a401bc96d6c9a827c
3
+ metadata.gz: 15fb23d5efef39f3bff5c41225a7da4adef6c23393a8cbab88aa101e81c08849
4
+ data.tar.gz: f570167203c560fb84ca0ce63bde45f2f776ad301792731adf8d04b92f10ca5b
5
5
  SHA512:
6
- metadata.gz: ca0c76948081cc2ec84e7bb3d7c01db5347de31f75b3eba73e5c7d96c725ebb58da0467eba214aad9d76f178b1f9525ff6ed0f558a1e09a066995b2685cd1dd7
7
- data.tar.gz: 3b83bfef030e4f41ef0d9990e17335cd27afe7ec1817e8f00dc9019105e944813702b6129eb4eeaeb9f7c0ef43391e658fe4aa7943218774e68a2144269fd9e8
6
+ metadata.gz: 232d5182b8b0b3be5d6e0333a8854e7cd2853a1a567ea8368317c0479635592fc0a4fa05945b35635fc69b58b8c8e2a0abc853fa580f60908816bb744af45fcd
7
+ data.tar.gz: 6878ba51bd7922474acf629612a99081c1f51b6fb947bdee528fc987e6ef214e6eb4560d420dca7019a8846223795873246f9a5bdd4a5bfdb8464dd32c5d99b2
@@ -0,0 +1 @@
1
+ //= link_tree ../images/decidim
@@ -0,0 +1,78 @@
1
+ <svg version="1.1" id="debates-svg"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
4
+ y="0px" width="1080px" height="1080px" viewBox="0 0 1080 1080" enable-background="new 0 0 1080 1080" xml:space="preserve">
5
+ <g id="debates" class="stroke-primary">
6
+ <g id="bubble">
7
+ <path fill="none" stroke="#31536E" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
8
+ M787.237,226.039H282.916c-21.99,0-39.815,17.825-39.815,39.815v18.882l-97.325,60.747h97.325
9
+ c0,21.989,17.826,39.815,39.815,39.815h504.321c21.989,0,39.814-17.826,39.814-39.815v-79.629
10
+ C827.052,243.864,809.227,226.039,787.237,226.039z"/>
11
+ <circle class="fill-primary" id="_x35_0-pct_17_" fill="#31536E" fill-opacity="0.5" cx="419.45" cy="304.983" r="28.217"/>
12
+ <circle class="fill-primary" id="_x35_0-pct_16_" fill="#31536E" fill-opacity="0.5" cx="525.623" cy="304.983" r="28.217"/>
13
+ <circle class="fill-primary" id="_x35_0-pct_15_" fill="#31536E" fill-opacity="0.5" cx="631.796" cy="304.983" r="28.217"/>
14
+ </g>
15
+ <g id="bubble_1_">
16
+ <path class="fill-primary" id="_x32_5-pct_16_" fill="#31536E" fill-opacity="0.25" d="M787.237,690.545H282.916c-25.857,0-46.894,21.036-46.894,46.894
17
+ v14.956l-93.995,58.67c-2.68,1.672-3.926,4.916-3.057,7.953c0.87,3.035,3.646,5.129,6.805,5.129h90.78
18
+ c3.422,22.511,22.908,39.814,46.36,39.814h504.321c25.856,0,46.892-21.036,46.892-46.894v-79.629
19
+ C834.129,711.581,813.094,690.545,787.237,690.545z"/>
20
+ <circle class="fill-primary" id="_x35_0-pct_12_" fill="#31536E" fill-opacity="0.5" cx="419.45" cy="776.567" r="28.217"/>
21
+ <circle class="fill-primary" id="_x35_0-pct_13_" fill="#31536E" fill-opacity="0.5" cx="525.623" cy="776.567" r="28.217"/>
22
+ <circle class="fill-primary" id="_x35_0-pct_14_" fill="#31536E" fill-opacity="0.5" cx="631.796" cy="776.567" r="28.217"/>
23
+ </g>
24
+ <g id="bubble_black">
25
+ <path class="fill-primary" fill="#31536E" d="M937.098,575.391l-101.198-66.172v-15.054c0-25.757-13.768-38.968-39.814-38.968H291.763
26
+ c-26.82,0-53.971,13.121-53.971,38.968v79.63c0,25.936,28.246,54.817,53.971,54.817h504.322c23.02,0,42.802-17.695,46.333-39.814
27
+ h90.806c3.131,0,5.89-2.26,6.784-5.26C940.902,580.536,939.719,577.104,937.098,575.391z"/>
28
+ <circle fill="#FFFFFF" fill-opacity="0.5" cx="641.854" cy="541.5" r="28.217"/>
29
+ <circle fill="#FFFFFF" fill-opacity="0.5" cx="535.682" cy="541.5" r="28.217"/>
30
+ <circle fill="#FFFFFF" fill-opacity="0.5" cx="429.509" cy="541.5" r="28.217"/>
31
+ </g>
32
+ <g id="stars_9" class="stars">
33
+ <path fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
34
+ M731.204,149.355c0-14.688-18.667-35.355-35.354-35.355c15.354,0,35.354-20.333,35.354-35.355
35
+ c0,15.022,16.666,35.355,35.354,35.355C747.537,114,731.204,134.667,731.204,149.355z"/>
36
+ <g>
37
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="937.586" cy="323.411" r="13.5"/>
38
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="921.087" y1="306.676" x2="899.874" y2="285.463"/>
39
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="955.028" y1="340.617" x2="976.241" y2="361.83"/>
40
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="954.321" y1="307.383" x2="975.534" y2="286.17"/>
41
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="921.087" y1="340.617" x2="899.874" y2="361.83"/>
42
+ </g>
43
+ <g>
44
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="169.816" y1="626.094" x2="143.654" y2="652.258"/>
45
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="134.462" y1="661.449" x2="108.299" y2="687.613"/>
46
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="169.109" y1="687.613" x2="142.946" y2="661.449"/>
47
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="133.755" y1="652.258" x2="107.592" y2="626.094"/>
48
+ </g>
49
+ <path fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
50
+ M559.419,965.473c0,0-21.565,4.034-26.516,8.981c-4.948,4.948-8.982,26.517-8.982,26.517s-4.034-21.566-8.982-26.517
51
+ c-4.948-4.947-26.516-8.981-26.516-8.981s22.077-4.547,26.516-8.983c4.438-4.438,8.982-26.515,8.982-26.515
52
+ s4.034,21.564,8.982,26.515C537.852,961.438,559.419,965.473,559.419,965.473z"/>
53
+ <g>
54
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="949.705" cy="649.667" r="16.604"/>
55
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="913.805" cy="649.667" r="6.433"/>
56
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="949.705" cy="685.568" r="6.432"/>
57
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="985.605" cy="649.667" r="6.433"/>
58
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="949.705" cy="613.766" r="6.432"/>
59
+ </g>
60
+ <g>
61
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="314.95" y1="78.973" x2="369.854" y2="133.878"/>
62
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="369.854" y1="78.973" x2="314.95" y2="133.878"/>
63
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="324.204" y1="106" x2="297.204" y2="106"/>
64
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="362.204" y1="106" x2="389.204" y2="106"/>
65
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="343.204" y1="125" x2="343.204" y2="152"/>
66
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="343.204" y1="87" x2="343.204" y2="60"/>
67
+ </g>
68
+ <g>
69
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="106.204" y1="356" x2="106.204" y2="435"/>
70
+ <line fill="none" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="145.204" y1="396" x2="66.204" y2="396"/>
71
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="86.204" cy="415.5" r="7.039"/>
72
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="86.204" cy="375.5" r="7.039"/>
73
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="126.204" cy="415.5" r="7.039"/>
74
+ <circle fill="#FFD92B" stroke="#31536E" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="126.204" cy="375.5" r="7.039"/>
75
+ </g>
76
+ </g>
77
+ </g>
78
+ </svg>
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Debates
5
+ # A cell to display when Debate has been created.
6
+ class DebateActivityCell < ActivityCell
7
+ def title
8
+ I18n.t(
9
+ "decidim.debates.last_activity.new_debate_at_html",
10
+ link: participatory_space_link
11
+ )
12
+ end
13
+ end
14
+ end
15
+ end
@@ -28,9 +28,7 @@ module Decidim
28
28
  attr_reader :debate, :form
29
29
 
30
30
  def create_debate
31
- @debate = Decidim.traceability.create!(
32
- Debate,
33
- form.current_user,
31
+ params = {
34
32
  category: form.category,
35
33
  title: form.title,
36
34
  description: form.description,
@@ -38,7 +36,15 @@ module Decidim
38
36
  instructions: form.instructions,
39
37
  end_time: form.end_time,
40
38
  start_time: form.start_time,
41
- component: form.current_component
39
+ component: form.current_component,
40
+ author: form.current_organization
41
+ }
42
+
43
+ @debate = Decidim.traceability.create!(
44
+ Debate,
45
+ form.current_user,
46
+ params,
47
+ visibility: "all"
42
48
  )
43
49
  end
44
50
 
@@ -37,13 +37,20 @@ module Decidim
37
37
  end
38
38
 
39
39
  def create_debate
40
- @debate = Debate.create!(
40
+ params = {
41
41
  author: form.current_user,
42
42
  decidim_user_group_id: form.user_group_id,
43
43
  category: form.category,
44
44
  title: i18n_field(form.title),
45
45
  description: i18n_field(form.description),
46
46
  component: form.current_component
47
+ }
48
+
49
+ @debate = Decidim.traceability.create!(
50
+ Debate,
51
+ form.current_user,
52
+ params,
53
+ visibility: "public-only"
47
54
  )
48
55
  end
49
56
 
@@ -31,7 +31,7 @@ module Decidim
31
31
  #
32
32
  # Returns a boolean.
33
33
  def official?
34
- author.blank?
34
+ author.is_a?(Decidim::Organization)
35
35
  end
36
36
 
37
37
  # Public: Overrides the `reported_content_url` Reportable concern method.
@@ -24,7 +24,7 @@ module Decidim
24
24
 
25
25
  def can_create_debate?
26
26
  authorized?(:create) &&
27
- current_settings&.creation_enabled?
27
+ current_settings&.creation_enabled? && component.participatory_space.can_participate?(user)
28
28
  end
29
29
  end
30
30
  end
@@ -29,6 +29,10 @@ module Decidim
29
29
  def deleted?
30
30
  false
31
31
  end
32
+
33
+ def can_be_contacted?
34
+ false
35
+ end
32
36
  end
33
37
  end
34
38
  end
@@ -18,17 +18,16 @@ module Decidim
18
18
  # into a `text` type so that we can search.
19
19
  def search_search_text
20
20
  query
21
- .where("title::text ILIKE ?", "%#{search_text}%")
22
- .or(query.where("description::text ILIKE ?", "%#{search_text}%"))
21
+ .where("decidim_debates_debates.title::text ILIKE ?", "%#{search_text}%")
22
+ .or(query.where("decidim_debates_debates.description::text ILIKE ?", "%#{search_text}%"))
23
23
  end
24
24
 
25
25
  # Handle the origin filter
26
- # The 'official' debates don't have an author ID
27
26
  def search_origin
28
27
  if origin == "official"
29
- query.where(decidim_author_id: nil)
28
+ query.where(author: component.organization)
30
29
  elsif origin == "citizens"
31
- query.where.not(decidim_author_id: nil)
30
+ query.where.not(decidim_author_type: "Decidim::Organization")
32
31
  else # Assume 'all'
33
32
  query
34
33
  end
@@ -5,7 +5,7 @@
5
5
  <h2 id="debates-count" class="title-action__title section-heading">
6
6
  <%= render partial: "count" %>
7
7
  </h2>
8
- <% if current_settings.creation_enabled? %>
8
+ <% if current_settings.creation_enabled? && current_component.participatory_space.can_participate?(current_user) %>
9
9
  <%= action_authorized_link_to :create, new_debate_path, class: "title-action__action button small hollow", data: { "redirect_url" => new_debate_path } do %>
10
10
  <%= t(".new_debate") %>
11
11
  <%= icon "plus" %>
@@ -25,9 +25,9 @@
25
25
  </div>
26
26
  <% end %>
27
27
 
28
- <% if current_user.user_groups.verified.any? %>
28
+ <% if Decidim::UserGroups::ManageableUserGroups.for(current_user).verified.any? %>
29
29
  <div class="field">
30
- <%= form.select :user_group_id, current_user.user_groups.verified.map{|g| [g.name, g.id]}, prompt: current_user.name %>
30
+ <%= form.select :user_group_id, Decidim::UserGroups::ManageableUserGroups.for(current_user).verified.map{|g| [g.name, g.id]}, prompt: current_user.name %>
31
31
  </div>
32
32
  <% end %>
33
33
 
@@ -100,6 +100,8 @@ ca:
100
100
  close_window: Tanca la finestra
101
101
  share: Compartir
102
102
  share_link: Comparteix l'enllaç
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nou debat a %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ ca:
132
134
  email_outro: Has rebut aquesta notificació perquè estàs seguint %{participatory_space_title}. Pots deixar de rebre notificacions seguint l'enllaç anterior.
133
135
  email_subject: Els debats ja estan disponibles a %{participatory_space_title}
134
136
  notification_title: Ja pots començar <a href="%{resource_path}">nous debats</a> a <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Tria un debat obert per participar
142
+ description: Aquest distintiu es desbloqueja quan participes activament en els diferents debats deixant els teus comentaris.
143
+ description_another: Aquest usuari ha participat en %{score} debats.
144
+ description_own: Has participat en %{score} debats.
145
+ name: Debats
146
+ next_level_in: Participa en %{score} debats més per arribar al següent nivell!
147
+ unearned_another: Aquest usuari encara no ha participat en cap debat.
148
+ unearned_own: No has participat a cap debat encara.
@@ -100,6 +100,8 @@ de:
100
100
  close_window: Fenster schließen
101
101
  share: Aktie
102
102
  share_link: Einen Link teilen
103
+ last_activity:
104
+ new_debate_at_html: "<span>Neue Debatte bei %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -134,3 +136,15 @@ de:
134
136
  email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title}. Sie können nach dem vorherigen Link keine Benachrichtigungen mehr erhalten.
135
137
  email_subject: Debatten jetzt in %{participatory_space_title}verfügbar
136
138
  notification_title: Sie können jetzt <a href="%{resource_path}">neue Debatten</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a>starten
139
+ gamification:
140
+ badges:
141
+ commented_debates:
142
+ conditions:
143
+ - Wählen Sie eine offene Debatte, an der Sie teilnehmen können
144
+ description: Dieses Abzeichen wird gewährt, wenn Sie aktiv an den verschiedenen Debatten teilnehmen, indem Sie Ihre Kommentare hinterlassen.
145
+ description_another: Dieser Benutzer hat an %{score} Debatten teilgenommen.
146
+ description_own: Sie haben an %{score} Debatten teilgenommen.
147
+ name: Debatten
148
+ next_level_in: Nimm an %{score} weiteren Debatten teil, um das nächste Level zu erreichen!
149
+ unearned_another: Dieser Benutzer hat noch keine Diskussionen geführt.
150
+ unearned_own: Sie haben bereits an Debatten teilgenommen.
@@ -101,6 +101,8 @@ en:
101
101
  close_window: Close window
102
102
  share: Share
103
103
  share_link: Share link
104
+ last_activity:
105
+ new_debate_at_html: "<span>New debate at %{link}</span>"
104
106
  models:
105
107
  debate:
106
108
  fields:
@@ -135,3 +137,15 @@ en:
135
137
  email_outro: You have received this notification because you are following %{participatory_space_title}. You can stop receiving notifications following the previous link.
136
138
  email_subject: Debates now available in %{participatory_space_title}
137
139
  notification_title: You can now start <a href="%{resource_path}">new debates</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a>
140
+ gamification:
141
+ badges:
142
+ commented_debates:
143
+ conditions:
144
+ - Choose an open debate to take part in
145
+ description: This badge is granted when you actively participate in the different debates by leaving your comments.
146
+ description_another: This user has participated in %{score} debates.
147
+ description_own: You have participated in %{score} debates.
148
+ name: Debates
149
+ next_level_in: Participate in %{score} more debates to reach the next level!
150
+ unearned_another: This user hasn't participated in any debate yet.
151
+ unearned_own: You haven't participated in any debates yet.
@@ -100,6 +100,8 @@ es-PY:
100
100
  close_window: Cerrar ventana
101
101
  share: Compartir
102
102
  share_link: Compartir enlace
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nuevo debate en %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ es-PY:
132
134
  email_outro: Has recibido esta notificación porque estás siguiendo %{participatory_space_title}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
133
135
  email_subject: Debates ahora disponibles en %{participatory_space_title}
134
136
  notification_title: Ahora puedes crear <a href="%{resource_path}">nuevos debates</a> en <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Elige un debate abierto para participar.
142
+ description: Este distintivo se otorga cuando usted participa activamente en los diferentes debates dejando sus comentarios.
143
+ description_another: Este usuario ha participado en %{score} debates.
144
+ description_own: Usted ha participado en %{score} debates.
145
+ name: Debates
146
+ next_level_in: '¡Participe en %{score} debates más para alcanzar el siguiente nivel!'
147
+ unearned_another: Este usuario aún no ha participado en ningún debate.
148
+ unearned_own: Has participado en cualquier debate aún.
@@ -100,6 +100,8 @@ es:
100
100
  close_window: Cerrar ventana
101
101
  share: Compartir
102
102
  share_link: Compartir enlace
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nuevo debate en %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ es:
132
134
  email_outro: Has recibido esta notificación porque estás siguiendo %{participatory_space_title}. Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
133
135
  email_subject: Debates ahora disponibles en %{participatory_space_title}
134
136
  notification_title: Ahora puedes crear <a href="%{resource_path}">nuevos debates</a> en <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Elige un debate abierto para participar
142
+ description: Este distintivo se otorga cuando participes activamente en los diferentes debates dejando tus comentarios.
143
+ description_another: Este usuario ha participado en %{score} debates.
144
+ description_own: Has participado en %{score} debates.
145
+ name: Debates
146
+ next_level_in: '¡Participa en %{score} debates más para alcanzar el siguiente nivel!'
147
+ unearned_another: Este usuario aún no ha participado en ningún debate.
148
+ unearned_own: Aún no has participado en ningún debate.
@@ -100,6 +100,8 @@ eu:
100
100
  close_window: Itxi leihoa
101
101
  share: Share
102
102
  share_link: Partekatu esteka
103
+ last_activity:
104
+ new_debate_at_html: "<span> %{link}</span>eztabaida berria"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ eu:
132
134
  email_outro: Jakinarazpena jaso duzu %{participatory_space_title}jarraituz gero. Aurreko esteka jarraituz jakinarazpenak jasotzeari uztea erabaki dezakezu.
133
135
  email_subject: Debates orain eskuragarri %{participatory_space_title}
134
136
  notification_title: Orain <a href="%{resource_path}">eztabaida berriak hasi ditzakezu</a> <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Aukeratu eztabaida irekia parte hartzeko
142
+ description: Txartel hau debekuei parte hartzeko modu aktiboan parte hartuz ematen da, zure iruzkinak utziz.
143
+ description_another: Erabiltzaile honek %{score} eztabaidatan parte hartu du.
144
+ description_own: '%{score} eztabaidetan parte hartu duzu.'
145
+ name: eztabaidak
146
+ next_level_in: Parte hartu %{score} eztabaidagai gehiago hurrengo mailara iristeko!
147
+ unearned_another: Erabiltzaile honek eztabaida batean parte hartu du oraindik.
148
+ unearned_own: Oraindik eztabaidetan parte hartu duzu.
@@ -100,6 +100,8 @@ fi:
100
100
  close_window: Sulje ikkuna
101
101
  share: Jaa
102
102
  share_link: Jaa linkki
103
+ last_activity:
104
+ new_debate_at_html: "<span>Uusi keskustelu osoitteessa %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -133,3 +135,15 @@ fi:
133
135
  email_outro: Tämä ilmoitus on lähetetty sinulle, koska seuraat %{participatory_space_title}. Voit lopettaa ilmoitusten vastaanottamisen edellä esitetyn linkin kautta.
134
136
  email_subject: Keskusteluja nyt käyettävissä kohdassa %{participatory_space_title}
135
137
  notification_title: Voit nyt aloittaa <a href="%{resource_path}">uusia keskusteluja</a> kohteessa <a href="%{participatory_space_url}">%{participatory_space_title}</a>
138
+ gamification:
139
+ badges:
140
+ commented_debates:
141
+ conditions:
142
+ - Valitse avoin keskustelu ja osallistu siihen
143
+ description: Tämä kunniamerkki myönnetään, kun osallistut aktiivisesti eri keskusteluihin.
144
+ description_another: Tämä käyttäjä on osallistunut %{score} keskusteluun.
145
+ description_own: Olet osallistunut %{score} keskusteluun.
146
+ name: Keskustelut
147
+ next_level_in: Osallistu vielä %{score} keskusteluun päästäksesi seuraavalle tasolle!
148
+ unearned_another: Tämä käyttäjä ei ole vielä osallistunut yhteenkään keskusteluun.
149
+ unearned_own: Et ole vielä osallistunut yhteenkään keskusteluun.
@@ -100,6 +100,8 @@ fr:
100
100
  close_window: Fermer la fenêtre
101
101
  share: Partager
102
102
  share_link: Lien de partage
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nouveau débat à %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ fr:
132
134
  email_outro: Vous avez reçu cette notification, car vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent.
133
135
  email_subject: Débats maintenant disponibles sur %{participatory_space_title}
134
136
  notification_title: Vous pouvez maintenant initier <a href="%{resource_path}">nouveaux débats</a> dans <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Choisissez un débat ouvert pour participer à
142
+ description: Ce badge est attribué lorsque vous participez activement aux différents débats en laissant vos commentaires.
143
+ description_another: Cet utilisateur a participé à %{score} débats.
144
+ description_own: Vous avez participé à %{score} débats.
145
+ name: Des débats
146
+ next_level_in: Participez à %{score} autres débats pour atteindre le prochain niveau!
147
+ unearned_another: Cet utilisateur n'a encore participé à aucun débat.
148
+ unearned_own: Vous avez déjà participé à des débats.
@@ -100,6 +100,8 @@ gl:
100
100
  close_window: Pechar ventá
101
101
  share: Comparte
102
102
  share_link: Compartir a ligazón
103
+ last_activity:
104
+ new_debate_at_html: "<span>Novo debate en %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ gl:
132
134
  email_outro: Recibiches esta notificación porque estás seguindo %{participatory_space_title}. Podes deixar de recibir notificacións seguindo a ligazón anterior.
133
135
  email_subject: Os debates agora están dispoñibles en %{participatory_space_title}
134
136
  notification_title: Agora podes comezar <a href="%{resource_path}">novos debates</a> en <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Escolle un debate aberto para participar
142
+ description: Este distintivo é concedido cando participas activamente nos diferentes debates deixando os teus comentarios.
143
+ description_another: Este usuario participou en %{score} debates.
144
+ description_own: Participaches en %{score} debates.
145
+ name: Debates
146
+ next_level_in: '¡Participa en %{score} debates máis para alcanzar o seguinte nivel!'
147
+ unearned_another: Este usuario aínda non participou en ningún debate.
148
+ unearned_own: Participaches nos debates aínda.
@@ -100,6 +100,8 @@ hu:
100
100
  close_window: Ablak bezárása
101
101
  share: Megosztás
102
102
  share_link: Link megosztása
103
+ last_activity:
104
+ new_debate_at_html: "<span>Új vita %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -133,3 +135,15 @@ hu:
133
135
  email_outro: 'Ezt az értesítést azért kaptad, mert ezt követed: "%{participatory_space_title}". Az értesítéseket a következő linkre kattintva kapcsolhatod ki.'
134
136
  email_subject: 'Viták létrehozása lehetséges itt: %{participatory_space_title}'
135
137
  notification_title: a href="%{resource_path}">Kezd új vitát</a> a(z) <a href="%{participatory_space_url}">%{participatory_space_title}</a> helyen
138
+ gamification:
139
+ badges:
140
+ commented_debates:
141
+ conditions:
142
+ - Válasszon nyílt vitát, hogy részt vegyen
143
+ description: Ezt a jelvényt akkor kapja meg, ha a különböző vitákban aktívan részt vesz az észrevételeinek elhagyásával.
144
+ description_another: Ez a felhasználó %{score} vitában vett részt.
145
+ description_own: Vettél részt %{score} vitában.
146
+ name: viták
147
+ next_level_in: Vegyen részt még %{score} vitában, hogy elérje a következő szintet!
148
+ unearned_another: Ez a felhasználó még nem vett részt vitában.
149
+ unearned_own: Vannak résztvevők a vitákban.
@@ -100,6 +100,8 @@ it:
100
100
  close_window: Chiudi la finestra
101
101
  share: Condividere
102
102
  share_link: Condividi il link
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nuovo dibattito al %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ it:
132
134
  email_outro: Hai ricevuto questa notifica perché stai seguendo %{participatory_space_title}. È possibile interrompere la ricezione di notifiche seguendo il collegamento precedente.
133
135
  email_subject: Discussioni ora disponibili in %{participatory_space_title}
134
136
  notification_title: Ora puoi iniziare <a href="%{resource_path}">nuovi dibattiti</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Scegli un dibattito aperto a cui partecipare
142
+ description: Questo badge è concesso quando partecipi attivamente ai diversi dibattiti lasciando i tuoi commenti.
143
+ description_another: Questo utente ha partecipato a %{score} dibattiti.
144
+ description_own: Hai partecipato a %{score} dibattiti.
145
+ name: dibattiti
146
+ next_level_in: Partecipa a %{score} altri dibattiti per raggiungere il livello successivo!
147
+ unearned_another: Questo utente non ha ancora partecipato a nessun dibattito.
148
+ unearned_own: Hai partecipato a qualche dibattito ancora.
@@ -100,6 +100,8 @@ nl:
100
100
  close_window: Sluit venster
101
101
  share: Delen
102
102
  share_link: Link delen
103
+ last_activity:
104
+ new_debate_at_html: "<span>Nieuw debat op %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -133,3 +135,15 @@ nl:
133
135
  email_outro: Je hebt deze melding ontvangen omdat je %{participatory_space_title} volgt. Je kan de meldingen uitschakelen door te klikken op de voorgaande link.
134
136
  email_subject: Debatten zijn nu beschikbaar in %{participatory_space_title}
135
137
  notification_title: Je kan nu beginnen met <a href="%{resource_path}">nieuwe debatten</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a>
138
+ gamification:
139
+ badges:
140
+ commented_debates:
141
+ conditions:
142
+ - Kies een open debat om deel te nemen
143
+ description: Deze badge wordt toegekend wanneer u actief deelneemt aan de verschillende debatten door uw opmerkingen achter te laten.
144
+ description_another: Deze gebruiker heeft deelgenomen aan %{score} debatten.
145
+ description_own: Je hebt deelgenomen aan %{score} debatten.
146
+ name: debatten
147
+ next_level_in: Neem deel aan %{score} meer debatten om het volgende niveau te bereiken!
148
+ unearned_another: Deze gebruiker heeft nog geen deelgenomen aan een debat.
149
+ unearned_own: Je hebt nog deelgenomen aan debatten.
@@ -104,6 +104,8 @@ pl:
104
104
  close_window: Zamknij okno
105
105
  share: Dzielić
106
106
  share_link: Udostępnij link
107
+ last_activity:
108
+ new_debate_at_html: "<span>Nowa debata na %{link}</span>"
107
109
  models:
108
110
  debate:
109
111
  fields:
@@ -136,3 +138,15 @@ pl:
136
138
  email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po poprzednim linku.
137
139
  email_subject: Debaty są teraz dostępne w %{participatory_space_title}
138
140
  notification_title: Możesz teraz uruchomić <a href="%{resource_path}">nowych debat</a> w <a href="%{participatory_space_url}">%{participatory_space_title}</a>
141
+ gamification:
142
+ badges:
143
+ commented_debates:
144
+ conditions:
145
+ - Wybierz otwartą debatę, w której możesz wziąć udział
146
+ description: Ta odznaka jest przyznawana, gdy aktywnie uczestniczysz w różnych debatach, pozostawiając komentarze.
147
+ description_another: Ten użytkownik uczestniczył w %{score} debatach.
148
+ description_own: Brałeś udział w %{score} debatach.
149
+ name: Debaty
150
+ next_level_in: Weź udział w %{score} kolejnych debatach, aby przejść do następnego poziomu!
151
+ unearned_another: Ten użytkownik nie uczestniczył jeszcze w żadnej debacie.
152
+ unearned_own: Brałeś już udział w jakichkolwiek debatach.
@@ -100,6 +100,8 @@ pt-BR:
100
100
  close_window: Fechar janela
101
101
  share: Compartilhar
102
102
  share_link: Compartilhar link
103
+ last_activity:
104
+ new_debate_at_html: "<span>Novo debate em %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ pt-BR:
132
134
  email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior.
133
135
  email_subject: Debates agora disponíveis em %{participatory_space_title}
134
136
  notification_title: Agora você pode começar <a href="%{resource_path}">novos debates</a> em <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Escolha um debate aberto para participar
142
+ description: Este emblema é concedido quando você participa ativamente nos debates diferentes deixando seus comentários.
143
+ description_another: Este usuário participou em %{score} debates.
144
+ description_own: Você participou de %{score} debates.
145
+ name: Debates
146
+ next_level_in: Participe em mais %{score} debates para alcançar o próximo nível!
147
+ unearned_another: Este usuário ainda não participou de nenhum debate.
148
+ unearned_own: Você participou de algum debate ainda.
@@ -100,6 +100,8 @@ pt:
100
100
  close_window: Janela fechada
101
101
  share: Compartilhar
102
102
  share_link: Compartilhar link
103
+ last_activity:
104
+ new_debate_at_html: "<span>Novo debate em %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ pt:
132
134
  email_outro: Você recebeu esta notificação porque está seguindo %{participatory_space_title}. Você pode parar de receber notificações após o link anterior.
133
135
  email_subject: Debates agora disponíveis em %{participatory_space_title}
134
136
  notification_title: Agora você pode começar <a href="%{resource_path}">novos debates</a> em <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Escolha um debate aberto para participar
142
+ description: Este crachá é concedido quando você participa ativamente dos diferentes debates deixando seus comentários.
143
+ description_another: Este usuário participou em %{score} debates.
144
+ description_own: Você participou de %{score} debates.
145
+ name: Debates
146
+ next_level_in: Participe em mais %{score} debates para alcançar o próximo nível!
147
+ unearned_another: Este usuário ainda não participou de nenhum debate.
148
+ unearned_own: Você participou de algum debate ainda.
@@ -100,6 +100,8 @@ sv:
100
100
  close_window: Stäng fönstret
101
101
  share: Dela
102
102
  share_link: Dela länk
103
+ last_activity:
104
+ new_debate_at_html: "<span>Ny debatt på %{link}</span>"
103
105
  models:
104
106
  debate:
105
107
  fields:
@@ -132,3 +134,15 @@ sv:
132
134
  email_outro: Du har fått den här notisen eftersom du följer %{participatory_space_title}. Du kan sluta ta emot notiser på föregående länk.
133
135
  email_subject: Debatter finns nu i %{participatory_space_title}
134
136
  notification_title: Nu kan du starta <a href="%{resource_path}">nya debatter</a> i <a href="%{participatory_space_url}">%{participatory_space_title}</a>
137
+ gamification:
138
+ badges:
139
+ commented_debates:
140
+ conditions:
141
+ - Välj en öppen debatt att delta i
142
+ description: Detta märke beviljas när du aktivt deltar i de olika debatterna genom att lämna dina kommentarer.
143
+ description_another: Den här användaren har deltagit i %{score} debatter.
144
+ description_own: Du har deltagit i %{score} debatter.
145
+ name: debatter
146
+ next_level_in: Delta i %{score} fler debatter för att nå nästa nivå!
147
+ unearned_another: Den här användaren har inte deltagit i någon debatt än.
148
+ unearned_own: Du har inte deltagit i några debatter än.
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixUserGroupsIdsOnDebates < ActiveRecord::Migration[5.2]
4
+ # rubocop:disable Rails/SkipsModelValidations
5
+ def change
6
+ Decidim::UserGroup.find_each do |group|
7
+ old_id = group.extended_data["old_user_group_id"]
8
+ next unless old_id
9
+
10
+ Decidim::Debates::Debate
11
+ .where(decidim_user_group_id: old_id)
12
+ .update_all(decidim_user_group_id: group.id)
13
+ end
14
+ end
15
+ # rubocop:enable Rails/SkipsModelValidations
16
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddOrganizationAsAuthorToDebates < ActiveRecord::Migration[5.2]
4
+ class Debate < ApplicationRecord
5
+ self.table_name = :decidim_debates_debates
6
+ include Decidim::HasComponent
7
+ end
8
+ class User < ApplicationRecord
9
+ self.table_name = :decidim_users
10
+ end
11
+ def change
12
+ add_column :decidim_debates_debates, :decidim_author_type, :string
13
+
14
+ Debate.reset_column_information
15
+ Debate.find_each do |debate|
16
+ if debate.decidim_author_id.present?
17
+ debate.decidim_author_type = "Decidim::UserBaseEntity"
18
+ else
19
+ debate.decidim_author_id = debate.organization.id
20
+ debate.decidim_author_type = "Decidim::Organization"
21
+ end
22
+ debate.save!
23
+ end
24
+
25
+ add_index :decidim_debates_debates,
26
+ [:decidim_author_id, :decidim_author_type],
27
+ name: "index_decidim_debates_debates_on_decidim_author"
28
+ change_column_null :decidim_debates_debates, :decidim_author_id, false
29
+ change_column_null :decidim_debates_debates, :decidim_author_type, false
30
+ end
31
+ end
@@ -37,15 +37,29 @@ Decidim.register_component(:debates) do |component|
37
37
  component.actions = %w(create)
38
38
 
39
39
  component.seeds do |participatory_space|
40
- component = Decidim::Component.create!(
40
+ admin_user = Decidim::User.find_by(
41
+ organization: participatory_space.organization,
42
+ email: "admin@example.org"
43
+ )
44
+
45
+ params = {
41
46
  name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :debates).i18n_name,
42
47
  manifest_name: :debates,
43
48
  published_at: Time.current,
44
49
  participatory_space: participatory_space
45
- )
50
+ }
51
+
52
+ component = Decidim.traceability.perform_action!(
53
+ "publish",
54
+ Decidim::Component,
55
+ admin_user,
56
+ visibility: "all"
57
+ ) do
58
+ Decidim::Component.create!(params)
59
+ end
46
60
 
47
61
  3.times do
48
- debate = Decidim::Debates::Debate.create!(
62
+ params = {
49
63
  component: component,
50
64
  category: participatory_space.categories.sample,
51
65
  title: Decidim::Faker::Localized.sentence(2),
@@ -56,7 +70,15 @@ Decidim.register_component(:debates) do |component|
56
70
  Decidim::Faker::Localized.paragraph(3)
57
71
  end,
58
72
  start_time: 3.weeks.from_now,
59
- end_time: 3.weeks.from_now + 4.hours
73
+ end_time: 3.weeks.from_now + 4.hours,
74
+ author: component.organization
75
+ }
76
+
77
+ debate = Decidim.traceability.create!(
78
+ Decidim::Debates::Debate,
79
+ admin_user,
80
+ params,
81
+ visibility: "all"
60
82
  )
61
83
 
62
84
  Decidim::Comments::Seed.comments_for(debate)
@@ -30,6 +30,49 @@ module Decidim
30
30
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Debates::Engine.root}/app/cells")
31
31
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Debates::Engine.root}/app/views") # for partials
32
32
  end
33
+
34
+ initializer "decidim_debates.assets" do |app|
35
+ app.config.assets.precompile += %w(decidim_debates_manifest.js)
36
+ end
37
+
38
+ initializer "decidim.debates.commented_debates_badge" do
39
+ Decidim::Gamification.register_badge(:commented_debates) do |badge|
40
+ badge.levels = [1, 5, 10, 30, 50]
41
+
42
+ badge.valid_for = [:user, :user_group]
43
+
44
+ badge.reset = lambda do |user|
45
+ debates = Decidim::Comments::Comment.where(
46
+ author: user,
47
+ decidim_root_commentable_type: "Decidim::Debates::Debate"\
48
+ )
49
+ debates.pluck(:decidim_root_commentable_id).uniq.count
50
+ end
51
+ end
52
+
53
+ Decidim::Comments::CommentCreation.subscribe do |data|
54
+ comment = Decidim::Comments::Comment.find(data[:comment_id])
55
+ next unless comment.decidim_root_commentable_type == "Decidim::Debates::Debate"
56
+
57
+ if comment.user_group.present?
58
+ comments = Decidim::Comments::Comment.where(
59
+ decidim_root_commentable_id: comment.decidim_root_commentable_id,
60
+ decidim_root_commentable_type: comment.decidim_root_commentable_type,
61
+ user_group: comment.user_group
62
+ )
63
+
64
+ Decidim::Gamification.increment_score(comment.user_group, :commented_debates) if comments.count == 1
65
+ elsif comment.author.present?
66
+ comments = Decidim::Comments::Comment.where(
67
+ decidim_root_commentable_id: comment.decidim_root_commentable_id,
68
+ decidim_root_commentable_type: comment.decidim_root_commentable_type,
69
+ author: comment.author
70
+ )
71
+
72
+ Decidim::Gamification.increment_score(comment.author, :commented_debates) if comments.count == 1
73
+ end
74
+ end
75
+ end
33
76
  end
34
77
  end
35
78
  end
@@ -2,13 +2,14 @@
2
2
 
3
3
  FactoryBot.define do
4
4
  factory :debate, class: "Decidim::Debates::Debate" do
5
- title { Decidim::Faker::Localized.sentence(3) }
6
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
7
- information_updates { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
8
- instructions { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
5
+ title { generate_localized_title }
6
+ description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
7
+ information_updates { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
8
+ instructions { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
9
9
  start_time { 1.day.from_now }
10
10
  end_time { start_time.advance(hours: 2) }
11
11
  component { build(:component, manifest_name: "debates") }
12
+ author { component.try(:organization) }
12
13
 
13
14
  trait :open_ama do
14
15
  start_time { 1.day.ago }
@@ -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.14.4"
7
+ "0.15.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.14.4
4
+ version: 0.15.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: 2018-10-24 00:00:00.000000000 Z
14
+ date: 2018-11-12 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.14.4
22
+ version: 0.15.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.14.4
29
+ version: 0.15.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.14.4
36
+ version: 0.15.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.14.4
43
+ version: 0.15.0
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: kaminari
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -75,28 +75,28 @@ dependencies:
75
75
  requirements:
76
76
  - - '='
77
77
  - !ruby/object:Gem::Version
78
- version: 0.14.4
78
+ version: 0.15.0
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - '='
84
84
  - !ruby/object:Gem::Version
85
- version: 0.14.4
85
+ version: 0.15.0
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: decidim-dev
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - '='
91
91
  - !ruby/object:Gem::Version
92
- version: 0.14.4
92
+ version: 0.15.0
93
93
  type: :development
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - '='
98
98
  - !ruby/object:Gem::Version
99
- version: 0.14.4
99
+ version: 0.15.0
100
100
  description: A debates component for decidim's participatory spaces.
101
101
  email:
102
102
  - josepjaume@gmail.com
@@ -109,7 +109,10 @@ extra_rdoc_files: []
109
109
  files:
110
110
  - README.md
111
111
  - Rakefile
112
+ - app/assets/config/decidim_debates_manifest.js
112
113
  - app/assets/images/decidim/debates/icon.svg
114
+ - app/assets/images/decidim/gamification/badges/commented_debates.svg
115
+ - app/cells/decidim/debates/debate_activity_cell.rb
113
116
  - app/cells/decidim/debates/debate_cell.rb
114
117
  - app/cells/decidim/debates/debate_m/footer.erb
115
118
  - app/cells/decidim/debates/debate_m/tags.erb
@@ -177,6 +180,8 @@ files:
177
180
  - db/migrate/20180122090505_add_user_group_author_to_debates.rb
178
181
  - db/migrate/20180305092347_drop_category_id_column.rb
179
182
  - db/migrate/20180305133556_rename_features_to_components_at_debates.rb
183
+ - db/migrate/20181003081235_fix_user_groups_ids_on_debates.rb
184
+ - db/migrate/20181016132850_add_organization_as_author_to_debates.rb
180
185
  - lib/decidim/debates.rb
181
186
  - lib/decidim/debates/admin.rb
182
187
  - lib/decidim/debates/admin_engine.rb
@@ -204,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
209
  version: '0'
205
210
  requirements: []
206
211
  rubyforge_project:
207
- rubygems_version: 2.7.7
212
+ rubygems_version: 2.7.6
208
213
  signing_key:
209
214
  specification_version: 4
210
215
  summary: Decidim debates module