decidim-blogs 0.31.5 → 0.32.0.rc2

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: 6ee1cf2a8b474f65914c04e915066ab045232d376a0d66b005902f211685ebf4
4
- data.tar.gz: b3f2f960e3ca88cc3cac1e462409d2630c1a37a193b248d10b6215fd0f8dfd7b
3
+ metadata.gz: 6170b20ce23d5e9d914dbf097b8d861008b9243fb1d284a841395fe6c6744675
4
+ data.tar.gz: fbb027cc5ab7977df78274c1539779968c77dcc2a8afdb9f7d0ec9bf80c89cf2
5
5
  SHA512:
6
- metadata.gz: f31fd00f2bda2e8090ece1b2f6a3d2cd30aa2bbef70762322fb4ad5830e531aca2f1faa22cd928d8b6809ea26db85a998abfd6518723fb4a3c7596bced8f65ed
7
- data.tar.gz: 71c03c3c82afe0e68cbd793c5570b1863faabe5e1893afd354036818385033a80fe8b36cd5c13de9077f1f3a83286843a75555785c2217dfcee2e9d10be9bb76
6
+ metadata.gz: bbae669dedba8500e1effaebb44b5221e80329f178d10d6be517eb42ce1318e023bcb196fa1ad66c88793cd4aedf86f0441a3dbbdd893f139aa2bae6586e7d99
7
+ data.tar.gz: eecf15acf4c8c8b485fc247018bf775fc417a0dcf1c2205b1e9aeb89dc908512cf070d97f8da8c0be9f7eda6bf7fed25a1bfb223d63806a5ab8258e3750887d6
data/README.md CHANGED
@@ -1,25 +1,15 @@
1
1
  # decidim-blogs
2
2
 
3
- The BLOG module adds posts to any participatory process. It adds a CRUD engine
4
- to the admin and public view scoped inside the participatory process.
3
+ The Blogs module adds posts to any participatory space. It adds a CRUD engine
4
+ to the admin and public view scoped inside the participatory space.
5
5
 
6
6
  ## Usage
7
7
 
8
- BLOG will be available as a Component for a Participatory Process.
8
+ Blogs will be available as a Component for a Participatory Space.
9
9
 
10
10
  ## Installation
11
11
 
12
- Add this line to your application's Gemfile:
13
-
14
- ```ruby
15
- gem 'decidim-blogs'
16
- ```
17
-
18
- And then execute:
19
-
20
- ```bash
21
- bundle
22
- ```
12
+ This is on the default Decidim installation so you should not change anything to use this component.
23
13
 
24
14
  ## Contributing
25
15
 
@@ -26,7 +26,7 @@ module Decidim
26
26
 
27
27
  on(:invalid) do
28
28
  flash.now[:alert] = I18n.t("posts.create.invalid", scope: "decidim.blogs.admin")
29
- render action: "new", status: :unprocessable_entity
29
+ render action: "new", status: :unprocessable_content
30
30
  end
31
31
  end
32
32
  end
@@ -48,7 +48,7 @@ module Decidim
48
48
 
49
49
  on(:invalid) do
50
50
  flash.now[:alert] = I18n.t("posts.update.invalid", scope: "decidim.blogs.admin")
51
- render action: "edit", status: :unprocessable_entity
51
+ render action: "edit", status: :unprocessable_content
52
52
  end
53
53
  end
54
54
  end
@@ -26,7 +26,7 @@ module Decidim
26
26
 
27
27
  def create
28
28
  enforce_permission_to :create, :blogpost
29
- @form = form(Decidim::Blogs::PostForm).from_params(params, current_component: current_component)
29
+ @form = form(Decidim::Blogs::PostForm).from_params(params, current_component:)
30
30
 
31
31
  CreatePost.call(@form) do
32
32
  on(:ok) do |new_post|
@@ -36,7 +36,7 @@ module Decidim
36
36
 
37
37
  on(:invalid) do
38
38
  flash.now[:alert] = I18n.t("posts.create.invalid", scope: "decidim.blogs.admin")
