decidim-comments 0.10.1 → 0.11.0.pre1

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/comments/bundle.js +1 -1
  3. data/app/assets/javascripts/decidim/comments/bundle.js.map +1 -1
  4. data/app/commands/decidim/comments/create_comment.rb +6 -31
  5. data/app/events/decidim/comments/comment_by_followed_user_event.rb +29 -0
  6. data/app/events/decidim/comments/comment_created_event.rb +1 -9
  7. data/app/events/decidim/comments/reply_created_event.rb +29 -0
  8. data/app/events/decidim/comments/user_mentioned_event.rb +1 -9
  9. data/app/frontend/support/graphql_transformer.js +5 -5
  10. data/app/models/decidim/comments/abilities/participatory_process_admin_ability.rb +1 -1
  11. data/app/models/decidim/comments/abilities/participatory_process_moderator_ability.rb +1 -1
  12. data/app/models/decidim/comments/comment.rb +10 -3
  13. data/app/services/decidim/comments/comment_creation.rb +33 -0
  14. data/app/services/decidim/comments/new_comment_notification_creator.rb +97 -0
  15. data/config/locales/ca.yml +15 -13
  16. data/config/locales/en.yml +15 -13
  17. data/config/locales/es.yml +15 -13
  18. data/config/locales/eu.yml +15 -13
  19. data/config/locales/fi.yml +15 -13
  20. data/config/locales/fr.yml +15 -13
  21. data/config/locales/gl.yml +15 -13
  22. data/config/locales/it.yml +15 -13
  23. data/config/locales/nl.yml +21 -19
  24. data/config/locales/pl.yml +15 -13
  25. data/config/locales/pt-BR.yml +15 -13
  26. data/config/locales/pt.yml +15 -13
  27. data/config/locales/ru.yml +0 -2
  28. data/config/locales/sv.yml +15 -13
  29. data/config/locales/uk.yml +0 -10
  30. data/lib/decidim/comments.rb +1 -1
  31. data/lib/decidim/comments/api/comment_type.rb +2 -7
  32. data/lib/decidim/comments/engine.rb +3 -3
  33. data/lib/decidim/comments/export.rb +6 -6
  34. data/lib/decidim/comments/test.rb +3 -0
  35. data/lib/decidim/comments/test/shared_examples/create_comment_context.rb +31 -0
  36. data/lib/decidim/comments/version.rb +1 -1
  37. metadata +16 -10
@@ -50,20 +50,10 @@ uk:
50
50
  blocked_comments_warning: Коментарі зараз вимкнені, але ви можете прочитати попередні.
51
51
  loading: Завантаження коментарів...
52
52
  title: "%{count} коментарів"
53
- featured_comment:
54
- title: Рекомендований коментар
55
53
  events:
56
54
  comments:
57
- comment_created:
58
- comment:
59
- email_intro: '"%{resource_title}" прокоментували. Ви можете прочитати коментар на цій сторінці:'
60
- reply:
61
- email_intro: '"%{resource_title}" прокоментували'
62
- email_subject: Надійшла нова відповідь на ваш коментар від %{author_name} на <a href="%{resource_url}">%{resource_title}</a>
63
- notification_title: Надійшла нова відповідь на ваш коментар від <a href="%{author_path}">%{author_name} %{author_nickname}</a> на <a href="%{resource_path}">%{resource_title}</a>
64
55
  user_mentioned:
65
56
  email_intro: Вас згадали
66
- email_outro: Ви отримали це сповіщення, оскільки вас згадали в "%{resource_title}".
67
57
  email_subject: Вас згадали у %{resource_title}
68
58
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> згадав вас у <a href="%{resource_path}">%{resource_title}</a>
69
59
  errors:
@@ -5,7 +5,7 @@ require "decidim/comments/engine"
5
5
  require "decidim/comments/admin_engine"
6
6
 
7
7
  module Decidim
8
- # This module contains all the logic related to the comments feature.
8
+ # This module contains all the logic related to the comments component.
9
9
  # It exposes a single entry point as a rails helper method to render
10
10
  # a React component which handle all the comments render and logic.
11
11
  module Comments
@@ -8,7 +8,8 @@ module Decidim
8
8
  description "A comment"
9
9
 
10
10
  interfaces [
11
- Decidim::Comments::CommentableInterface
11
+ Decidim::Comments::CommentableInterface,
12
+ Decidim::Core::AuthorableInterface
12
13
  ]
13
14
 
14
15
  field :id, !types.ID, "The Comment's unique ID"
@@ -31,12 +32,6 @@ module Decidim
31
32
 
32
33
  field :formattedCreatedAt, !types.String, "The creation date of the comment in relative format", property: :friendly_created_at
33
34
 
34
- field :author, !Decidim::Core::AuthorInterface, "The comment's author" do
35
- resolve lambda { |obj, _args, _ctx|
36
- obj.user_group || obj.author
37
- }
38
- end
39
-
40
35
  field :alignment, types.Int, "The comment's alignment. Can be 0 (neutral), 1 (in favor) or -1 (against)'"
41
36
 
42
37
  field :upVotes, !types.Int, "The number of comment's upVotes" do
@@ -36,9 +36,9 @@ module Decidim
36
36
  end
37
37
 
38
38
  initializer "decidim.stats" do
