decidim-comments 0.30.4 → 0.30.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f0309d2bf78272146f28d4b57bc69edc9eac319d33a9a86f72e99c9c2ddb55c
4
- data.tar.gz: 1f5d96db649c0974cd035b02c7cb8ca4b0b91a803d19b12f7e889413742373a2
3
+ metadata.gz: 87f5dd8a4144818cc57986f3d4f2cbd14fa650d876093f65c6ffc1def931bc39
4
+ data.tar.gz: 4c0ba08757449ea9958ff2b95c8df5ddab74e8d62f07997b4de1290d7fd88fe0
5
5
  SHA512:
6
- metadata.gz: 4b5d97aba29e711edf0ae5e08be931616fee32c3ad8f5f87e19d751026b42989a698182933408eba6a1e10bf1a7f4f8522af04e7d1b0b0b23a215f41faf7d899
7
- data.tar.gz: 578145969d30fbc005eb66a95276251f833014ed91b781225b3dee9062ff962e6b5e7f1f44c221354ce651cfa3eec4503bc2f608fdf4765bc9b840993780e367
6
+ metadata.gz: 71c82408f7068e40ff917e34958ffb5774ee9481f2a88a24a7faaefb39a625214417464f27d2f00a6d62baa0739ef3611618737078c16c808f766fc8e0a6e051
7
+ data.tar.gz: d1c7acd81d49bc981bd8000ed303b9f56cbc3a847b549f8e597448f5da1fdeac1703998ba973f1c786cdc16ee3ff4784881cfb46ce26f8ec646ecbfeee48b565
@@ -12,7 +12,7 @@ module Decidim
12
12
  private
13
13
 
14
14
  def title
15
- resource_link_text
15
+ decidim_sanitize(model.formatted_body, strip_tags: true)
16
16
  end
17
17
 
18
18
  def resource_path
@@ -18,6 +18,10 @@ module Decidim
18
18
  super || (comment.respond_to?(:hidden?) && comment.hidden?)
19
19
  end
20
20
 
21
+ def deleted_resource?
22
+ super || (comment.respond_to?(:deleted?) && comment.deleted?)
23
+ end
24
+
21
25
  def author
22
26
  comment.normalized_author
23
27
  end
@@ -22,20 +22,38 @@ pt-BR:
22
22
  changeset:
23
23
  comments: Comentários
24
24
  comments:
25
+ admin:
26
+ shared:
27
+ availability_fields:
28
+ enabled: Comentários ativados
29
+ end_time: Comentários ativados até
30
+ start_time: Comentários ativados de
31
+ comment_thread:
32
+ accessibility_label: Tópico de comentário iniciado por %{full_name} em %{date}
25
33
  comments:
26
34
  create:
27
35
  error: Houveram erros ao criar o comentário.
36
+ delete:
37
+ error: O comentário não pode ser excluído.
28
38
  update:
29
39
  error: Houve um erro ao atualizar o comentário.
40
+ comments_title: Comentário
41
+ last_activity:
42
+ new_comment: 'Novo comentário:'
30
43
  votes:
31
44
  create:
32
45
  error: Houve erros ao votar o comentário.
33
46
  components:
34
47
  add_comment_form:
48
+ account_message: Faça o acesso ou crie uma conta para adicionar o seu comentário.
49
+ add_comment: Adicionar comentário
35
50
  form:
36
51
  body:
37
52
  label: Comente
38
53
  placeholder: O que você pensa sobre isso?
54
+ form_error: O texto é obrigatório e não pode ser maior que %{length} caracteres.
55
+ submit_reply: Publicar resposta
56
+ submit_root_comment: Publicar comentário
39
57
  user_group_id:
40
58
  label: Comente como
41
59
  opinion:
@@ -53,12 +71,22 @@ pt-BR:
53
71
  alignment:
54
72
  against: Contra
55
73
  in_favor: A favor
74
+ answers:
75
+ one: "%{count} resposta"
76
+ other: "%{count} respostas"
77
+ cancel_reply: Cancelar resposta
78
+ comment_label: Comentário %{comment_id}
79
+ comment_label_reply: Comentário %{comment_id} (responder ao comentário %{parent_comment_id})
56
80
  confirm_destroy: Tem certeza que deseja excluir este comentário?
81
+ controls_label: Controles de comentários
57
82
  delete: Deletar
58
83
  deleted_at: Comentário excluído em %{date}