39
- render action: "new", status: :unprocessable_entity
39
+ render action: "new", status: :unprocessable_content
40
40
  end
41
41
  end
42
42
  end
@@ -48,7 +48,7 @@ module Decidim
48
48
 
49
49
  def update
50
50
  enforce_permission_to :update, :blogpost, blogpost: post
51
- @form = form(PostForm).from_params(params, current_component: current_component)
51
+ @form = form(PostForm).from_params(params, current_component:)
52
52
 
53
53
  UpdatePost.call(@form, post) do
54
54
  on(:ok) do |post|
@@ -58,7 +58,7 @@ module Decidim
58
58
 
59
59
  on(:invalid) do
60
60
  flash.now[:alert] = I18n.t("posts.update.invalid", scope: "decidim.blogs.admin")
61
- render action: "edit", status: :unprocessable_entity
61
+ render action: "edit", status: :unprocessable_content
62
62
  end
63
63
  end
64
64
  end
@@ -82,7 +82,7 @@ module Decidim
82
82
  end
83
83
 
84
84
  def post
85
- @post ||= posts.find(params[:id])
85
+ @post ||= posts.find_by(id: params[:id])
86
86
  end
87
87
 
88
88
  def post_presenter
@@ -97,11 +97,18 @@ module Decidim
97
97
  end
98
98
  end
99
99
 
100
- # PROVISIONAL if we implement counter cache
101
100
  def posts_most_commented
102
- @posts_most_commented ||= posts.joins(:comments).group(:id)
103
- .select("count(decidim_comments_comments.id) as counter")
104
- .select("decidim_blogs_posts.*").order("counter DESC").published_at_desc.limit(7)
101
+ @posts_most_commented ||= posts.order(comments_count: :desc).published_at_desc.limit(7)
102
+ end
103
+
104
+ def add_breadcrumb_item
105
+ return {} if post.blank?
106
+
107
+ {
108
+ label: translated_attribute(post.title),
109
+ url: Decidim::EngineRouter.main_proxy(current_component).post_path(post),
110
+ active: false
111
+ }
105
112
  end
106
113
  end
107
114
  end
@@ -48,7 +48,7 @@ module Decidim
48
48
  end
49
49
 
50
50
  def post
51
- @post ||= Post.find_by(id: id)
51
+ @post ||= Post.find_by(id:)
52
52
  end
53
53
 
54
54
  def participatory_space_manifest