39
- Decidim.stats.register :comments_count, priority: StatsRegistry::MEDIUM_PRIORITY do |features, start_at, end_at|
40
- Decidim.feature_manifests.sum do |feature|
41
- feature.stats.filter(tag: :comments).with_context(features, start_at, end_at).map { |_name, value| value }.sum
39
+ Decidim.stats.register :comments_count, priority: StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
40
+ Decidim.component_manifests.sum do |component|
41
+ component.stats.filter(tag: :comments).with_context(components, start_at, end_at).map { |_name, value| value }.sum
42
42
  end
43
43
  end
44
44
  end
@@ -3,16 +3,16 @@
3
3
  module Decidim
4
4
  module Comments
5
5
  module Export
6
- # Public: Given a resource class and a feature, returns the comments for that
7
- # resource in that feature.
6
+ # Public: Given a resource class and a component, returns the comments for that
7
+ # resource in that component.
8
8
  #
9
9
  # resource_class - The resource's Class
10
- # feature - The feature where the resource is scoped to.
10
+ # component - The component where the resource is scoped to.
11
11
  #
12
- # Returns an Arel::Relation with all the comments for that feature and resource.
13
- def comments_for_resource(resource_class, feature)
12
+ # Returns an Arel::Relation with all the comments for that component and resource.
13
+ def comments_for_resource(resource_class, component)
14
14
  Comment
15
- .where(decidim_root_commentable_id: resource_class.where(feature: feature))
15
+ .where(decidim_root_commentable_id: resource_class.where(component: component))
16
16
  .where(decidim_root_commentable_type: resource_class.to_s)
17
17
  end
18
18
 
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/comments/test/shared_examples/create_comment_context"
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_context "when creating a comment" do
4
+ let(:organization) { create(:organization) }
5
+ let(:participatory_process) { create(:participatory_process, organization: organization) }
6
+ let(:component) { create(:component, participatory_space: participatory_process) }
7
+ let(:user) { create(:user, organization: organization) }
8
+ let(:author) { create(:user, organization: organization) }
9
+ let(:dummy_resource) { create :dummy_resource, component: component }
10
+ let(:commentable) { dummy_resource }
11
+ let(:body) { ::Faker::Lorem.paragraph }
12
+ let(:alignment) { 1 }
13
+ let(:user_group_id) { nil }
14
+ let(:form_params) do
15
+ {
16
+ "comment" => {
17
+ "body" => body,
18
+ "alignment" => alignment,
19
+ "user_group_id" => user_group_id
20
+ }
21
+ }
22
+ end
23
+ let(:form) do
24
+ Decidim::Comments::CommentForm.from_params(
25
+ form_params
26
+ ).with_context(
27
+ current_organization: organization
28
+ )
29
+ end
30
+ let(:command) { described_class.new(form, author, commentable) }
31
+ 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.10.1"
7
+ "0.11.0.pre1"
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.10.1
4
+ version: 0.11.0.pre1
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: 2018-04-17 00:00:00.000000000 Z
13
+ date: 2018-04-26 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.10.1
21
+ version: 0.11.0.pre1
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.10.1
28
+ version: 0.11.0.pre1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: jquery-rails
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -46,28 +46,28 @@ dependencies:
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.10.1
49
+ version: 0.11.0.pre1
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.10.1
56
+ version: 0.11.0.pre1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: decidim-dev
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.10.1
63
+ version: 0.11.0.pre1
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.10.1
70
+ version: 0.11.0.pre1
71
71
  description: Pluggable comments system for some components.
72
72
  email:
73
73
  - josepjaume@gmail.com
@@ -85,7 +85,9 @@ files:
85
85
  - app/assets/javascripts/decidim/comments/comments.js.erb
86
86
  - app/commands/decidim/comments/create_comment.rb
87
87
  - app/commands/decidim/comments/vote_comment.rb
88
+ - app/events/decidim/comments/comment_by_followed_user_event.rb
88
89
  - app/events/decidim/comments/comment_created_event.rb
90
+ - app/events/decidim/comments/reply_created_event.rb
89
91
  - app/events/decidim/comments/user_mentioned_event.rb
90
92
  - app/forms/decidim/comments/comment_form.rb
91
93
  - app/frontend/application/apollo_client.ts
@@ -141,6 +143,8 @@ files:
141
143
  - app/models/decidim/comments/seed.rb
142
144
  - app/queries/decidim/comments/sorted_comments.rb
143
145
  - app/resolvers/decidim/comments/vote_comment_resolver.rb
146
+ - app/services/decidim/comments/comment_creation.rb
147
+ - app/services/decidim/comments/new_comment_notification_creator.rb
144
148
  - app/types/decidim/comments/commentable_interface.rb
145
149
  - app/types/decidim/comments/commentable_mutation_type.rb
146
150
  - app/types/decidim/comments/commentable_type.rb
@@ -181,7 +185,9 @@ files:
181
185
  - lib/decidim/comments/export.rb
182
186
  - lib/decidim/comments/mutation_extensions.rb
183
187
  - lib/decidim/comments/query_extensions.rb
188
+ - lib/decidim/comments/test.rb
184
189
  - lib/decidim/comments/test/factories.rb
190
+ - lib/decidim/comments/test/shared_examples/create_comment_context.rb
185
191
  - lib/decidim/comments/version.rb
186
192
  homepage: https://github.com/decidim/decidim
187
193
  licenses:
@@ -198,9 +204,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
198
204
  version: '2.3'
199
205
  required_rubygems_version: !ruby/object:Gem::Requirement
200
206
  requirements:
201
- - - ">="
207
+ - - ">"
202
208
  - !ruby/object:Gem::Version
203
- version: '0'
209
+ version: 1.3.1
204
210
  requirements: []
205
211
  rubyforge_project:
206
212
  rubygems_version: 2.7.3