decidim-debates 0.24.3 → 0.25.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/decidim/debates/versions_controller.rb +1 -1
  3. data/app/models/decidim/debates/debate.rb +8 -13
  4. data/app/packs/entrypoints/decidim_debates_admin.js +4 -0
  5. data/app/{assets/images/decidim/debates/icon.svg → packs/images/decidim/debates/decidim_debates.svg} +0 -0
  6. data/app/{assets/images/decidim/gamification/badges/commented_debates.svg → packs/images/decidim/gamification/badges/decidim_gamification_badges_commented_debates.svg} +0 -0
  7. data/app/{assets/javascripts/decidim/debates/admin/debates.js.es6 → packs/src/decidim/debates/admin/debates.js} +3 -3
  8. data/app/queries/decidim/debates/metrics/debates_metric_manage.rb +1 -1
  9. data/app/views/decidim/debates/admin/debates/_form.html.erb +1 -1
  10. data/app/views/decidim/debates/admin/debates/index.html.erb +2 -0
  11. data/app/views/decidim/debates/debates/_filters.html.erb +1 -1
  12. data/app/views/decidim/debates/debates/index.html.erb +0 -2
  13. data/app/views/decidim/debates/debates/show.html.erb +1 -1
  14. data/app/views/decidim/debates/versions/show.html.erb +1 -1
  15. data/config/assets.rb +8 -0
  16. data/config/locales/ca.yml +2 -0
  17. data/config/locales/cs.yml +2 -0
  18. data/config/locales/de.yml +2 -0
  19. data/config/locales/en.yml +3 -0
  20. data/config/locales/es-MX.yml +2 -0
  21. data/config/locales/es-PY.yml +2 -0
  22. data/config/locales/es.yml +2 -0
  23. data/config/locales/fi-plain.yml +2 -0
  24. data/config/locales/fi.yml +2 -0
  25. data/config/locales/fr-LU.yml +237 -0
  26. data/config/locales/gl.yml +2 -0
  27. data/config/locales/it.yml +53 -0
  28. data/config/locales/ja.yml +10 -0
  29. data/config/locales/lb-LU.yml +1 -0
  30. data/config/locales/nl.yml +2 -0
  31. data/config/locales/pl.yml +3 -1
  32. data/config/locales/pt-BR.yml +89 -0
  33. data/config/locales/ro-RO.yml +4 -0
  34. data/config/locales/sv.yml +2 -0
  35. data/db/migrate/20200708072042_fix_debates_i18n_fields.rb +1 -1
  36. data/lib/decidim/debates/admin_engine.rb +0 -4
  37. data/lib/decidim/debates/component.rb +4 -4
  38. data/lib/decidim/debates/engine.rb +30 -33
  39. data/lib/decidim/debates/version.rb +1 -1
  40. metadata +20 -53
  41. data/app/assets/config/admin/decidim_debates_manifest.js +0 -1
  42. data/app/assets/config/decidim_debates_manifest.js +0 -1
  43. data/config/locales/ja-JP.yml +0 -195
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7bc25e4e532fa9f612e4a14d89447196d433e9c47eb9b9f04fc774f6ec5e5d5f
4
- data.tar.gz: 5f1c10ab866674026cec0456425a797cbf4a589020c7e59b961074dc0dcb9583
3
+ metadata.gz: 97828fac1d6b2d8cd43062632817987a4fc5391df31e8a1bdcd69836fcd428fa
4
+ data.tar.gz: 68783612163514c85d2aa437ea1b459c1dd00aaa12fe231173cf4c43175a674c
5
5
  SHA512:
6
- metadata.gz: 3d0b07d72887234f78e25684d6be2284c7a8c16fe898c8f1e54b74b4792dae5d630aa07f9b9f13d819466a2717f48d35438506bce6d29b1a421ef085941612cc
7
- data.tar.gz: 8008c76bc9f58e4afbc30167890782fd56798dff98a52e5078708fc4866fc6f48b1c1250578b0f02fc44f203496ae161a79594827cab2a4e2e2836d51bd7d16a
6
+ metadata.gz: 017cb858eb199b43f9fb10008aa1cd92220fc95390d84c751072a1a87fd619364d7c460ad2754ff2b274dc46f5d56eaaf233ba11ea9d9f7df3cd1a26a03fd3e8
7
+ data.tar.gz: 20f8b2818ad13a1d1496c8a4e57e45206a8ea7c11e8a35e468f7d3d23a6dab6702a98f498db190409ba377a2a60a942032a85616a58a174c76fbde62452f9d7d
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Debates
5
5
  # Exposes Debates versions so users can see how a Debate has been updated
6
6
  # through time.
7
- class VersionsController < Decidim::Proposals::ApplicationController
7
+ class VersionsController < Decidim::Debates::ApplicationController
8
8
  include Decidim::ApplicationHelper
9
9
  include Decidim::ResourceVersionsConcern
10
10
 
@@ -10,7 +10,7 @@ module Decidim
10
10
  include Decidim::HasCategory
11
11
  include Decidim::Resourceable
12
12
  include Decidim::Followable
13
- include Decidim::Comments::Commentable
13
+ include Decidim::Comments::CommentableWithComponent
14
14
  include Decidim::ScopableResource
15
15
  include Decidim::Authorable
16
16
  include Decidim::Reportable
@@ -96,11 +96,6 @@ module Decidim
96
96
  (ama? && open_ama?) || !ama?
97
97
  end
98
98
 
99
- # Public: Overrides the `commentable?` Commentable concern method.
100
- def commentable?
101
- component.settings.comments_enabled?
102
- end
103
-
104
99
  # Public: Overrides the `accepts_new_comments?` Commentable concern method.
105
100
  def accepts_new_comments?
106
101
  return false unless open?
@@ -131,13 +126,13 @@ module Decidim
131
126
  followers
132
127
  end
133
128
 
134
- def self.export_serializer
135
- Decidim::Debates::DataPortabilityDebateSerializer
129
+ # Public: Overrides the `allow_resource_permissions?` Resourceable concern method.
130
+ def allow_resource_permissions?
131
+ true
136
132
  end
137
133
 
138
- # Public: Whether the object can have new comments or not.
139
- def user_allowed_to_comment?(user)
140
- can_participate_in_space?(user)
134
+ def self.export_serializer
135
+ Decidim::Debates::DataPortabilityDebateSerializer
141
136
  end
142
137
 
143
138
  def self.newsletter_participant_ids(component)
@@ -176,8 +171,8 @@ module Decidim
176
171
  #
177
172
  # rubocop:disable Rails/SkipsModelValidations
178
173
  def update_comments_count
179
- comments_count = comments.not_hidden.count
180
- last_comment = comments.not_hidden.order("created_at DESC").first
174
+ comments_count = comments.not_hidden.not_deleted.count
175
+ last_comment = comments.not_hidden.not_deleted.order("created_at DESC").first
181
176
 
182
177
  update_columns(
183
178
  last_comment_at: last_comment&.created_at,
@@ -0,0 +1,4 @@
1
+ import "src/decidim/debates/admin/debates"
2
+
3
+ // Images
4
+ require.context("../images", true)
@@ -1,6 +1,6 @@
1
- ((exports) => {
2
- const { createFieldDependentInputs } = exports.DecidimAdmin;
1
+ import createFieldDependentInputs from "src/decidim/admin/field_dependent_inputs.component"
3
2
 
3
+ $(() => {
4
4
  const $debateType = $('[name="debate[finite]"');
5
5
 
6
6
  createFieldDependentInputs({
@@ -22,4 +22,4 @@
22
22
  return $("#debate_finite_true").is(":checked")
23
23
  }
24
24
  });
25
- })(window);
25
+ })
@@ -27,7 +27,7 @@ module Decidim
27
27
  def query
28
28
  return @query if @query
29
29
 