@@ -1,7 +1,7 @@
1
1
  <% add_decidim_meta_tags(
2
2
  description: translated_attribute(current_component.participatory_space.try(:description)),
3
3
  title: t("decidim.components.pagination.page_title",
4
- component_name: component_name,
4
+ component_name:,
5
5
  current_page: paginate_posts.current_page,
6
6
  total_pages: paginate_posts.total_pages ),
7
7
  url: posts_url,
@@ -39,7 +39,7 @@
39
39
  <%= cell "decidim/author", post_presenter.author, from: post, context_actions: [:date], layout: :compact %>
40
40
  </div>
41
41
  <%= render "decidim/shared/resource_actions", resource: post do %>
42
- <%= render "decidim/blogs/posts/menu_actions", post: post %>
42
+ <%= render "decidim/blogs/posts/menu_actions", post: %>
43
43
  <% end %>
44
44
  </div>
45
45
  </div>
@@ -108,6 +108,7 @@ ca-IT:
108
108
  destroy: Esborrar
109
109
  like: '"M''agrada"'
110
110
  update: Actualitzar
111
+ vote_comment: Votar el comentari
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ ca:
108
108
  destroy: Esborrar
109
109
  like: '"M''agrada"'
110
110
  update: Actualitzar
111
+ vote_comment: Votar el comentari
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -112,6 +112,7 @@ cs:
112
112
  destroy: Smazat
113
113
  like: Líbí se mi
114
114
  update: Aktualizovat
115
+ vote_comment: Komentář hlasování
115
116
  name: Blog
116
117
  settings:
117
118
  global:
@@ -108,6 +108,7 @@ de:
108
108
  destroy: Löschen
109
109
  like: Like
110
110
  update: Aktualisieren
111
+ vote_comment: Kommentar bewerten
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ en:
108
108
  destroy: Delete
109
109
  like: Like
110
110
  update: Update
111
+ vote_comment: Vote comment
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ es-MX:
108
108
  destroy: Borrar
109
109
  like: '"Me gusta"'
110
110
  update: Actualizar
111
+ vote_comment: Votar el comentario
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ es-PY:
108
108
  destroy: Borrar
109
109
  like: '"Me gusta"'
110
110
  update: Actualizar
111
+ vote_comment: Votar el comentario
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ es:
108
108
  destroy: Borrar
109
109
  like: '"Me gusta"'
110
110
  update: Actualizar
111
+ vote_comment: Votar el comentario
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ eu:
108
108
  destroy: Ezabatu
109
109
  like: Atsegin dut
110
110
  update: Eguneratu
111
+ vote_comment: Bozkatu iruzkina
111
112
  name: Bloga
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ fi-pl:
108
108
  destroy: Poista
109
109
  like: Tykkää
110
110
  update: Päivitä
111
+ vote_comment: Äänestä kommenttia
111
112
  name: Blogi
112
113
  settings:
113
114
  global:
@@ -108,6 +108,7 @@ fi:
108
108
  destroy: Poista
109
109
  like: Tykkää
110
110
  update: Päivitä
111
+ vote_comment: Äänestä kommenttia
111
112
  name: Blogi
112
113
  settings:
113
114
  global:
@@ -107,6 +107,7 @@ fr-CA:
107
107
  create: Créer
108
108
  destroy: Supprimer
109
109
  update: Mettre à jour
110
+ vote_comment: Vote sur le commentaire
110
111
  name: Actualités
111
112
  settings:
112
113
  global:
@@ -107,6 +107,7 @@ fr:
107
107
  create: Créer
108
108
  destroy: Supprimer
109
109
  update: Mettre à jour
110
+ vote_comment: Vote sur le commentaire
110
111
  name: Actualités
111
112
  settings:
112
113
  global:
@@ -106,6 +106,7 @@ ja:
106
106
  destroy: 削除
107
107
  like: いいね
108
108
  update: 更新
109
+ vote_comment: コメントに投票
109
110
  name: ブログ
110
111
  settings:
111
112
  global:
@@ -108,6 +108,7 @@ pt-BR:
108
108
  destroy: Excluir
109
109
  like: Curti
110
110
  update: Atualizar
111
+ vote_comment: Vote no comentário
111
112
  name: Blog
112
113
  settings:
113
114
  global:
@@ -110,6 +110,7 @@ ro:
110
110
  destroy: Ștergeți
111
111
  like: Apreciere
112
112
  update: Actualizați
113
+ vote_comment: Votați comentariul
113
114
  name: Blog
114
115
  settings:
115
116
  global:
@@ -112,6 +112,7 @@ sk:
112
112
  destroy: Odstrániť
113
113
  like: Páči sa mi to
114
114
  update: Aktualizovať
115
+ vote_comment: Hlasovať za komentár
115
116
  name: Blog
116
117
  settings:
117
118
  global:
@@ -108,6 +108,7 @@ sv:
108
108
  destroy: Radera
109
109
  like: Gilla
110
110
  update: Uppdatera
111
+ vote_comment: Rösta på kommentar
111
112
  name: Blogg
112
113
  settings:
113
114
  global:
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveUserGroupBlogs < ActiveRecord::Migration[7.0]
4
+ def up
5
+ remove_index :decidim_blogs_posts, :decidim_user_group_id
6
+ remove_column :decidim_blogs_posts, :decidim_user_group_id
7
+ end
8
+
9
+ def down
10
+ add_column :decidim_blogs_posts, :decidim_user_group_id, :integer
11
+ add_index :decidim_blogs_posts, :decidim_user_group_id
12
+ end
13
+ end
@@ -2,12 +2,9 @@
2
2
 
3
3
  $LOAD_PATH.push File.expand_path("lib", __dir__)
4
4
 
5
- # Maintain your gem's version:
6
- require "decidim/blogs/version"
7
-
8
- # Describe your gem and declare its dependencies:
9
5
  Gem::Specification.new do |s|
10
- s.version = Decidim::Blogs.version
6
+ version = "0.32.0.rc2"
7
+ s.version = version
11
8
  s.authors = ["Isaac Massot Gil"]
12
9
  s.email = ["isaac.mg@coditramuntana.com"]
13
10
  s.license = "AGPL-3.0-or-later"
@@ -19,7 +16,7 @@ Gem::Specification.new do |s|
19
16
  "homepage_uri" => "https://decidim.org",
20
17
  "source_code_uri" => "https://github.com/decidim/decidim"
21
18
  }
