decidim-comments 0.27.4 → 0.27.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/comments/comment_cell.rb +6 -4
- data/app/cells/decidim/comments/comment_form_cell.rb +2 -2
- data/app/models/decidim/comments/comment.rb +3 -2
- data/app/models/decidim/comments/comment_vote.rb +10 -0
- data/config/locales/bg.yml +23 -0
- data/config/locales/ca.yml +7 -7
- data/config/locales/de.yml +1 -1
- data/config/locales/es.yml +7 -7
- data/config/locales/eu.yml +22 -22
- data/config/locales/he-IL.yml +1 -0
- data/config/locales/hu.yml +3 -1
- data/config/locales/ja.yml +4 -4
- data/config/locales/lt.yml +5 -0
- data/config/locales/pl.yml +10 -0
- data/config/locales/pt-BR.yml +2 -0
- data/config/locales/ro-RO.yml +4 -4
- data/config/locales/sq-AL.yml +39 -0
- data/config/locales/sv.yml +3 -0
- data/config/locales/th-TH.yml +1 -0
- data/db/migrate/20240304092558_add_comment_vote_counter_cache_to_comments.rb +21 -0
- data/decidim-comments.gemspec +33 -0
- data/lib/decidim/api/comment_type.rb +2 -2
- data/lib/decidim/comments/comment_serializer.rb +1 -1
- data/lib/decidim/comments/comment_vote_serializer.rb +1 -1
- data/lib/decidim/comments/test/factories.rb +14 -7
- data/lib/decidim/comments/test/shared_examples/comment_event.rb +1 -1
- data/lib/decidim/comments/test/shared_examples/comment_voted_event.rb +1 -1
- data/lib/decidim/comments/version.rb +1 -1
- metadata +18 -14
- data/config/environment.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 818d04b7eefe94a674bd210a31011829ba09e6df1059695a345a2046b4147d70
|
4
|
+
data.tar.gz: 5de4aa55452b6912385a483e92295bcc0a713141485b43a9d97c6bac51a22065
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 867ee377607aad693860a83d7a92d4fc3147e43ffbbcdf5c7c5c49d7ba53d65b9d4614d9ecbec287cde1d05c9aea577a707238745b0aa65327874625d9a2a91a
|
7
|
+
data.tar.gz: 5718f8b9a21de23c12d0727a633859d2a6daf4a76a727115b9bae2f20f73a3de52fd417a6c348ec4f6eeff7611b2abba41c9a18152130e0d94034a8c6b4023bc
|
@@ -47,6 +47,8 @@ module Decidim
|
|
47
47
|
hash.push(model.must_render_translation?(current_organization) ? 1 : 0)
|
48
48
|
hash.push(model.authored_by?(current_user) ? 1 : 0)
|
49
49
|
hash.push(model.reported_by?(current_user) ? 1 : 0)
|
50
|
+
hash.push(model.up_votes_count)
|
51
|
+
hash.push(model.down_votes_count)
|
50
52
|
hash.push(model.cache_key_with_version)
|
51
53
|
hash.push(model.author.cache_key_with_version)
|
52
54
|
@hash = hash.join(Decidim.cache_key_separator)
|
@@ -146,11 +148,11 @@ module Decidim
|
|
146
148
|
end
|
147
149
|
|
148
150
|
def up_votes_count
|
149
|
-
model.
|
151
|
+
model.up_votes_count
|
150
152
|
end
|
151
153
|
|
152
154
|
def down_votes_count
|
153
|
-
model.
|
155
|
+
model.down_votes_count
|
154
156
|
end
|
155
157
|
|
156
158
|
def root_depth
|
@@ -166,11 +168,11 @@ module Decidim
|
|
166
168
|
end
|
167
169
|
|
168
170
|
def voted_up?
|
169
|
-
model.up_voted_by?(current_user)
|
171
|
+
@up_voted ||= model.up_voted_by?(current_user)
|
170
172
|
end
|
171
173
|
|
172
174
|
def voted_down?
|
173
|
-
model.down_voted_by?(current_user)
|
175
|
+
@down_voted ||= model.down_voted_by?(current_user)
|
174
176
|
end
|
175
177
|
|
176
178
|
def nested?
|
@@ -84,13 +84,13 @@ module Decidim
|
|
84
84
|
def component_comments_max_length
|
85
85
|
return unless model.component&.settings.respond_to?(:comments_max_length)
|
86
86
|
|
87
|
-
model.component.settings.comments_max_length if model.component.settings.comments_max_length.positive?
|
87
|
+
model.component.settings.comments_max_length if model.component.settings.comments_max_length.to_i.positive?
|
88
88
|
end
|
89
89
|
|
90
90
|
def organization_comments_max_length
|
91
91
|
return unless organization
|
92
92
|
|
93
|
-
organization.comments_max_length if organization.comments_max_length.positive?
|
93
|
+
organization.comments_max_length if organization.comments_max_length.to_i.positive?
|
94
94
|
end
|
95
95
|
|
96
96
|
def organization
|
@@ -29,6 +29,7 @@ module Decidim
|
|
29
29
|
translatable_fields :body
|
30
30
|
|
31
31
|
parent_item_foreign_key :decidim_commentable_id
|
32
|
+
parent_item_polymorphic_type_key :decidim_commentable_type
|
32
33
|
|
33
34
|
belongs_to :commentable, foreign_key: "decidim_commentable_id", foreign_type: "decidim_commentable_type", polymorphic: true
|
34
35
|
belongs_to :root_commentable, foreign_key: "decidim_root_commentable_id", foreign_type: "decidim_root_commentable_type", polymorphic: true, touch: true
|
@@ -121,14 +122,14 @@ module Decidim
|
|
121
122
|
#
|
122
123
|
# Returns a bool value to indicate if the condition is truthy or not
|
123
124
|
def up_voted_by?(user)
|
124
|
-
up_votes.
|
125
|
+
up_votes.exists?(author: user)
|
125
126
|
end
|
126
127
|
|
127
128
|
# Public: Check if the user has downvoted the comment
|
128
129
|
#
|
129
130
|
# Returns a bool value to indicate if the condition is truthy or not
|
130
131
|
def down_voted_by?(user)
|
131
|
-
down_votes.
|
132
|
+
down_votes.exists?(author: user)
|
132
133
|
end
|
133
134
|
|
134
135
|
# Public: Overrides the `reported_content_url` Reportable concern method.
|
@@ -14,12 +14,22 @@ module Decidim
|
|
14
14
|
validates :weight, inclusion: { in: [-1, 1] }
|
15
15
|
validate :author_and_comment_same_organization
|
16
16
|
|
17
|
+
after_create :update_comment_votes_count
|
18
|
+
after_destroy :update_comment_votes_count
|
19
|
+
|
17
20
|
def self.export_serializer
|
18
21
|
Decidim::Comments::CommentVoteSerializer
|
19
22
|
end
|
20
23
|
|
21
24
|
private
|
22
25
|
|
26
|
+
def update_comment_votes_count
|
27
|
+
up_votes_count = self.class.where(decidim_comment_id: comment.id, weight: 1).count
|
28
|
+
down_votes_count = self.class.where(decidim_comment_id: comment.id, weight: -1).count
|
29
|
+
|
30
|
+
comment.update(up_votes_count: up_votes_count, down_votes_count: down_votes_count)
|
31
|
+
end
|
32
|
+
|
23
33
|
# Private: check if the comment and the author have the same organization
|
24
34
|
def author_and_comment_same_organization
|
25
35
|
return unless author.present? && comment.present?
|
data/config/locales/bg.yml
CHANGED
@@ -5,3 +5,26 @@ bg:
|
|
5
5
|
decidim/comments/comment_by_followed_user_event: Коментар
|
6
6
|
decidim/comments/comment_created_event: Коментар
|
7
7
|
decidim/comments/reply_created_event: Отговор на коментар
|
8
|
+
decidim:
|
9
|
+
comments:
|
10
|
+
comments:
|
11
|
+
delete:
|
12
|
+
error: Коментарът не можа да бъде изтрит.
|
13
|
+
comments_count: Брой коментари
|
14
|
+
last_activity:
|
15
|
+
new_comment_at_html: "<span>Нов коментар на %{link}</span>"
|
16
|
+
view: Преглед
|
17
|
+
components:
|
18
|
+
add_comment_form:
|
19
|
+
account_message: <a href="%{sign_in_url}">Влезте с Вашия профил</a> или <a href="%{sign_up_url}">се регистрирайте</a>, за да добавите коментара си.
|
20
|
+
form:
|
21
|
+
form_error: Текстът е задължителен и не може да е по-дълъг от %{length} символа.
|
22
|
+
comment:
|
23
|
+
report:
|
24
|
+
reasons:
|
25
|
+
does_not_belong: Съдържа незаконни дейности, заплахи за самоубийство, лична информация или нещо друго, което считате, че е неподходящо за %{organization_name}.
|
26
|
+
comment_thread:
|
27
|
+
title: Разговор с %{authorName}
|
28
|
+
errors:
|
29
|
+
messages:
|
30
|
+
cannot_have_comments: не може да има коментари
|
data/config/locales/ca.yml
CHANGED
@@ -125,27 +125,27 @@ ca:
|
|
125
125
|
comments:
|
126
126
|
comment_by_followed_user:
|
127
127
|
email_intro: "%{author_name} ha deixat un comentari a %{resource_title}. Podeu llegir-lo en aquesta pàgina:"
|
128
|
-
email_outro: Has rebut aquesta notificació perquè estàs seguint %{author_name}. Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.
|
128
|
+
email_outro: Has rebut aquesta notificació perquè estàs seguint el comentari "%{author_name}". Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.
|
129
129
|
email_subject: Hi ha un nou comentari de %{author_name} en %{resource_title}
|
130
130
|
notification_title: Hi ha un nou comentari per <a href="%{author_path}">%{author_name} %{author_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>.
|
131
131
|
comment_by_followed_user_group:
|
132
132
|
email_intro: '%{author_name} ha deixat un comentari a%{resource_title}. Pots llegir-lo en aquesta pàgina:'
|
133
|
-
email_outro: Reps aquesta notificació perquè segueixes a %{author_name}. Pots deixar de seguir aquest grup des de la seva pàgina de perfil.
|
133
|
+
email_outro: Reps aquesta notificació perquè segueixes a "%{author_name}". Pots deixar de seguir aquest grup des de la seva pàgina de perfil.
|
134
134
|
email_subject: Hi ha un nou comentari de %{author_name} en %{resource_title}
|
135
135
|
notification_title: Hi ha un nou comentari per <a href="%{author_path}">%{author_name} %{author_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>.
|
136
136
|
comment_created:
|
137
137
|
email_intro: "S'ha comentat %{resource_title}. Pots llegir el comentari d'aquesta pàgina:"
|
138
|
-
email_outro: Has rebut aquesta notificació perquè estàs seguint "%{resource_title}" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.
|
138
|
+
email_outro: Has rebut aquesta notificació perquè estàs seguint el comentari "%{resource_title}" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.
|
139
139
|
email_subject: Hi ha un nou comentari de %{author_name} a %{resource_title}
|
140
140
|
notification_title: Hi ha un nou comentari de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>
|
141
141
|
comment_downvoted:
|
142
142
|
email_intro: El teu comentari a "%{resource_title}" ha rebut un vot negatiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
|
143
|
-
email_outro: Has rebut aquesta notificació perquè
|
143
|
+
email_outro: Has rebut aquesta notificació perquè vas fer aquest comentari.
|
144
144
|
email_subject: El teu comentari a "%{resource_title}" ha rebut un vot negatiu.
|
145
145
|
notification_title: El teu <a href="%{resource_path}">comentari</a> a "%{resource_title}" ha rebut un vot negatiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
|
146
146
|
comment_upvoted:
|
147
147
|
email_intro: El teu comentari a "%{resource_title}" ha rebut un vot positiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
|
148
|
-
email_outro: Has rebut aquesta notificació perquè
|
148
|
+
email_outro: Has rebut aquesta notificació perquè vas fer aquest comentari.
|
149
149
|
email_subject: El teu comentari a "%{resource_title}" ha rebut un vot positiu.
|
150
150
|
notification_title: El teu <a href="%{resource_path}">comentari</a> a "%{resource_title}" ha rebut un vot positiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
|
151
151
|
reply_created:
|
@@ -155,12 +155,12 @@ ca:
|
|
155
155
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> ha respost el teu comentari a <a href="%{resource_path}">%{resource_title}</a>
|
156
156
|
user_group_mentioned:
|
157
157
|
email_intro: Un grup al qual pertanys ha estat esmentat
|
158
|
-
email_outro: Has rebut aquesta notificació perquè formes part del grup %{group_name} que ha estat esmentat a %{resource_title}.
|
158
|
+
email_outro: Has rebut aquesta notificació perquè formes part del grup "%{group_name}" que ha estat esmentat a %{resource_title}.
|
159
159
|
email_subject: T'han esmentat a %{resource_title} com a membre de %{group_name}
|
160
160
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> t'ha esmentat com a membre de <a href="%{group_path}">%{group_name} %{group_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>
|
161
161
|
user_mentioned:
|
162
162
|
email_intro: Has estat esmentada
|
163
|
-
email_outro: Has rebut aquesta notificació perquè
|
163
|
+
email_outro: Has rebut aquesta notificació perquè t'han esmentat al comentari "%{resource_title}".
|
164
164
|
email_subject: Has estat esmentada a %{resource_title}
|
165
165
|
notification_title: Has estat esmentada a <a href="%{resource_path}">%{resource_title}</a> per <a href="%{author_path}">%{author_name} %{author_nickname}</a>
|
166
166
|
metrics:
|
data/config/locales/de.yml
CHANGED
@@ -65,7 +65,7 @@ de:
|
|
65
65
|
alignment:
|
66
66
|
against: Gegen
|
67
67
|
in_favor: Zugunsten
|
68
|
-
confirm_destroy:
|
68
|
+
confirm_destroy: Sind Sie sich sicher, dass Sie diesen Kommentar löschen möchten?
|
69
69
|
delete: Löschen
|
70
70
|
deleted_at: Kommentar gelöscht am %{date}
|
71
71
|
deleted_user: Gelöschter Benutzer
|
data/config/locales/es.yml
CHANGED
@@ -125,7 +125,7 @@ es:
|
|
125
125
|
comments:
|
126
126
|
comment_by_followed_user:
|
127
127
|
email_intro: "%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:"
|
128
|
-
email_outro: Has recibido esta notificación porque sigues "%{author_name}". Puedes dejar de seguir a esta participante desde su página de perfil.
|
128
|
+
email_outro: Has recibido esta notificación porque sigues a "%{author_name}". Puedes dejar de seguir a esta participante desde su página de perfil.
|
129
129
|
email_subject: Hay un nuevo comentario de %{author_name} en %{resource_title}
|
130
130
|
notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>.
|
131
131
|
comment_by_followed_user_group:
|
@@ -135,32 +135,32 @@ es:
|
|
135
135
|
notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>.
|
136
136
|
comment_created:
|
137
137
|
email_intro: "%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:"
|
138
|
-
email_outro: Has recibido esta notificación porque
|
138
|
+
email_outro: Has recibido esta notificación porque estás siguiendo el comentario "%{resource_title}" o a su autora. Puedes dejar de seguirla desde el enlace anterior.
|
139
139
|
email_subject: Hay un nuevo comentario de %{author_name} en %{resource_title}
|
140
140
|
notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>
|
141
141
|
comment_downvoted:
|
142
142
|
email_intro: Tu comentario en "%{resource_title}" ha sido votado negativamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
|
143
|
-
email_outro: Has recibido esta notificación porque
|
143
|
+
email_outro: Has recibido esta notificación porque hiciste este comentario.
|
144
144
|
email_subject: Su comentario en "%{resource_title}" ha sido votado negativamente.
|
145
145
|
notification_title: Tu <a href="%{resource_path}">comentario</a> en "%{resource_title}" ha sido votado negativamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
|
146
146
|
comment_upvoted:
|
147
147
|
email_intro: Tu comentario en "%{resource_title}" ha sido votado postivamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
|
148
|
-
email_outro: Has recibido esta notificación porque
|
148
|
+
email_outro: Has recibido esta notificación porque hiciste este comentario.
|
149
149
|
email_subject: Tu comentario en "%{resource_title}" ha sido votado positivamente.
|
150
150
|
notification_title: Tu <a href="%{resource_path}">comentario</a> en "%{resource_title}" ha sido votado positivamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
|
151
151
|
reply_created:
|
152
152
|
email_intro: "%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:"
|
153
|
-
email_outro: Has recibido esta notificación porque tu comentario
|
153
|
+
email_outro: Has recibido esta notificación porque han respondido a tu comentario.
|
154
154
|
email_subject: "%{author_name} ha respondido a tu comentario en %{resource_title}"
|
155
155
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href="%{resource_path}">%{resource_title}</a>
|
156
156
|
user_group_mentioned:
|
157
157
|
email_intro: Se ha mencionado un grupo al que perteneces
|
158
|
-
email_outro: Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.
|
158
|
+
email_outro: Has recibido esta notificación porque formas parte del grupo "%{group_name}" que ha sido mencionado en "%{resource_title}".
|
159
159
|
email_subject: Te han mencionado en %{resource_title} como miembro de %{group_name}
|
160
160
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> te ha mencionado en <a href="%{resource_path}">%{resource_title}</a> como miembro de <a href="%{group_path}">%{group_name} %{group_nickname}</a>
|
161
161
|
user_mentioned:
|
162
162
|
email_intro: Has sido mencionada
|
163
|
-
email_outro: Has recibido esta notificación porque
|
163
|
+
email_outro: Has recibido esta notificación porque te han mencionado en el comentario "%{resource_title}".
|
164
164
|
email_subject: Has sido mencionada en %{resource_title}
|
165
165
|
notification_title: Has sido mencionada en <a href="%{resource_path}">%{resource_title}</a> por <a href="%{author_path}">%{author_name} %{author_nickname}</a>
|
166
166
|
metrics:
|
data/config/locales/eu.yml
CHANGED
@@ -4,7 +4,7 @@ eu:
|
|
4
4
|
models:
|
5
5
|
decidim/comments/comment_by_followed_user_event: Iruzkina
|
6
6
|
decidim/comments/comment_created_event: Iruzkina
|
7
|
-
decidim/comments/comment_upvoted_event: Iruzkina
|
7
|
+
decidim/comments/comment_upvoted_event: Iruzkina positiboki baloratua
|
8
8
|
decidim/comments/reply_created_event: Iruzkinaren erantzuna
|
9
9
|
decidim/comments/user_group_mentioned_event: Aipamena
|
10
10
|
decidim/comments/user_mentioned_event: Aipamena
|
@@ -26,19 +26,19 @@ eu:
|
|
26
26
|
start_time: Iruzkinak noiztik aktibatuta
|
27
27
|
comments:
|
28
28
|
create:
|
29
|
-
error:
|
29
|
+
error: Arazo bat egon da iruzkina sortzean.
|
30
30
|
delete:
|
31
31
|
error: Iruzkina ezin izan da ezabatu.
|
32
32
|
update:
|
33
|
-
error:
|
33
|
+
error: Arazo bat ego da iruzkina eguneratzean.
|
34
34
|
comments_count: Iruzkin kopurua
|
35
|
-
comments_title:
|
35
|
+
comments_title: Iruzkinak
|
36
36
|
last_activity:
|
37
|
-
new_comment_at_html: "<span>
|
37
|
+
new_comment_at_html: "<span>Beste iruzkin bat hemen: %{link}</span>"
|
38
38
|
view: Bistaratu
|
39
39
|
votes:
|
40
40
|
create:
|
41
|
-
error: Arazo bat
|
41
|
+
error: Arazo bat egon da iruzkina bozkatzean.
|
42
42
|
components:
|
43
43
|
add_comment_form:
|
44
44
|
account_message: <a href="%{sign_in_url}">Hasi saioa zure kontuarekin</a> o <a href="%{sign_up_url}">erregistratu</a> zure iruzkina txertatzeko.
|
@@ -60,7 +60,7 @@ eu:
|
|
60
60
|
positive_selected: Zure iritzia gai honi buruz positiboa da
|
61
61
|
remaining_characters: "%{count} karaktere geratzen dira"
|
62
62
|
remaining_characters_1: "karaktere %{count} geratzen da"
|
63
|
-
title:
|
63
|
+
title: Gehitu zure iruzkina
|
64
64
|
comment:
|
65
65
|
alignment:
|
66
66
|
against: Aurka
|
@@ -68,7 +68,7 @@ eu:
|
|
68
68
|
confirm_destroy: Ziur zaude iruzkin hau ezabatu nahi duzula?
|
69
69
|
delete: Ezabatu
|
70
70
|
deleted_at: Iruzkina ezabatu da data honetan %{date}
|
71
|
-
deleted_user: Parte
|
71
|
+
deleted_user: Parte-hartzailea ezabatua
|
72
72
|
edit: Editatu
|
73
73
|
edited: Editatuta
|
74
74
|
hide_replies: Ezkutatu erantzunak
|
@@ -91,7 +91,7 @@ eu:
|
|
91
91
|
single_comment_link_title: Lortu esteka
|
92
92
|
comment_order_selector:
|
93
93
|
order:
|
94
|
-
best_rated: Balorazio
|
94
|
+
best_rated: Balorazio onenak
|
95
95
|
most_discussed: Eztabaidatuenak
|
96
96
|
older: Zaharrenak
|
97
97
|
recent: Berrienak
|
@@ -126,18 +126,18 @@ eu:
|
|
126
126
|
comment_by_followed_user:
|
127
127
|
email_intro: "%{author_name} egileak iruzkin bat utzi du %{resource_title} helbidean. Orri honetan irakur dezakezu:"
|
128
128
|
email_outro: Jakinarazpen hau jaso duzu %{author_name} erabiltzailea jarraitzen duzulako. Nahi izatekotan erabiltzaile hori bere profil-orritik jarraitzeari utz diezaiokezu.
|
129
|
-
email_subject: '%{author_name}
|
130
|
-
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a
|
129
|
+
email_subject: '%{author_name} k beste iruzkin bat egin du hemen: %{resource_title}'
|
130
|
+
notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a> k iruzkin berri bat egin du hemen: <a href="%{resource_path}">%{resource_title}</a>-an.'
|
131
131
|
comment_by_followed_user_group:
|
132
132
|
email_intro: '%{author_name} k iruzkin bat utzi du hemen %{resource_title}. Orrialde honetan irakur dezakezu:'
|
133
133
|
email_outro: Jakinarazpena jaso duzu "%{author_name}" jarraitzen ari zarelako. Jarraitzeari utzi ahal diozu bere perfileko orrialdetik.
|
134
|
-
email_subject: '%{author_name} egileak iruzkin berri bat utzi du %{resource_title}
|
135
|
-
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a>egileak iruzkin berri bat utzi du <a href="%{resource_path}">%{resource_title}</a>-an.
|
134
|
+
email_subject: '%{author_name} egileak iruzkin berri bat utzi du hemen: %{resource_title}'
|
135
|
+
notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a>egileak iruzkin berri bat utzi du hemen: <a href="%{resource_path}">%{resource_title}</a>-an.'
|
136
136
|
comment_created:
|
137
|
-
email_intro: "%{resource_title} iruzkindu da. Orri honetan
|
137
|
+
email_intro: "%{resource_title} iruzkindu da. Orri honetan irakur dezakezu iruzkina:"
|
138
138
|
email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" edo bere egilea jarraitzen duzulako. Aurreko estekan jarrai dezakezu.
|
139
|
-
email_subject: '%{author_name}
|
140
|
-
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <a href="%{resource_path}">%{resource_title}</a
|
139
|
+
email_subject: '%{author_name} k beste iruzkin berri bat egin du hemen: %{resource_title}'
|
140
|
+
notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a> k iruzkin berri bat egin du hemen: <a href="%{resource_path}">%{resource_title}</a></a>'
|
141
141
|
comment_downvoted:
|
142
142
|
email_intro: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da. Orain %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu guztira.
|
143
143
|
email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako.
|
@@ -149,9 +149,9 @@ eu:
|
|
149
149
|
email_subject: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da.
|
150
150
|
notification_title: Zure <a href="%{resource_path}">iruzkina </a> "%{resource_title}"-an positiboki bozkatu da. Orain guztira %{upvotes} botos positibo eta %{downvotes} boto negatibo dituzu.
|
151
151
|
reply_created:
|
152
|
-
email_intro: "%{author_name} zure iruzkina erantzun du %{resource_title}
|
152
|
+
email_intro: "%{author_name} k zure iruzkina erantzun du hemen: %{resource_title}. Orri honetan irakur dezakezu:"
|
153
153
|
email_outro: Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.
|
154
|
-
email_subject: "%{author_name}-k zure iruzkina erantzun du %{resource_title}
|
154
|
+
email_subject: "%{author_name}-k zure iruzkina erantzun du hemen: %{resource_title}"
|
155
155
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> -k zure iruzkinari erantzun dio <a href="%{resource_path}">%{resource_title}</a>
|
156
156
|
user_group_mentioned:
|
157
157
|
email_intro: Zure talde bat aipatu dute
|
@@ -160,14 +160,14 @@ eu:
|
|
160
160
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> k aipatu zaitu hemen <a href="%{resource_path}">%{resource_title}</a> <a href="%{group_path}">%{group_name} %{group_nickname}</a> taldearen kide gisa
|
161
161
|
user_mentioned:
|
162
162
|
email_intro: Aipatu zaituzte
|
163
|
-
email_outro:
|
164
|
-
email_subject: '%{resource_title}
|
165
|
-
notification_title: <a href="%{
|
163
|
+
email_outro: 'Jakinarazpen hau jaso duzu hemen: %{resource_title} aipatu zaituztelako.'
|
164
|
+
email_subject: 'Hemen: %{resource_title} aipatu zaituzte'
|
165
|
+
notification_title: 'Hemen: <a href="%{group_path}">%{group_name} %{group_nickname}</a> egile honek: <a href="%{author_path}">%{author_name} %{author_nickname}</a> aipatu zaitu'
|
166
166
|
metrics:
|
167
167
|
comments:
|
168
168
|
description: Erabiltzaileek sortutako iruzkin kopurua
|
169
169
|
object: iruzkinak
|
170
|
-
title:
|
170
|
+
title: Iruzkinak
|
171
171
|
errors:
|
172
172
|
messages:
|
173
173
|
cannot_have_comments: ezin zaio iruzkinik egin
|
@@ -0,0 +1 @@
|
|
1
|
+
he:
|
data/config/locales/hu.yml
CHANGED
@@ -27,6 +27,8 @@ hu:
|
|
27
27
|
comments:
|
28
28
|
create:
|
29
29
|
error: Hiba történt a hozzászólás létrehozása során.
|
30
|
+
delete:
|
31
|
+
error: A hozzászólás nem törölhető.
|
30
32
|
update:
|
31
33
|
error: Hiba történt a hozzászólás frissítése során.
|
32
34
|
comments_count: Hozzászólások száma
|
@@ -45,7 +47,7 @@ hu:
|
|
45
47
|
label: Megjegyzés
|
46
48
|
placeholder: Mit gondolsz erről?
|
47
49
|
form_error: Kötelező kitölteni, és nem lehet hosszabb, mint %{length} karakter.
|
48
|
-
submit:
|
50
|
+
submit: Küldés
|
49
51
|
user_group_id:
|
50
52
|
label: 'Megjegyzés mint:'
|
51
53
|
opinion:
|
data/config/locales/ja.yml
CHANGED
@@ -88,10 +88,10 @@ ja:
|
|
88
88
|
single_comment_link_title: リンク取得
|
89
89
|
comment_order_selector:
|
90
90
|
order:
|
91
|
-
best_rated:
|
92
|
-
most_discussed:
|
91
|
+
best_rated: 評価の高い順
|
92
|
+
most_discussed: 議論数の多い順
|
93
93
|
older: 古い順
|
94
|
-
recent:
|
94
|
+
recent: 新しい順
|
95
95
|
title: '並び順:'
|
96
96
|
comment_thread:
|
97
97
|
title: '%{authorName} との会話'
|
@@ -130,7 +130,7 @@ ja:
|
|
130
130
|
email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります'
|
131
131
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> より <a href="%{resource_path}">%{resource_title} に対して新しいコメントがあります</a>.
|
132
132
|
comment_created:
|
133
|
-
email_intro: "%{resource_title}
|
133
|
+
email_intro: "%{resource_title} にコメントがありました。このページでコメントを読むことができます:"
|
134
134
|
email_outro: '"%{resource_title}" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。'
|
135
135
|
email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります'
|
136
136
|
notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> から <a href="%{resource_path}">%{resource_title} に対して新しいコメントがあります</a>
|
data/config/locales/lt.yml
CHANGED
@@ -89,6 +89,11 @@ lt:
|
|
89
89
|
offensive: Pateikiamoje informacijoje yra rasizmo, seksizmo, keiksmažodžių, asmeninių atakų, grasinimų ar kitokios neapykantos kalbos.
|
90
90
|
spam: Pateikiamoje informacijoje yra reklamos, antraščių mąsalo ar apgavysčių.
|
91
91
|
title: Pranešti apie netinkamą turinį
|
92
|
+
show_replies:
|
93
|
+
one: Rodyti atsakymą
|
94
|
+
few: Rodyti %{count} atsakymus
|
95
|
+
many: Rodyti %{count} atsakymus
|
96
|
+
other: Rodyti %{count} atsakymus
|
92
97
|
single_comment_link_title: Gauti nuorodą
|
93
98
|
comment_order_selector:
|
94
99
|
order:
|
data/config/locales/pl.yml
CHANGED
@@ -4,6 +4,7 @@ pl:
|
|
4
4
|
models:
|
5
5
|
decidim/comments/comment_by_followed_user_event: Komentarz
|
6
6
|
decidim/comments/comment_created_event: Komentarz
|
7
|
+
decidim/comments/comment_upvoted_event: Polubiono komentarz
|
7
8
|
decidim/comments/reply_created_event: Odpowiedź na komentarz
|
8
9
|
decidim/comments/user_group_mentioned_event: Wzmianka
|
9
10
|
decidim/comments/user_mentioned_event: Wzmianka
|
@@ -24,6 +25,8 @@ pl:
|
|
24
25
|
admin:
|
25
26
|
shared:
|
26
27
|
availability_fields:
|
28
|
+
enabled: Komentarze włączone
|
29
|
+
end_time: Komentarze włączone do
|
27
30
|
start_time: Komentowanie możliwe od
|
28
31
|
comments:
|
29
32
|
create:
|
@@ -73,6 +76,7 @@ pl:
|
|
73
76
|
edit: Edytuj
|
74
77
|
edited: Edytowany
|
75
78
|
hide_replies: Ukryj odpowiedzi
|
79
|
+
moderated_at: Komentarz moderowany dnia %{date}
|
76
80
|
reply: Odpowiedz
|
77
81
|
report:
|
78
82
|
action: Zgłoś
|
@@ -85,6 +89,11 @@ pl:
|
|
85
89
|
offensive: Promuje rasizm, seksizm, nienawiść, ataki osobiste, groźby śmierci, groźby samobójcze jakąkolwiek formę mowy nienawiści.
|
86
90
|
spam: Zawiera clickbaity, reklamy, oszustwa lub skrypty botów.
|
87
91
|
title: Zgłoś niewłaściwą treść
|
92
|
+
show_replies:
|
93
|
+
one: Pokaż odpowiedź
|
94
|
+
few: Pokaż %{count} odpowiedzi
|
95
|
+
many: Pokaż %{count} odpowiedzi
|
96
|
+
other: Pokaż %{count} odpowiedzi
|
88
97
|
single_comment_link_title: Pobierz link
|
89
98
|
comment_order_selector:
|
90
99
|
order:
|
@@ -101,6 +110,7 @@ pl:
|
|
101
110
|
blocked_comments_warning: Komentarze są w tej chwili wyłączone, ale możesz przeczytać poprzednie.
|
102
111
|
comment_details_title: Szczegóły komentarza
|
103
112
|
loading: Ładowanie komentarzy ...
|
113
|
+
single_comment_warning: <a href="%{url}">Zobacz wszystkie komentarze</a>
|
104
114
|
single_comment_warning_title: Wyświetlasz teraz pojedynczy komentarz
|
105
115
|
title:
|
106
116
|
one: "%{count} komentarz"
|
data/config/locales/pt-BR.yml
CHANGED
@@ -4,6 +4,7 @@ pt-BR:
|
|
4
4
|
models:
|
5
5
|
decidim/comments/comment_by_followed_user_event: Comente
|
6
6
|
decidim/comments/comment_created_event: Comentário
|
7
|
+
decidim/comments/comment_upvoted_event: Comentário valorizado positivamente
|
7
8
|
decidim/comments/reply_created_event: Resposta
|
8
9
|
decidim/comments/user_group_mentioned_event: Mencionar
|
9
10
|
decidim/comments/user_mentioned_event: Mencionar
|
@@ -65,6 +66,7 @@ pt-BR:
|
|
65
66
|
edit: Editar
|
66
67
|
edited: Editado
|
67
68
|
hide_replies: Ocultar respostas
|
69
|
+
moderated_at: Comentário moderado em %{date}
|
68
70
|
reply: Resposta
|
69
71
|
report:
|
70
72
|
action: Relatório
|
data/config/locales/ro-RO.yml
CHANGED
@@ -71,9 +71,9 @@ ro:
|
|
71
71
|
delete: Șterge
|
72
72
|
deleted_at: Comentariu șters la %{date}
|
73
73
|
deleted_user: Participant șters
|
74
|
-
edit:
|
75
|
-
edited:
|
76
|
-
hide_replies:
|
74
|
+
edit: Actualizare
|
75
|
+
edited: Actualizat
|
76
|
+
hide_replies: Ascundeți răspunsurile
|
77
77
|
moderated_at: Comentariu moderat pe %{date}
|
78
78
|
reply: Răspunde
|
79
79
|
report:
|
@@ -139,7 +139,7 @@ ro:
|
|
139
139
|
notification_title: Există un comentariu nou de la <a href="%{author_path}">%{author_name} %{author_nickname}</a> pentru <a href="%{resource_path}">%{resource_title}</a>.
|
140
140
|
comment_created:
|
141
141
|
email_intro: "%{resource_title} a primit un comentariu. Poți citi comentariul pe această pagină:"
|
142
|
-
email_outro:
|
142
|
+
email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}” sau pe autorii săi. Puteți anula abonarea de la link-ul anterior.
|
143
143
|
email_subject: Există un nou comentariu de la %{author_name} pentru %{resource_title}
|
144
144
|
notification_title: Există un nou comentariu de la <a href="%{author_path}">%{author_name} %{author_nickname}</a> pentru <a href="%{resource_path}">%{resource_title}</a>
|
145
145
|
comment_downvoted:
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
sq:
|
3
|
+
decidim:
|
4
|
+
components:
|
5
|
+
add_comment_form:
|
6
|
+
form:
|
7
|
+
user_group_id:
|
8
|
+
label: Komento si
|
9
|
+
opinion:
|
10
|
+
label: Mendimi jot mbi këtë temë
|
11
|
+
negative: Negativ
|
12
|
+
negative_selected: Mendimi jot mbi këtë temë është negativ
|
13
|
+
neutral: Neutral
|
14
|
+
neutral_selected: Mendimi jot mbi këtë temë është neutral
|
15
|
+
positive: Pozitiv
|
16
|
+
positive_selected: Mendimi jot mbi këtë temë është pozitiv
|
17
|
+
remaining_characters: "%{count} karaktere të mbetura"
|
18
|
+
remaining_characters_1: "%{count} karakter i mbetur"
|
19
|
+
title: Shto komentin tënd
|
20
|
+
comment:
|
21
|
+
alignment:
|
22
|
+
against: Kundër
|
23
|
+
in_favor: Pro
|
24
|
+
confirm_destroy: A je i sigurt që do ta fshish këtë koment?
|
25
|
+
delete: Fshi
|
26
|
+
deleted_at: Komenti u fshi në datën %{date}
|
27
|
+
edit: Përpuno
|
28
|
+
edited: Ndryshuar
|
29
|
+
hide_replies: Fshih përgjigjet
|
30
|
+
moderated_at: Komenti u moderua në datën %{date}
|
31
|
+
reply: Përgjigju
|
32
|
+
report:
|
33
|
+
action: Raporto
|
34
|
+
already_reported: Kjo përmbajtje është raportuar nga të tjerë dhe do rishikohet nga administratorët.
|
35
|
+
close: Mbyll
|
36
|
+
description: Përmbajtje e papërshtatshme?
|
37
|
+
details: Komente të tjera
|
38
|
+
reasons:
|
39
|
+
offensive: Përmban racizëm, seksizëm, ofendime, sulme personale, kërcënime me vdekje, shtyrje për vetëvrasje apo forma të tjera të gjuhës së urrejtjes.
|
data/config/locales/sv.yml
CHANGED
@@ -85,6 +85,9 @@ sv:
|
|
85
85
|
offensive: Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda.
|
86
86
|
spam: Innehåller clickbait, reklam, bedrägerier eller skriptrobotar.
|
87
87
|
title: Rapportera olämpligt innehåll
|
88
|
+
show_replies:
|
89
|
+
one: Visa svar
|
90
|
+
other: Visa %{count} svar
|
88
91
|
single_comment_link_title: Hämta länk
|
89
92
|
comment_order_selector:
|
90
93
|
order:
|
@@ -0,0 +1 @@
|
|
1
|
+
th:
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddCommentVoteCounterCacheToComments < ActiveRecord::Migration[6.1]
|
4
|
+
def change
|
5
|
+
add_column :decidim_comments_comments, :up_votes_count, :integer, null: false, default: 0, index: true
|
6
|
+
add_column :decidim_comments_comments, :down_votes_count, :integer, null: false, default: 0, index: true
|
7
|
+
|
8
|
+
# We cannot use the reset_counters as up_votes and down_votes are scoped associationws
|
9
|
+
reversible do |dir|
|
10
|
+
dir.up do
|
11
|
+
Decidim::Comments::Comment.reset_column_information
|
12
|
+
Decidim::Comments::Comment.find_each do |record|
|
13
|
+
# rubocop:disable Rails/SkipsModelValidations
|
14
|
+
record.class.update_counters(record.id, up_votes_count: record.up_votes.length)
|
15
|
+
record.class.update_counters(record.id, down_votes_count: record.down_votes.length)
|
16
|
+
# rubocop:enable Rails/SkipsModelValidations
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
4
|
+
|
5
|
+
# Maintain your gem's version:
|
6
|
+
require "decidim/comments/version"
|
7
|
+
|
8
|
+
# Describe your gem and declare its dependencies:
|
9
|
+
Gem::Specification.new do |s|
|
10
|
+
s.version = Decidim::Comments.version
|
11
|
+
s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
|
12
|
+
s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
|
13
|
+
s.license = "AGPL-3.0"
|
14
|
+
s.homepage = "https://github.com/decidim/decidim"
|
15
|
+
s.required_ruby_version = "~> 3.0.0"
|
16
|
+
|
17
|
+
s.name = "decidim-comments"
|
18
|
+
s.summary = "Decidim comments module"
|
19
|
+
s.description = "Pluggable comments system for some components."
|
20
|
+
|
21
|
+
s.files = Dir.chdir(__dir__) do
|
22
|
+
`git ls-files -z`.split("\x0").select do |f|
|
23
|
+
(File.expand_path(f) == __FILE__) ||
|
24
|
+
f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
s.add_dependency "decidim-core", Decidim::Comments.version
|
29
|
+
s.add_dependency "redcarpet", "~> 3.5", ">= 3.5.1"
|
30
|
+
|
31
|
+
s.add_development_dependency "decidim-admin", Decidim::Comments.version
|
32
|
+
s.add_development_dependency "decidim-dev", Decidim::Comments.version
|
33
|
+
end
|
@@ -58,7 +58,7 @@ module Decidim
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def up_votes
|
61
|
-
object.
|
61
|
+
object.up_votes_count
|
62
62
|
end
|
63
63
|
|
64
64
|
def up_voted
|
@@ -66,7 +66,7 @@ module Decidim
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def down_votes
|
69
|
-
object.
|
69
|
+
object.down_votes_count
|
70
70
|
end
|
71
71
|
|
72
72
|
def down_voted
|
@@ -33,7 +33,7 @@ module Decidim
|
|
33
33
|
|
34
34
|
def root_commentable_url
|
35
35
|
@root_commentable_url ||= if resource.root_commentable.respond_to?(:polymorphic_resource_url)
|
36
|
-
resource.root_commentable.polymorphic_resource_url
|
36
|
+
resource.root_commentable.polymorphic_resource_url({})
|
37
37
|
else
|
38
38
|
ResourceLocatorPresenter.new(resource.root_commentable).url
|
39
39
|
end
|
@@ -38,7 +38,7 @@ module Decidim
|
|
38
38
|
|
39
39
|
def root_commentable_url
|
40
40
|
@root_commentable_url ||= if resource.comment.root_commentable.respond_to?(:polymorphic_resource_url)
|
41
|
-
resource.comment.root_commentable.polymorphic_resource_url
|
41
|
+
resource.comment.root_commentable.polymorphic_resource_url({})
|
42
42
|
else
|
43
43
|
ResourceLocatorPresenter.new(resource.comment.root_commentable).url
|
44
44
|
end
|
@@ -4,8 +4,11 @@ require "decidim/core/test/factories"
|
|
4
4
|
|
5
5
|
FactoryBot.define do
|
6
6
|
factory :comment, class: "Decidim::Comments::Comment" do
|
7
|
-
|
8
|
-
|
7
|
+
transient do
|
8
|
+
skip_injection { false }
|
9
|
+
end
|
10
|
+
author { build(:user, organization: commentable.organization, skip_injection: skip_injection) }
|
11
|
+
commentable { build(:dummy_resource, skip_injection: skip_injection) }
|
9
12
|
root_commentable { commentable }
|
10
13
|
body { Decidim::Faker::Localized.paragraph }
|
11
14
|
participatory_space { commentable.try(:participatory_space) }
|
@@ -25,22 +28,26 @@ FactoryBot.define do
|
|
25
28
|
end
|
26
29
|
|
27
30
|
trait :comment_on_comment do
|
28
|
-
author { build(:user, organization: root_commentable.organization) }
|
31
|
+
author { build(:user, organization: root_commentable.organization, skip_injection: skip_injection) }
|
29
32
|
commentable do
|
30
33
|
build(
|
31
34
|
:comment,
|
32
35
|
author: author,
|
33
36
|
root_commentable: root_commentable,
|
34
|
-
commentable: root_commentable
|
37
|
+
commentable: root_commentable,
|
38
|
+
skip_injection: skip_injection
|
35
39
|
)
|
36
40
|
end
|
37
|
-
root_commentable { build(:dummy_resource) }
|
41
|
+
root_commentable { build(:dummy_resource, skip_injection: skip_injection) }
|
38
42
|
end
|
39
43
|
end
|
40
44
|
|
41
45
|
factory :comment_vote, class: "Decidim::Comments::CommentVote" do
|
42
|
-
|
43
|
-
|
46
|
+
transient do
|
47
|
+
skip_injection { false }
|
48
|
+
end
|
49
|
+
comment { build(:comment, skip_injection: skip_injection) }
|
50
|
+
author { build(:user, organization: comment.organization, skip_injection: skip_injection) }
|
44
51
|
weight { [-1, 1].sample }
|
45
52
|
|
46
53
|
trait :up_vote do
|
@@ -16,7 +16,7 @@ shared_context "when it's a comment event" do
|
|
16
16
|
let(:comment_author_name) { decidim_html_escape comment.author.name }
|
17
17
|
|
18
18
|
let(:extra) { { comment_id: comment.id } }
|
19
|
-
let(:resource_title) {
|
19
|
+
let(:resource_title) { decidim_sanitize_translated(resource.title) }
|
20
20
|
let(:user_group) do
|
21
21
|
user_group = create(:user_group, :verified, organization: organization, users: [comment_author])
|
22
22
|
comment.update!(user_group: user_group)
|
@@ -12,7 +12,7 @@ shared_examples_for "a comment voted event" do
|
|
12
12
|
let(:comment_vote_author) { comment_vote.author }
|
13
13
|
|
14
14
|
let(:extra) { { comment_id: comment.id, author_id: comment_vote_author.id, weight: weight, downvotes: 100, upvotes: 999 } }
|
15
|
-
let(:resource_title) {
|
15
|
+
let(:resource_title) { decidim_sanitize_translated(resource.title) }
|
16
16
|
let(:resource_text) { subject.resource_text }
|
17
17
|
|
18
18
|
let(:verb) { weight.positive? ? "upvoted" : "downvoted" }
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-comments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.27.
|
4
|
+
version: 0.27.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
8
8
|
- Marc Riera Casals
|
9
9
|
- Oriol Gual Oliva
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-04-30 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.27.
|
21
|
+
version: 0.27.6
|
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.27.
|
28
|
+
version: 0.27.6
|
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.27.
|
55
|
+
version: 0.27.6
|
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.27.
|
62
|
+
version: 0.27.6
|
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.27.
|
69
|
+
version: 0.27.6
|
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.27.
|
76
|
+
version: 0.27.6
|
77
77
|
description: Pluggable comments system for some components.
|
78
78
|
email:
|
79
79
|
- josepjaume@gmail.com
|
@@ -167,7 +167,6 @@ files:
|
|
167
167
|
- app/views/decidim/comments/votes/create.js.erb
|
168
168
|
- app/views/decidim/comments/votes/error.js.erb
|
169
169
|
- config/assets.rb
|
170
|
-
- config/environment.rb
|
171
170
|
- config/locales/am-ET.yml
|
172
171
|
- config/locales/ar-SA.yml
|
173
172
|
- config/locales/ar.yml
|
@@ -200,6 +199,7 @@ files:
|
|
200
199
|
- config/locales/ga-IE.yml
|
201
200
|
- config/locales/gl.yml
|
202
201
|
- config/locales/gn-PY.yml
|
202
|
+
- config/locales/he-IL.yml
|
203
203
|
- config/locales/hr-HR.yml
|
204
204
|
- config/locales/hr.yml
|
205
205
|
- config/locales/hu.yml
|
@@ -234,9 +234,11 @@ files:
|
|
234
234
|
- config/locales/sk.yml
|
235
235
|
- config/locales/sl.yml
|
236
236
|
- config/locales/so-SO.yml
|
237
|
+
- config/locales/sq-AL.yml
|
237
238
|
- config/locales/sr-CS.yml
|
238
239
|
- config/locales/sv.yml
|
239
240
|
- config/locales/sw-KE.yml
|
241
|
+
- config/locales/th-TH.yml
|
240
242
|
- config/locales/ti-ER.yml
|
241
243
|
- config/locales/tr-TR.yml
|
242
244
|
- config/locales/uk.yml
|
@@ -261,7 +263,9 @@ files:
|
|
261
263
|
- db/migrate/20200828101910_add_commentable_counter_cache_to_comments.rb
|
262
264
|
- db/migrate/20210402124534_add_participatory_process_to_comments.rb
|
263
265
|
- db/migrate/20210529095942_add_deleted_at_column_to_comments.rb
|
266
|
+
- db/migrate/20240304092558_add_comment_vote_counter_cache_to_comments.rb
|
264
267
|
- db/seeds.rb
|
268
|
+
- decidim-comments.gemspec
|
265
269
|
- lib/decidim/api/add_comment_type.rb
|
266
270
|
- lib/decidim/api/comment_mutation_type.rb
|
267
271
|
- lib/decidim/api/comment_type.rb
|
@@ -296,15 +300,15 @@ homepage: https://github.com/decidim/decidim
|
|
296
300
|
licenses:
|
297
301
|
- AGPL-3.0
|
298
302
|
metadata: {}
|
299
|
-
post_install_message:
|
303
|
+
post_install_message:
|
300
304
|
rdoc_options: []
|
301
305
|
require_paths:
|
302
306
|
- lib
|
303
307
|
required_ruby_version: !ruby/object:Gem::Requirement
|
304
308
|
requirements:
|
305
|
-
- - "
|
309
|
+
- - "~>"
|
306
310
|
- !ruby/object:Gem::Version
|
307
|
-
version:
|
311
|
+
version: 3.0.0
|
308
312
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
309
313
|
requirements:
|
310
314
|
- - ">="
|
@@ -312,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
316
|
version: '0'
|
313
317
|
requirements: []
|
314
318
|
rubygems_version: 3.2.22
|
315
|
-
signing_key:
|
319
|
+
signing_key:
|
316
320
|
specification_version: 4
|
317
321
|
summary: Decidim comments module
|
318
322
|
test_files: []
|
data/config/environment.rb
DELETED
File without changes
|