decidim-comments 0.27.0 → 0.27.2

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: e6c6e52bf2d6fb82ec3a0ef63c1a19166171b0f36b11c50348147eb83df09e2a
4
- data.tar.gz: e1830e662a9498d68f8104382506b74b47a59124ffdf2519fc3de6a4b58753ea
3
+ metadata.gz: c33bb43a97ef32ce38b5ee6db581b98f6128d146dfcbf1f44beb9d3a77650a29
4
+ data.tar.gz: 5ae194dd99009f8f73d1bbf6f037c24ab99367b770f18c07e4717b3defbdcd0c
5
5
  SHA512:
6
- metadata.gz: 1d9c728231a9257cd5d2d61757df644fe9297c72c3ecdf6d5a34387ae212876ee2596b1946100ffaaafdd7662ec82bc4aefab408ceca6be36a537995756409ca
7
- data.tar.gz: f874636ccc380e12d2f844c0e4b15a02e60e5f2416ffd20bdaa215965dcea80dc460ecdc3c5cf4aedae8afa93d32f92bf983a6d3e335637507921dd261ad1aa0
6
+ metadata.gz: 8be83a46d1b5e25a503dcbdc5008cdc66626ee308ab5e79f275ce8636520b69518db1168eb647f25313aca72d368a69f3430224d7a0d989e8ca894fb96beb98b
7
+ data.tar.gz: 9e3e0874809a1d523a1bfbdd34768997ae591bb82dda1b7f22dace5fd248d1cfea76630f52a861bd40d1e881ab19a2e8f43657753fe490e7911a7a045f0baa4e
@@ -56,8 +56,6 @@ module Decidim
56
56
  validate :body_length
57
57
  validate :commentable_can_have_comments
58
58
 
59
- delegate :organization, to: :commentable
60
-
61
59
  scope :not_deleted, -> { where(deleted_at: nil) }
62
60
 
63
61
  translatable_fields :body
@@ -81,6 +79,10 @@ module Decidim
81
79
  where(alignment: -1)
82
80
  end
83
81
 
82
+ def organization
83
+ commentable&.organization || participatory_space&.organization
84
+ end
85
+
84
86
  def visible?
85
87
  participatory_space.try(:visible?) && component.try(:published?)
86
88
  end
@@ -131,6 +133,8 @@ module Decidim
131
133
 
132
134
  # Public: Overrides the `reported_content_url` Reportable concern method.
133
135
  def reported_content_url
136
+ return unless root_commentable
137
+
134
138
  url_params = { anchor: "comment_#{id}" }
135
139
 
136
140
  if root_commentable.respond_to?(:polymorphic_resource_url)