59
84
  deleted_user: Usuário excluído
60
85
  edit: Editar
61
86
  edited: Editado
87
+ hide_replies:
88
+ one: Ocultar resposta
89
+ other: Ocultar {count} respostas
62
90
  moderated_at: Comentário moderado em %{date}
63
91
  reply: Resposta
64
92
  report:
@@ -68,6 +96,7 @@ pt-BR:
68
96
  description: Este conteúdo é impróprio?
69
97
  details: Comentários adicionais
70
98
  reasons:
99
+ does_not_belong: Contém atividades ilegais, ameaças suicidas, informações pessoais ou outra coisa que você acha que não pertence ao %{organization_name}.
71
100
  offensive: Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.
72
101
  spam: Contém clickbait, publicidade, fraudes ou script bots.
73
102
  title: Reportar conteúdo impróprio
@@ -75,6 +104,7 @@ pt-BR:
75
104
  one: Mostrar resposta
76
105
  other: Mostrar %{count} respostas
77
106
  single_comment_link_title: Obter o link
107
+ sort_by: 'Classificar por: '
78
108
  comment_order_selector:
79
109
  order:
80
110
  best_rated: Melhores avaliações
@@ -83,15 +113,23 @@ pt-BR:
83
113
  recent: Recente
84
114
  title: 'Ordenar por:'
85
115
  comments:
116
+ against: Contra
86
117
  blocked_comments_for_unauthorized_user_warning: Você precisa ser verificado para comentar neste momento, mas pode ler os anteriores.
87
118
  blocked_comments_for_user_warning: Você não pode comentar neste momento, mas pode ler os anteriores.
119
+ blocked_comments_warning: Comentários estão atualmente desativados, somente administradores podem responder ou postar novos.
88
120
  comment_details_title: Detalhes do comentário
121
+ in_favor: A favor
89
122
  loading: Carregando comentários ...
123
+ single_comment_warning: <a href="%{url}">Ver todos os comentários</a>
90
124
  single_comment_warning_title: Você está vendo um único comentário
91
125
  title:
92
126
  one: "%{count} comentário"
93
127
  other: "%{count} comentários"
128
+ top_comment_label: Mais votado
94
129
  down_vote_button:
130
+ label:
131
+ one: Botão "Não gostei". %{count} não gostei
132
+ other: Botão "Não gostei". %{count} não gostaram
95
133
  text: Eu discordo deste comentário
96
134
  edit_comment_modal_form:
97
135
  close: Fechar
@@ -102,7 +140,29 @@ pt-BR:
102
140
  submit: Enviar
103
141
  title: Editar seu comentário
104
142
  up_vote_button:
143
+ label:
144
+ one: Botão "Gostei". %{count} gostei
145
+ other: Botão "Gostei". %{count} gostaram
105
146
  text: Eu concordo com este comentário
147
+ download_your_data:
148
+ help:
149
+ comment_votes:
150
+ comment: A identificação do comentário votado
151
+ created_at: A data em que esta votação foi criada
152
+ id: A identificação da votação
153
+ updated_at: A data da última atualização desta votação
154
+ weight: O peso da votação (1 a favor do voto, -1 contra o voto)
155
+ comments:
156
+ alignment: Se este comentário foi um favorito, contra ou neutro
157
+ author: O nome do usuário que fez este comentário
158
+ body: O comentário em si
159
+ commentable_id: A identificação única do cometário
160
+ commentable_type: O tipo do comentário (se for um resultado, uma proposta, etc.)
161
+ created_at: A data em que este comentário foi criado
162
+ depth: O lugar onde este comentário está nos três comentários (se for uma resposta ou uma resposta de uma resposta)
163
+ id: O identificador para este comentário
164
+ locale: A localidade (linguagem) que o usuário teve ao deixar este comentário
165
+ root_commentable_url: A URL do recurso ligado a este comentário
106
166
  events:
107
167
  comments:
108
168
  comment_by_followed_user:
@@ -150,3 +210,6 @@ pt-BR:
150
210
  description: Número de comentários gerados pelos usuários
151
211
  object: comentários
152
212
  title: Comentários
213
+ errors:
214
+ messages:
215
+ cannot_have_comments: não pode ter comentários
@@ -134,6 +134,10 @@ ro:
134
134
  other: "%{count} comentarii"
135
135
  top_comment_label: Cele mai votate
136
136
  down_vote_button:
137
+ label:
138
+ one: Buton dezaprobare. O dezaprobare
139
+ few: Buton dezaprobare. %{count} dezaprobări
140
+ other: Buton dezaprobare. %{count} dezaprobări
137
141
  text: Nu sunt de acord cu acest comentariu
138
142
  edit_comment_modal_form:
139
143
  close: Închideți
@@ -144,6 +148,10 @@ ro:
144
148
  submit: Actualizați
145
149
  title: Modificați comentariul dumneavoastră
146
150
  up_vote_button:
151
+ label:
152
+ one: Buton apreciere. %{count} apreciază
153
+ few: Buton apreciere. %{count} apreciază
154
+ other: Buton apreciere. %{count} apreciază
147
155
  text: Sunt de acord cu acest comentariu
148
156
  download_your_data:
149
157
  help:
@@ -50,7 +50,7 @@ sv:
50
50
  form:
51
51
  body:
52
52
  label: Kommentera
53
- placeholder: Vad tycker du om detta?
53
+ placeholder: Vad tycker du?
54
54
  form_error: Texten är obligatorisk och får inte vara längre än %{length} tecken.
55
55
  submit_reply: Publicera svar
56
56
  submit_root_comment: Publicera kommentar
@@ -108,10 +108,10 @@ sv:
108
108
  sort_by: 'Sortera efter: '
109
109
  comment_order_selector:
110
110
  order:
111
- best_rated: Bästa betyg
111
+ best_rated: Högst betyg
112
112
  most_discussed: Mest diskuterade
113
- older: Äldsta
114
- recent: Senaste
113
+ older: Gamla
114
+ recent: Nya
115
115
  title: 'Sortera efter:'
116
116
  comments:
117
117
  against: Mot
@@ -20,9 +20,21 @@ module Decidim
20
20
  end
21
21
 
22
22
  def commentable(id:, locale:, toggle_translations:, type:)
23
+ raise GraphQL::ExecutionError, "#{locale} is not a valid locale" unless available_locales.include?(locale)
24
+
23
25
  I18n.locale = locale.presence
24
26
  RequestStore.store[:toggle_machine_translations] = toggle_translations
25
- type.constantize.find(id)
27
+ type.constantize.find_by(id:)
28
+ end
29
+
30
+ private
31
+
32
+ def available_locales
33
+ if context[:current_organization].present?
34
+ context[:current_organization].available_locales
35
+ else
36
+ I18n.available_locales.map(&:to_s)
37
+ end
26
38
  end
27
39
  end
28
40
  end
@@ -75,4 +75,36 @@ shared_examples_for "a comment event" do
75
75
  end
76
76
  end
77
77
  end
78
+
79
+ describe "deleted_resource?" do
80
+ context "when comment is not moderated" do
81
+ it "returns false" do
82
+ expect(subject.deleted_resource?).to be false
83
+ end
84
+ end
85
+
86
+ context "when comment is moderated" do
87
+ let(:comment) { create(:comment, deleted_at: Time.zone.now) }
88
+
89
+ it "returns true" do
90
+ expect(subject.deleted_resource?).to be true
91
+ end
92
+ end
93
+
94
+ context "when resource is not moderated" do
95
+ it "returns false" do
96
+ expect(subject.deleted_resource?).to be false
97
+ end
98
+ end
99
+
100
+ context "when resource is moderated" do
101
+ before do
102
+ resource.update(deleted_at: Time.zone.now)
103
+ end
104
+
105
+ it "returns true" do
106
+ expect(subject.deleted_resource?).to be true
107
+ end
108
+ end
109
+ end
78
110
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-comments version.
5
5
  module Comments
6
6
  def self.version
7
- "0.30.4"
7
+ "0.30.5"
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-comments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.4
4
+ version: 0.30.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-11-20 00:00:00.000000000 Z
13
+ date: 2026-01-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.30.4
21
+ version: 0.30.5
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.30.4
28
+ version: 0.30.5
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: redcarpet
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -52,28 +52,28 @@ dependencies:
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 0.30.4
55
+ version: 0.30.5
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: 0.30.4
62
+ version: 0.30.5
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: decidim-dev
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 0.30.4
69
+ version: 0.30.5
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: 0.30.4
76
+ version: 0.30.5
77
77
  description: Pluggable comments system for some components.
78
78
  email:
79
79
  - josepjaume@gmail.com