decidim-comments 0.27.0 → 0.27.2

Sign up to get free protection for your applications and to get access to all the features.
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