@@ -43,7 +43,10 @@ export default class CommentsComponent {
43
43
  this.mounted = true;
44
44
  this._initializeComments(this.$element);
45
45
  if (!this.singleComment) {
46
- this._fetchComments();
46
+ $(".add-comment textarea", this.$element).prop("disabled", true);
47
+ this._fetchComments(() => {
48
+ $(".add-comment textarea", this.$element).prop("disabled", false);
49
+ });
47
50
  }
48
51
 
49
52
  $(".order-by__dropdown .is-submenu-item a", this.$element).on("click.decidim-comments", () => this._onInitOrder());
@@ -215,10 +218,11 @@ export default class CommentsComponent {
215
218
  * Sends an ajax request based on current
216
219
  * params to get comments for the component
217
220
  * @private
221
+ * @param {Function} successCallback A callback that is called after a
222
+ * successful fetch
218
223
  * @returns {Void} - Returns nothing
219
224
  */
220
- _fetchComments() {
221
- $(".add-comment textarea", this.$element).prop("disabled", true);
225
+ _fetchComments(successCallback = null) {
222
226
  Rails.ajax({
223
227
  url: this.commentsUrl,
224
228
  type: "GET",
@@ -231,7 +235,9 @@ export default class CommentsComponent {
231
235
  ...(this.lastCommentId && { "after": this.lastCommentId })
232
236
  }),
233
237
  success: () => {
234
- $(".add-comment textarea", this.$element).prop("disabled", false);
238
+ if (successCallback) {
239
+ successCallback();
240
+ }
235
241
  this._pollComments();
236
242
  }
237
243
  });
@@ -418,6 +418,21 @@ describe("CommentsComponent", () => {
418
418
  expect(window.setTimeout).toHaveBeenLastCalledWith(expect.any(Function), 1000);
419
419
  });
420
420
 
421
+ it("does not disable the textarea when polling comments normally", () => {
422
+ Rails.ajax.mockImplementationOnce((options) => options.success());
423
+
424
+ subject.mountComponent();
425
+
426
+ // Delay the success call 2s after the polling has happened to test that
427
+ // the textarea is still enabled when the polling is happening.
428
+ Rails.ajax.mockImplementationOnce((options) => {
429
+ setTimeout(options.success(), 2000);
430
+ });
431
+ jest.advanceTimersByTime(1500);
432
+
433
+ expect($(`${selector} .add-comment textarea`).prop("disabled")).toBeFalsy();
434
+ });
435
+
421
436
  describe("when mounted", () => {
422
437
  beforeEach(() => {
423
438
  spyOnAddComment("on");
@@ -4,14 +4,15 @@ 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 bozkatu da
7
8
  decidim/comments/reply_created_event: Iruzkinaren erantzuna
8
- decidim/comments/user_group_mentioned_event: Aipatu
9
- decidim/comments/user_mentioned_event: Aipatu
9
+ decidim/comments/user_group_mentioned_event: Aipamena
10
+ decidim/comments/user_mentioned_event: Aipamena
10
11
  activerecord:
11
12
  models:
12
13
  decidim/comments/comment:
13
14
  one: Iruzkina
14
- other: Oharrak
15
+ other: Iruzkinak
15
16
  decidim/comments/comment_vote:
16
17
  one: Bozkatu
17
18
  other: Botoak
@@ -21,7 +22,7 @@ eu:
21
22
  shared:
22
23
  availability_fields:
23
24
  enabled: Iruzkinak gaituta
24
- end_time: Iruzkinak noiz arte aktibatuta
25
+ end_time: Iruzkinak gaituta daude
25
26
  start_time: Iruzkinak noiztik aktibatuta
26
27
  comments:
27
28
  create:
@@ -37,7 +38,7 @@ eu:
37
38
  view: Bistaratu
38
39
  votes:
39
40
  create:
40
- error: Erroreak gertatu dira iruzkina bozkatzean.
41
+ error: Arazo bat dago iruzkina bozkatzeko.
41
42
  components:
42
43
  add_comment_form:
43
44
  account_message: <a href="%{sign_in_url}">Hasi saioa zure kontuarekin</a> o <a href="%{sign_up_url}">erregistratu</a> zure iruzkina txertatzeko.
@@ -67,10 +68,11 @@ eu:
67
68
  confirm_destroy: Ziur zaude iruzkin hau ezabatu nahi duzula?
68
69
  delete: Ezabatu
69
70
  deleted_at: Iruzkina ezabatu da data honetan %{date}
70
- deleted_user: Erabiltzaile ezabatua
71
+ deleted_user: Parte hartzaile ezabatua
71
72
  edit: Editatu
72
73
  edited: Editatuta
73
74
  hide_replies: Ezkutatu erantzunak
75
+ moderated_at: Iruzkina %{date}-an moderatu egin da
74
76
  reply: Erantzuna
75
77
  report:
76
78
  action: Salatu
@@ -84,7 +86,7 @@ eu:
84
86
  spam: Bertan badago clickbait-ik, publizitaterik edo iruzurrik.
85
87
  title: Jakinarazi eduki desegokia
86
88
  show_replies: Erakutsi %{replies_count} erantzun
87
- single_comment_link_title: Lortu lotura
89
+ single_comment_link_title: Lortu esteka
88
90
  comment_order_selector:
89
91
  order:
90
92
  best_rated: Balorazio hoberenak
@@ -102,6 +104,9 @@ eu:
102
104
  loading: Iruzkinak kargatzen...
103
105
  single_comment_warning: <a href="%{url}">k erakusten ditu iruzkin guztiak</a>
104
106
  single_comment_warning_title: Iruzkin bakar bat ikusten ari zara
107
+ title:
108
+ one: "%{count} iruzkin"
109
+ other: "%{count} iruzkin"
105
110
  down_vote_button:
106
111
  text: Ez nago ados iruzkin honekin
107
112
  edit_comment_modal_form:
@@ -117,15 +122,15 @@ eu:
117
122
  events:
118
123
  comments:
119
124
  comment_by_followed_user:
120
- email_intro: "%{author_name} iruzkin bat utzi du %{resource_title}helbidean. Orri honetan irakur dezakezu:"
121
- email_outro: Jakinarazpena jaso duzu %{author_name}jarraituz gero. Erabiltzaile hau bere profileko orrialdetik jarrai dezakezu.
125
+ email_intro: "%{author_name} egileak iruzkin bat utzi du %{resource_title} helbidean. Orri honetan irakur dezakezu:"
126
+ email_outro: Jakinarazpen hau jaso duzu %{author_name} erabiltzailea jarraitzen duzulako. Erabiltzaile horri profil-orrialdetik ez jarraitu.
122
127
  email_subject: '%{author_name} %{resource_title} iruzkin berri bat dago'
123
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <a href="%{resource_path}">%{resource_title}</a> </a> iruzkin berri bat dago.
128
+ notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a>-en iruzkin berri bat dagon <a href="%{resource_path}">%{resource_title}</a>-an.
124
129
  comment_by_followed_user_group:
125
130
  email_intro: '%{author_name} k iruzkin bat utzi du hemen %{resource_title}. Orrialde honetan irakur dezakezu:'
126
131
  email_outro: Jakinarazpena jaso duzu "%{author_name}" jarraitzen ari zarelako. Jarraitzeari utzi ahal diozu bere perfileko orrialdetik.
127
- email_subject: '%{author_name} %{resource_title} iruzkin berri bat dago'
128
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <a href="%{resource_path}">%{resource_title}</a> </a> iruzkin berri bat dago.
132
+ email_subject: '%{author_name} egileak iruzkin berri bat utzi du %{resource_title}-an'
133
+ 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.
129
134
  comment_created:
130
135
  email_intro: "%{resource_title} iruzkindu da. Orri honetan iruzkina irakur dezakezu:"
131
136
  email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" edo bere egilea jarraitzen duzulako. Aurreko esteka estekan jarrai dezakezu.
@@ -135,26 +140,26 @@ eu:
135
140
  email_intro: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da. Orain %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu guztira.
136
141
  email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako.
137
142
  email_subject: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da.
138
- notification_title: Zure iruzkina <a href="%{resource_path}">comentario</a> hemen "%{resource_title}" negatiboki bozkatu da. Orain guztira %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu.
143
+ notification_title: Zure <a href="%{resource_path}">iruzkina</a> hemen "%{resource_title}" negatiboki bozkatu da. Orain guztira %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu.
139
144
  comment_upvoted:
140
145
  email_intro: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da. Orain guztira %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu.
141
146
  email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako.
142
147
  email_subject: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da.
143
- notification_title: Zure iruzkina hemen <a href="%{resource_path}">comentario</a> en "%{resource_title}" positiboki bozkatu da. Orain guztira %{upvotes} botos positibo eta %{downvotes} boto negatibo dituzu.
148
+ 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.
144
149
  reply_created:
145
150
  email_intro: "%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:"
146
151
  email_outro: Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.
147
- email_subject: "%{author_name} zure iruzkina erantzun du %{resource_title} zenbakian"
152
+ email_subject: "%{author_name}-k zure iruzkina erantzun du %{resource_title} zenbakian"
148
153
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> -k zure iruzkinari erantzun dio <a href="%{resource_path}">%{resource_title}</a>
149
154
  user_group_mentioned:
150
- email_intro: Zu barne zauden talde bat aipatu da
151
- email_outro: Jakinarazpen hau jaso duzu hemen %{resource_title} aipatu den %{group_name} taldearen kidea zarelako.
155
+ email_intro: Zure talde bat aipatu dute
156
+ email_outro: '%{resource_title}-an aipatutako %{group_name} taldeko kidea zarelako jaso duzu jakinarazpen hau.'
152
157
  email_subject: Hemen %{resource_title} aipatu zaituzte %{group_name} taldearen kide gisa
153
158
  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
154
159
  user_mentioned:
155
- email_intro: Esan zaizu
160
+ email_intro: Aipatu zaituzte
156
161
  email_outro: Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako.
157
- email_subject: '%{resource_title} aipatu zaituzte'
162
+ email_subject: '%{resource_title} delakoan aipatu zaituzte'
158
163
  notification_title: <a href="%{resource_path}">%{resource_title}</a> <a href="%{author_path}">%{author_name} %{author_nickname}</a> bidez aipatu zaituzte.
159
164
  metrics:
160
165
  comments:
@@ -0,0 +1 @@
1
+ gn:
@@ -0,0 +1 @@
1
+ ka:
@@ -0,0 +1 @@
1
+ lo:
@@ -21,6 +21,10 @@ pl:
21
21
  other: Głosy
22
22
  decidim:
23
23
  comments:
24
+ admin:
25
+ shared:
26
+ availability_fields:
27
+ start_time: Komentowanie możliwe od
24
28
  comments:
25
29
  create:
26
30
  error: Wystąpił błąd podczas tworzenia komentarza.
@@ -4,6 +4,7 @@ ro:
4
4
  models:
5
5
  decidim/comments/comment_by_followed_user_event: Comentariu
6
6
  decidim/comments/comment_created_event: Comentează
7
+ decidim/comments/comment_upvoted_event: Comentariu votat
7
8
  decidim/comments/reply_created_event: Răspuns la comentariu
8
9
  decidim/comments/user_group_mentioned_event: Menționează
9
10
  decidim/comments/user_mentioned_event: Menționează
@@ -73,6 +74,7 @@ ro:
73
74
  edit: Editează
74
75
  edited: Editat
75
76
  hide_replies: Ascunde răspunsurile
77
+ moderated_at: Comentariu moderat pe %{date}
76
78
  reply: Răspunde
77
79
  report:
78
80
  action: Raportează
@@ -4,6 +4,7 @@ sv:
4
4
  models:
5
5
  decidim/comments/comment_by_followed_user_event: Kommentar
6
6
  decidim/comments/comment_created_event: Kommentar
7
+ decidim/comments/comment_upvoted_event: Kommentar uppröstad
7
8
  decidim/comments/reply_created_event: Svar till en kommentar
8
9
  decidim/comments/user_group_mentioned_event: Nämn
9
10
  decidim/comments/user_mentioned_event: Nämn
@@ -71,6 +72,7 @@ sv:
71
72
  edit: Redigera
72
73
  edited: Redigerad
73
74
  hide_replies: Göm svar
75
+ moderated_at: Kommentar modererad den %{date}
74
76
  reply: Svara
75
77
  report:
76
78
  action: Rapportera
@@ -50,6 +50,18 @@ module Decidim
50
50
 
51
51
  "<p>#{text}</p>"
52
52
  end
53
+
54
+ # Prevents underscores to be replaced with <em> tags in comments, such as
55
+ # https://github.com/org/module_with_underscores or within words such as
56
+ # "Look for comment_maximum_length in the code". The `no_intra_emphasis`
57
+ # option for Redcarpet does not apparently work for this renderer.
58
+ #
59
+ # Related issues:
60
+ # https://github.com/vmg/redcarpet/issues/402
61
+ # https://github.com/vmg/redcarpet/issues/427
62
+ def emphasis(text)
63
+ "_#{text}_"
64
+ end
53
65
  end
54
66
  end
55
67
  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.27.0"
7
+ "0.27.2"
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.27.0
4
+ version: 0.27.2
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: 2022-09-29 00:00:00.000000000 Z
13
+ date: 2023-02-13 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.0
21
+ version: 0.27.2
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.0
28
+ version: 0.27.2
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.0
55
+ version: 0.27.2
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.0
62
+ version: 0.27.2
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.0
69
+ version: 0.27.2
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.0
76
+ version: 0.27.2
77
77
  description: Pluggable comments system for some components.
78
78
  email:
79
79
  - josepjaume@gmail.com
@@ -197,6 +197,7 @@ files:
197
197
  - config/locales/fr.yml
198
198
  - config/locales/ga-IE.yml
199
199
  - config/locales/gl.yml
200
+ - config/locales/gn-PY.yml
200
201
  - config/locales/hr-HR.yml
201
202
  - config/locales/hr.yml
202
203
  - config/locales/hu.yml
@@ -205,10 +206,12 @@ files:
205
206
  - config/locales/is.yml
206
207
  - config/locales/it.yml
207
208
  - config/locales/ja.yml
209
+ - config/locales/ka-GE.yml
208
210
  - config/locales/ko-KR.yml
209
211
  - config/locales/ko.yml
210
212
  - config/locales/lb-LU.yml
211
213
  - config/locales/lb.yml
214
+ - config/locales/lo-LA.yml
212
215
  - config/locales/lt-LT.yml
213
216
  - config/locales/lt.yml
214
217
  - config/locales/lv.yml
@@ -305,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
305
308
  - !ruby/object:Gem::Version
306
309
  version: '0'
307
310
  requirements: []
308
- rubygems_version: 3.2.22
311
+ rubygems_version: 3.3.7
309
312
  signing_key:
310
313
  specification_version: 4
311
314
  summary: Decidim comments module