30
- @query = Decidim::Debates::Debate.where(component: visible_component_ids_from_spaces(retrieve_participatory_spaces)).joins(:component)
30
+ @query = Decidim::Debates::Debate.where(component: visible_components_from_spaces(retrieve_participatory_spaces)).joins(:component)
31
31
  .left_outer_joins(:category)
32
32
  @query = @query.where("decidim_debates_debates.start_time <= ?", end_time)
33
33
  @query = @query.group("decidim_categorizations.decidim_category_id",
@@ -46,4 +46,4 @@
46
46
  </div>
47
47
  </div>
48
48
 
49
- <%= javascript_include_tag "decidim/debates/admin/debates" %>
49
+ <%= javascript_pack_tag "decidim_debates_admin" %>
@@ -51,6 +51,8 @@
51
51
  <span class="action-space icon"></span>
52
52
  <% end %>
53
53
 
54
+ <%= resource_permissions_link(debate) %>
55
+
54
56
  <% if allowed_to? :delete, :debate, debate: debate %>
55
57
  <%= icon_link_to "circle-x", debate_path(debate), t("actions.destroy", scope: "decidim.debates"), method: :delete, class: "action-icon--remove", data: { confirm: t("actions.confirm_destroy", scope: "decidim.debates") } %>
56
58
  <% else %>
@@ -4,7 +4,7 @@
4
4
  <div class="filters__section">
5
5
  <div class="filters__search">
6
6
  <div class="input-group">
7
- <%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), data: { disable_dynamic_change: true } %>
7
+ <%= form.search_field :search_text, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
8
8
  <div class="input-group-button">
9
9
  <button type="submit" class="button" aria-controls="debates">
10
10
  <%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
@@ -24,5 +24,3 @@
24
24
  <%= render partial: "debates" %>
25
25
  </div>
26
26
  </div>
27
-
28
- <%= javascript_include_tag("decidim/filters") %>
@@ -45,7 +45,7 @@ edit_link(
45
45
  <% end %>
46
46
  <div class="card extra">
47
47
  <div class="card__content">
48
- <%= cell("decidim/date", { start: debate.start_time, end: debate.end_time }) %>
48
+ <%= cell("decidim/date_range", { start: debate.start_time, end: debate.end_time }) %>
49
49
 
50
50
  <% if endorsements_enabled? && allowed_to?(:endorse, :debate, debate: debate) %>
51
51
  <div class="row collapse buttons__row">
@@ -5,6 +5,6 @@
5
5
  index: params[:id],
6
6
  versioned_resource: versioned_resource,
7
7
  versions_path: proc { url_for(action: :index) },
8
- i18n_scope: "decidim.debates.debates.versions.#{item_name.to_s.pluralize}"
8
+ i18n_scope: "decidim.debates.debates.versions.debates"
9
9
  ) %>
10
10
  </div>
data/config/assets.rb ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ base_path = File.expand_path("..", __dir__)
4
+
5
+ Decidim::Webpacker.register_path("#{base_path}/app/packs")
6
+ Decidim::Webpacker.register_entrypoints(
7
+ decidim_debates_admin: "#{base_path}/app/packs/entrypoints/decidim_debates_admin.js"
8
+ )
@@ -235,3 +235,5 @@ ca:
235
235
  description: Nombre de debats creats
236
236
  object: debats
237
237
  title: Debats
238
+ statistics:
239
+ debates_count: Debats
@@ -239,3 +239,5 @@ cs:
239
239
  description: Počet vytvořených debat
240
240
  object: debaty
241
241
  title: Debaty
242
+ statistics:
243
+ debates_count: Debaty
@@ -235,3 +235,5 @@ de:
235
235
  description: Anzahl der erstellten Debatten
236
236
  object: Debatten
237
237
  title: Debatten
238
+ statistics:
239
+ debates_count: Debatten
@@ -28,6 +28,7 @@ en:
28
28
  components:
29
29
  debates:
30
30
  actions:
31
+ comment: Comment
31
32
  create: Create
32
33
  endorse: Endorse
33
34
  name: Debates
@@ -236,3 +237,5 @@ en:
236
237
  description: Number of debates created