22
- s.required_ruby_version = "~> 3.3.0"
19
+ s.required_ruby_version = "~> 3.4.0"
23
20
 
24
21
  s.name = "decidim-blogs"
25
22
  s.summary = "Decidim blogs module"
@@ -32,12 +29,12 @@ Gem::Specification.new do |s|
32
29
  end
33
30
  end
34
31
 
35
- s.add_dependency "decidim-admin", Decidim::Blogs.version
36
- s.add_dependency "decidim-comments", Decidim::Blogs.version
37
- s.add_dependency "decidim-core", Decidim::Blogs.version
32
+ s.add_dependency "decidim-admin", version
33
+ s.add_dependency "decidim-comments", version
34
+ s.add_dependency "decidim-core", version
38
35
 
39
- s.add_development_dependency "decidim-admin", Decidim::Blogs.version
40
- s.add_development_dependency "decidim-assemblies", Decidim::Blogs.version
41
- s.add_development_dependency "decidim-dev", Decidim::Blogs.version
42
- s.add_development_dependency "decidim-participatory_processes", Decidim::Blogs.version
36
+ s.add_development_dependency "decidim-admin", version
37
+ s.add_development_dependency "decidim-assemblies", version
38
+ s.add_development_dependency "decidim-dev", version
39
+ s.add_development_dependency "decidim-participatory_processes", version
43
40
  end
@@ -33,8 +33,6 @@ module Decidim
33
33
  ].all?
34
34
 
35
35
  super && chain
36
- rescue Decidim::PermissionAction::PermissionNotSetError
37
- false
38
36
  end
39
37
  end
40
38
  end
@@ -9,10 +9,6 @@ Decidim.register_component(:blogs) do |component|
9
9
 
10
10
  component.query_type = "Decidim::Blogs::BlogsType"
11
11
 
12
- component.on(:before_destroy) do |instance|
13
- raise StandardError, "Cannot remove this component" if Decidim::Blogs::Post.where(component: instance).any?
14
- end
15
-
16
12
  component.on(:publish) do |instance|
17
13
  Decidim::Blogs::Post.where(component: instance).find_in_batches(batch_size: 100) do |batch|
18
14
  Decidim::UpdateSearchIndexesJob.perform_later(batch)
@@ -62,7 +58,7 @@ Decidim.register_component(:blogs) do |component|
62
58
  component.register_resource(:blogpost) do |resource|
63
59
  resource.model_class_name = "Decidim::Blogs::Post"
64
60
  resource.card = "decidim/blogs/post"
65
- resource.actions = %w(like comment)
61
+ resource.actions = %w(like comment vote_comment)
66
62
  resource.searchable = true
67
63
  end
68
64
 
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-pages version.
5
5
  module Blogs
6
6
  def self.version
7
- "0.31.5"
7
+ "0.32.0.rc2"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-blogs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.5
4
+ version: 0.32.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Massot Gil
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-05-12 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: decidim-admin
@@ -16,98 +15,98 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 0.31.5
18
+ version: 0.32.0.rc2
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 0.31.5
25
+ version: 0.32.0.rc2
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: decidim-comments
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - '='
32
31
  - !ruby/object:Gem::Version