237
238
  object: debates
238
239
  title: Debates
240
+ statistics:
241
+ debates_count: Debates
@@ -235,3 +235,5 @@ es-MX:
235
235
  description: Número de debates creados
236
236
  object: debates
237
237
  title: Debates
238
+ statistics:
239
+ debates_count: Debates
@@ -235,3 +235,5 @@ es-PY:
235
235
  description: Número de debates creados.
236
236
  object: debates
237
237
  title: Debates
238
+ statistics:
239
+ debates_count: Debates
@@ -235,3 +235,5 @@ es:
235
235
  description: Número de debates creados
236
236
  object: debates
237
237
  title: Debates
238
+ statistics:
239
+ debates_count: Debates
@@ -235,3 +235,5 @@ fi-pl:
235
235
  description: Keskustelujen määrä
236
236
  object: keskustelut
237
237
  title: Keskustelut
238
+ statistics:
239
+ debates_count: Keskustelua
@@ -235,3 +235,5 @@ fi:
235
235
  description: Keskustelujen määrä
236
236
  object: keskustelut
237
237
  title: Keskustelut
238
+ statistics:
239
+ debates_count: Keskustelua
@@ -0,0 +1,237 @@
1
+ fr-LU:
2
+ activemodel:
3
+ attributes:
4
+ debate:
5
+ category_id: Catégorie
6
+ closed_at: Clôturé le
7
+ conclusions: Conclusions
8
+ decidim_category_id: Catégorie
9
+ description: Description
10
+ end_time: Prend fin à
11
+ information_updates: Informations mises à jour
12
+ instructions: Instructions pour participer
13
+ start_time: Commence à
14
+ title: Titre
15
+ user_group_id: Créer un débat en tant que
16
+ models:
17
+ decidim/debates/close_debate_event: Débat terminé
18
+ decidim/debates/create_debate_event: Débat
19
+ decidim/debates/creation_disabled_event: Débats désactivés
20
+ decidim/debates/creation_enabled_event: Débats activés
21
+ activerecord:
22
+ models:
23
+ decidim/debates/debate:
24
+ one: Débat
25
+ other: Débats
26
+ decidim:
27
+ components:
28
+ debates:
29
+ actions:
30
+ create: Créer
31
+ endorse: Soutenir
32
+ name: Débats
33
+ settings:
34
+ global:
35
+ announcement: Annonce
36
+ comments_enabled: Commentaires activés
37
+ comments_max_length: Longueur max des commentaires (laisser 0 pour la valeur par défaut)
38
+ scope_id: Secteur
39
+ scopes_enabled: Secteurs activés
40
+ step:
41
+ announcement: Annonce
42
+ comments_blocked: Commentaires désactivés
43
+ creation_enabled: Création de débats par les utilisateurs activés
44
+ endorsements_blocked: Soutiens bloqués
45
+ endorsements_enabled: Soutiens activés
46
+ debates:
47
+ actions:
48
+ close: Fermer
49
+ confirm_destroy: Êtes-vous certain ?
50
+ destroy: Supprimer
51
+ edit: Modifier
52
+ new: Nouveau %{name}
53
+ title: Actions
54
+ admin:
55
+ debate_closes:
56
+ edit:
57
+ close: Fermer
58
+ title: Clore le débat
59
+ debates:
60
+ create:
61
+ invalid: Il y a eu un problème lors de la création du débat.
62
+ success: Débat créé avec succès.
63
+ destroy:
64
+ success: Débat supprimé avec succès.
65
+ edit:
66
+ title: Modifier le débat
67
+ update: Actualiser le débat
68
+ form:
69
+ debate_type: Type de débat
70
+ finite: Limité (Avec les heures de début et de fin)
71
+ open: Ouvert (pas de date de début et de fin)
72
+ index:
73
+ title: Débats
74
+ new:
75
+ create: Créer un débat
76
+ title: Nouveau débat
77
+ update:
78
+ invalid: Il y a eu un problème lors de la mise à jour de ce débat.
79
+ success: Débat mis à jour avec succès.
80
+ exports:
81
+ comments: Commentaires
82
+ models:
83
+ debate:
84
+ name: Débat
85
+ admin_log:
86
+ debate:
87
+ close: "%{user_name} a clos le débat %{resource_name} dans l'espace %{space_name}"
88
+ create: "%{user_name} a créé le débat %{resource_name} sur l'espace %{space_name}"
89
+ update: "%{user_name} a mis à jour le débat %{resource_name} sur l'espace %{space_name}"
90
+ debate_m:
91
+ commented_time_ago: Commenté il y a %{time}
92
+ debates:
93
+ close:
94
+ invalid: Une erreur s'est produite lors de la fermeture du débat.
95
+ success: Débat clos avec succès.
96
+ close_debate_modal:
97
+ close: Fermer
98
+ description: Quel est le résumé ou la conclusion de ce débat?
99
+ send: Clore le débat
100
+ closed: Fermé
101
+ count:
102
+ debates_count:
103
+ one: "%{count} débat"
104
+ other: "%{count} débats"
105
+ create:
106
+ invalid: Il y a eu un problème lors de la création de ce débat.
107
+ success: Débat créé avec succès.
108
+ debate:
109
+ participate: Participer
110
+ edit:
111
+ back: Retour
112
+ save: Enregistrer les modifications
113
+ title: Modifier le débat
114
+ filters:
115
+ activity: Mon activité
116
+ all: Tout
117
+ category: Catégorie
118
+ category_prompt: Choisir une catégorie
119
+ citizens: Citoyenne
120
+ commented: Commenté
121
+ my_debates: Mes débats
122
+ official: Officielle
123
+ origin: Origine
124
+ scope: Secteur
125
+ search: Rechercher
126
+ state: Statut
127
+ state_values:
128
+ closed: Fermé
129
+ open: Ouvert
130
+ user_groups: Groupes
131
+ filters_small_view:
132
+ close_modal: Fermer la fenêtre de dialogue
133
+ filter: Filtre
134
+ filter_by: Filtrer par
135
+ unfold: Voir la suite
136
+ form:
137
+ select_a_category: Veuillez sélectionner une catégorie
138
+ index:
139
+ new_debate: Nouveau débat
140
+ new:
141
+ back: Retour
142
+ create: Créer
143
+ title: Nouveau débat
144
+ orders:
145
+ commented: Les plus commentés
146
+ label: Trier les débats par
147
+ random: Ordre aléatoire
148
+ recent: Les plus récents
149
+ updated: Mis à jour récemment
150
+ show:
151
+ back: Retour à la liste
152
+ close_debate: Clore le débat
153
+ date: Date
154
+ debate_closed: Fermé
155
+ debate_conclusions_are: 'Le débat a été clos le %{date} avec ces conclusions:'
156
+ edit_conclusions: Modifier les conclusions
157
+ edit_debate: Modifier le débat
158
+ groups_count: Groupes
159
+ last_comment_by: Dernier commentaire par
160
+ no_comments_yet: Pas encore de commentaire
161
+ open: Ouvrir le débat
162
+ participants_count: Participants
163
+ update:
164
+ invalid: Une erreur s'est produite lors de la mise à jour du débat.
165
+ success: Débat mis à jour avec succès.
166
+ versions:
167
+ debates:
168
+ back_to_resource: Revenir au débat
169
+ index:
170
+ title: Versions
171
+ versions_list:
172
+ back_to_resource: Revenir au débat
173
+ last_activity:
174
+ debate_updated_at_html: "<span>Débat mis à jour à %{link}</span>"
175
+ new_debate_at_html: "<span>Nouveau débat à %{link}</span>"
176
+ models:
177
+ debate:
178
+ fields:
179
+ end_time: Date de fin
180
+ official_debate: Débat officiel
181
+ start_time: Date de début
182
+ title: Titre
183
+ events:
184
+ debates:
185
+ create_debate_event:
186
+ space_followers:
187
+ email_intro: |-
188
+ Salut,
189
+ Un nouveau débat «%{resource_title}» a été créée sur le %{space_title} espace participatif, vérifier et contribuer:
190
+ email_outro: Vous avez reçu cette notification parce que vous suivez l'espace participatif %{space_title}. Vous pouvez cesser de recevoir des notifications en suivant ce dernier lien.
191
+ email_subject: Nouveau débat "%{resource_title}" sur %{space_title}
192
+ notification_title: Le débat <a href="%{resource_path}">%{resource_title}</a> a été créé le <a href="%{space_path}">%{space_title}</a>.
193
+ user_followers:
194
+ email_intro: |-
195
+ Bonjour,
196
+ %{author_name} %{author_nickname}, qui vous suivez, a créé un nouveau débat "%{resource_title}". Découvrez-le et contribuez:
197
+ email_outro: Vous avez reçu cette notification, car vous suivez %{author_nickname}. Vous pouvez cesser de recevoir des notifications à partir du lien précédent.
198
+ email_subject: Nouveau débat "%{resource_title}" par %{author_nickname}
199
+ notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> créé le débat <a href="%{resource_path}">%{resource_title}</a>.
200
+ creation_disabled:
201
+ email_intro: 'La création de débat n''est plus possible dans %{participatory_space_title}. Vous pouvez toujours participer aux débats ouverts depuis cette page :'
202
+ email_outro: Vous avez reçu cette notification parce que vous suivez %{participatory_space_title}. Vous pouvez arrêter de recevoir des notifications à partir du lien précédent.
203
+ email_subject: La création de débats est désactivée dans %{participatory_space_title}
204
+ notification_title: La création de débats est maintenant désactivée dans <a href="%{participatory_space_url}">%{participatory_space_title}</a>
205
+ creation_enabled:
206
+ email_intro: 'Vous pouvez maintenant initier de nouveaux débats dans %{participatory_space_title}! Commencez à participer sur cette page :'
207
+ 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.
208
+ email_subject: Débats maintenant disponibles sur %{participatory_space_title}
209
+ notification_title: Vous pouvez maintenant initier <a href="%{resource_path}">nouveaux débats</a> dans <a href="%{participatory_space_url}">%{participatory_space_title}</a>
210
+ debate_closed:
211
+ affected_user:
212
+ email_intro: 'Le débat « %{resource_title} » est fermé. Vous pouvez lire les conclusions sur cette page :'
213
+ email_outro: Vous avez reçu cet avis parce que vous êtes abonné au débat « %{resource_title} ». Vous pouvez vous désabonner depuis le lien précédent.
214
+ email_subject: Le débat "%{resource_title}" est fermé
215
+ notification_title: Le débat <a href="%{resource_path}">%{resource_title}</a> est fermé.
216
+ follower:
217
+ email_intro: 'Le débat « %{resource_title} » est fermé. Vous pouvez lire les conclusions sur cette page :'
218
+ email_outro: Vous avez reçu cet avis parce que vous êtes abonné au débat « %{resource_title} ». Vous pouvez vous désabonner depuis le lien précédent.
219
+ email_subject: Le débat "%{resource_title}" est fermé
220
+ notification_title: Le débat <a href="%{resource_path}">%{resource_title}</a> est fermé.
221
+ gamification:
222
+ badges:
223
+ commented_debates:
224
+ conditions:
225
+ - Choisissez un débat ouvert pour participer à
226
+ description: Ce badge est attribué lorsque vous participez activement aux différents débats en laissant vos commentaires.
227
+ description_another: Cet utilisateur a participé à %{score} débats.
228
+ description_own: Vous avez participé à %{score} débats.
229
+ name: Des débats
230
+ next_level_in: Participez à %{score} autres débats pour atteindre le prochain niveau!
231
+ unearned_another: Cet utilisateur n'a encore participé à aucun débat.
232
+ unearned_own: Vous avez déjà participé à des débats.
233
+ metrics:
234
+ debates:
235
+ description: Nombre de débats créés
236
+ object: débats
237
+ title: Débats