33
- version: 0.31.5
32
+ version: 0.32.0.rc2
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - '='
39
38
  - !ruby/object:Gem::Version
40
- version: 0.31.5
39
+ version: 0.32.0.rc2
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: decidim-core
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - '='
46
45
  - !ruby/object:Gem::Version
47
- version: 0.31.5
46
+ version: 0.32.0.rc2
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - '='
53
52
  - !ruby/object:Gem::Version
54
- version: 0.31.5
53
+ version: 0.32.0.rc2
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: decidim-admin
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - '='
60
59
  - !ruby/object:Gem::Version
61
- version: 0.31.5
60
+ version: 0.32.0.rc2
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - '='
67
66
  - !ruby/object:Gem::Version
68
- version: 0.31.5
67
+ version: 0.32.0.rc2
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: decidim-assemblies
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - '='
74
73
  - !ruby/object:Gem::Version
75
- version: 0.31.5
74
+ version: 0.32.0.rc2
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
79
  - - '='
81
80
  - !ruby/object:Gem::Version
82
- version: 0.31.5
81
+ version: 0.32.0.rc2
83
82
  - !ruby/object:Gem::Dependency
84
83
  name: decidim-dev
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - '='
88
87
  - !ruby/object:Gem::Version
89
- version: 0.31.5
88
+ version: 0.32.0.rc2
90
89
  type: :development
91
90
  prerelease: false
92
91
  version_requirements: !ruby/object:Gem::Requirement
93
92
  requirements:
94
93
  - - '='
95
94
  - !ruby/object:Gem::Version
96
- version: 0.31.5
95
+ version: 0.32.0.rc2
97
96
  - !ruby/object:Gem::Dependency
98
97
  name: decidim-participatory_processes
99
98
  requirement: !ruby/object:Gem::Requirement
100
99
  requirements:
101
100
  - - '='
102
101
  - !ruby/object:Gem::Version
103
- version: 0.31.5
102
+ version: 0.32.0.rc2
104
103
  type: :development
105
104
  prerelease: false
106
105
  version_requirements: !ruby/object:Gem::Requirement
107
106
  requirements:
108
107
  - - '='
109
108
  - !ruby/object:Gem::Version
110
- version: 0.31.5
109
+ version: 0.32.0.rc2
111
110
  description: A Blog component for decidim's participatory spaces.
112
111
  email:
113
112
  - isaac.mg@coditramuntana.com
@@ -266,6 +265,7 @@ files:
266
265
  - db/migrate/20220812122940_add_published_at_to_decidim_blogs_posts.rb
267
266
  - db/migrate/20240828103324_add_deleted_at_to_decidim_blogs_posts.rb
268
267
  - db/migrate/20250515133229_rename_blog_posts_endorsements_count_to_likes.rb
268
+ - db/migrate/20260208201400_remove_user_group_blogs.rb
269
269
  - decidim-blogs.gemspec
270
270
  - lib/decidim/api/blogs_type.rb
271
271
  - lib/decidim/api/post_input_filter.rb
@@ -291,7 +291,6 @@ metadata:
291
291
  funding_uri: https://opencollective.com/decidim
292
292
  homepage_uri: https://decidim.org
293
293
  source_code_uri: https://github.com/decidim/decidim
294
- post_install_message:
295
294
  rdoc_options: []
296
295
  require_paths:
297
296
  - lib
@@ -299,15 +298,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
299
298
  requirements:
300
299
  - - "~>"
301
300
  - !ruby/object:Gem::Version
302
- version: 3.3.0
301
+ version: 3.4.0
303
302
  required_rubygems_version: !ruby/object:Gem::Requirement
304
303
  requirements:
305
304
  - - ">="
306
305
  - !ruby/object:Gem::Version
307
306
  version: '0'
308
307
  requirements: []
309
- rubygems_version: 3.5.11
310
- signing_key:
308
+ rubygems_version: 3.6.9
311
309
  specification_version: 4
312
310
  summary: Decidim blogs module
313
311
  test_files: []