decidim-blogs 0.28.1 → 0.29.0.rc1
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 +4 -4
- data/app/commands/decidim/blogs/admin/create_post.rb +7 -37
- data/app/commands/decidim/blogs/admin/update_post.rb +4 -40
- data/app/controllers/decidim/blogs/admin/posts_controller.rb +7 -8
- data/app/helpers/decidim/blogs/admin/posts_helper.rb +1 -1
- data/app/views/decidim/blogs/admin/posts/_form.html.erb +0 -2
- data/app/views/decidim/blogs/admin/posts/index.html.erb +2 -2
- data/config/locales/bg.yml +84 -0
- data/config/locales/es-MX.yml +1 -1
- data/config/locales/es-PY.yml +1 -1
- data/config/locales/es.yml +1 -1
- data/decidim-blogs.gemspec +1 -1
- data/lib/decidim/blogs/version.rb +1 -1
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d3e05fbe48097df47ffc82f4b2ebbde3fc54a955c8d2b2df9b56b38f75d1014
|
4
|
+
data.tar.gz: 0f053312ab155c859de24f3f0249876f301bedb5339eaa8ce5e82a49a9397d84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a46ed37e62404b0a957b8d4ac280233e34643f03d28f7248274539570a5dab1e43e459ee77ce2102f656b37fc9eb10c3f3a410b61b4f0cf56af58480aa7525f
|
7
|
+
data.tar.gz: b4fa8aea088a2ad4d7b68dd92e03028cfb88bc9ea97cb3ed845b7600b0df575116e2b9ad0d57d33c9cc3f1e9c263996b9311db0058c594252ec330641c91e836
|
@@ -5,51 +5,21 @@ module Decidim
|
|
5
5
|
module Admin
|
6
6
|
# This command is executed when the user creates a Post from the admin
|
7
7
|
# panel.
|
8
|
-
class CreatePost < Decidim::
|
9
|
-
|
10
|
-
@form = form
|
11
|
-
@current_user = current_user
|
12
|
-
end
|
13
|
-
|
14
|
-
# Creates the post if valid.
|
15
|
-
#
|
16
|
-
# Broadcasts :ok if successful, :invalid otherwise.
|
17
|
-
def call
|
18
|
-
return broadcast(:invalid) if @form.invalid?
|
19
|
-
|
20
|
-
transaction do
|
21
|
-
create_post!
|
22
|
-
send_notification
|
23
|
-
end
|
24
|
-
|
25
|
-
broadcast(:ok, @post)
|
26
|
-
end
|
8
|
+
class CreatePost < Decidim::Commands::CreateResource
|
9
|
+
fetch_form_attributes :title, :body, :published_at, :author, :component
|
27
10
|
|
28
11
|
private
|
29
12
|
|
30
|
-
def
|
31
|
-
attributes = {
|
32
|
-
title: @form.title,
|
33
|
-
body: @form.body,
|
34
|
-
published_at: @form.published_at,
|
35
|
-
component: @form.current_component,
|
36
|
-
author: @form.author
|
37
|
-
}
|
13
|
+
def resource_class = Decidim::Blogs::Post
|
38
14
|
|
39
|
-
|
40
|
-
Post,
|
41
|
-
@current_user,
|
42
|
-
attributes,
|
43
|
-
visibility: "all"
|
44
|
-
)
|
45
|
-
end
|
15
|
+
def extra_params = { visibility: "all" }
|
46
16
|
|
47
|
-
def
|
17
|
+
def run_after_hooks
|
48
18
|
Decidim::EventsManager.publish(
|
49
19
|
event: "decidim.events.blogs.post_created",
|
50
20
|
event_class: Decidim::Blogs::CreatePostEvent,
|
51
|
-
resource
|
52
|
-
followers:
|
21
|
+
resource:,
|
22
|
+
followers: resource.participatory_space.followers
|
53
23
|
)
|
54
24
|
end
|
55
25
|
end
|
@@ -3,51 +3,15 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Blogs
|
5
5
|
module Admin
|
6
|
-
# This command is executed when the user changes a
|
6
|
+
# This command is executed when the user changes a Post from the admin
|
7
7
|
# panel.
|
8
|
-
class UpdatePost < Decidim::
|
9
|
-
|
10
|
-
#
|
11
|
-
# form - The form from which to get the data.
|
12
|
-
# blog - The current instance of the page to be updated.
|
13
|
-
def initialize(form, post, user)
|
14
|
-
@form = form
|
15
|
-
@post = post
|
16
|
-
@user = user
|
17
|
-
end
|
18
|
-
|
19
|
-
# Updates the blog if valid.
|
20
|
-
#
|
21
|
-
# Broadcasts :ok if successful, :invalid otherwise.
|
22
|
-
def call
|
23
|
-
return broadcast(:invalid) if form.invalid?
|
24
|
-
|
25
|
-
transaction do
|
26
|
-
update_post!
|
27
|
-
end
|
28
|
-
|
29
|
-
broadcast(:ok, post)
|
30
|
-
end
|
8
|
+
class UpdatePost < Decidim::Commands::UpdateResource
|
9
|
+
fetch_form_attributes :title, :body, :author
|
31
10
|
|
32
11
|
private
|
33
12
|
|
34
|
-
attr_reader :form, :post
|
35
|
-
|
36
|
-
def update_post!
|
37
|
-
Decidim.traceability.update!(
|
38
|
-
post,
|
39
|
-
@user,
|
40
|
-
attributes
|
41
|
-
)
|
42
|
-
end
|
43
|
-
|
44
13
|
def attributes
|
45
|
-
|
46
|
-
title: form.title,
|
47
|
-
body: form.body,
|
48
|
-
published_at: form.published_at,
|
49
|
-
author: form.author
|
50
|
-
}.reject do |attribute, value|
|
14
|
+
super.merge(published_at: form.published_at).reject do |attribute, value|
|
51
15
|
value.blank? && attribute == :published_at
|
52
16
|
end
|
53
17
|
end
|
@@ -17,7 +17,7 @@ module Decidim
|
|
17
17
|
enforce_permission_to :create, :blogpost
|
18
18
|
@form = form(PostForm).from_params(params, current_component:)
|
19
19
|
|
20
|
-
CreatePost.call(@form
|
20
|
+
CreatePost.call(@form) do
|
21
21
|
on(:ok) do
|
22
22
|
flash[:notice] = I18n.t("posts.create.success", scope: "decidim.blogs.admin")
|
23
23
|
redirect_to posts_path
|
@@ -39,7 +39,7 @@ module Decidim
|
|
39
39
|
enforce_permission_to :update, :blogpost, blogpost: post
|
40
40
|
@form = form(PostForm).from_params(params, current_component:)
|
41
41
|
|
42
|
-
UpdatePost.call(@form, post
|
42
|
+
UpdatePost.call(@form, post) do
|
43
43
|
on(:ok) do
|
44
44
|
flash[:notice] = I18n.t("posts.update.success", scope: "decidim.blogs.admin")
|
45
45
|
redirect_to posts_path
|
@@ -55,13 +55,12 @@ module Decidim
|
|
55
55
|
def destroy
|
56
56
|
enforce_permission_to :destroy, :blogpost, blogpost: post
|
57
57
|
|
58
|
-
Decidim.
|
59
|
-
|
58
|
+
Decidim::Commands::DestroyResource.call(post, current_user) do
|
59
|
+
on(:ok) do
|
60
|
+
flash[:notice] = I18n.t("posts.destroy.success", scope: "decidim.blogs.admin")
|
61
|
+
redirect_to posts_path
|
62
|
+
end
|
60
63
|
end
|
61
|
-
|
62
|
-
flash[:notice] = I18n.t("posts.destroy.success", scope: "decidim.blogs.admin")
|
63
|
-
|
64
|
-
redirect_to posts_path
|
65
64
|
end
|
66
65
|
|
67
66
|
private
|
@@ -22,7 +22,7 @@ module Decidim
|
|
22
22
|
|
23
23
|
def post_author_select_field(form, name, _options = {})
|
24
24
|
select_options = [
|
25
|
-
[
|
25
|
+
[current_organization_name, ""],
|
26
26
|
[current_user.name, current_user.id]
|
27
27
|
]
|
28
28
|
current_user_groups = Decidim::UserGroups::ManageableUserGroups.for(current_user).verified
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<th><%= t("models.post.fields.body", scope: "decidim.blogs") %></th>
|
16
16
|
<th><%= t("models.post.fields.author", scope: "decidim.blogs") %></th>
|
17
17
|
<th><%= t("models.post.fields.published_at", scope: "decidim.blogs") %></th>
|
18
|
-
<th
|
18
|
+
<th><%= t("actions.title", scope: "decidim.blogs") %></th>
|
19
19
|
</tr>
|
20
20
|
</thead>
|
21
21
|
<tbody>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<%= decidim_sanitize_editor post_description_admin(post) %>
|
34
34
|
</td>
|
35
35
|
<td>
|
36
|
-
<%= post.try(:author).try(:name) %>
|
36
|
+
<%= translated_attribute(post.try(:author).try(:name)) %>
|
37
37
|
</td>
|
38
38
|
<% publish_data = publish_data(post.published_at) %>
|
39
39
|
<td>
|
data/config/locales/bg.yml
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
---
|
2
2
|
bg:
|
3
3
|
activemodel:
|
4
|
+
attributes:
|
5
|
+
post:
|
6
|
+
body: Основен текст
|
7
|
+
decidim_author_id: Автор
|
8
|
+
published_at: Час на публикуване
|
9
|
+
title: Заглавие
|
4
10
|
models:
|
5
11
|
decidim/blogs/create_post_event: Нова блог публикация
|
6
12
|
activerecord:
|
@@ -11,4 +17,82 @@ bg:
|
|
11
17
|
decidim:
|
12
18
|
blogs:
|
13
19
|
actions:
|
20
|
+
author_id: Създаване на публикация като
|
14
21
|
confirm_destroy: Сигурни ли сте, че желаете да изтриете тази публикация?
|
22
|
+
destroy: Изтрий
|
23
|
+
edit: Редактирай
|
24
|
+
new: Нова публикация
|
25
|
+
title: Активности
|
26
|
+
admin:
|
27
|
+
posts:
|
28
|
+
create:
|
29
|
+
invalid: Възникна проблем при създаването на тази публикация.
|
30
|
+
success: Публикацията беше създадена успешно.
|
31
|
+
destroy:
|
32
|
+
success: Публикацията беше изтрита успешно.
|
33
|
+
edit:
|
34
|
+
save: Актуализация
|
35
|
+
title: Редактиране на поста
|
36
|
+
index:
|
37
|
+
not_published_yet: Не публикувано все още.
|
38
|
+
title: Публикации
|
39
|
+
new:
|
40
|
+
create: Създаване
|
41
|
+
title: Създай публикация
|
42
|
+
update:
|
43
|
+
invalid: Възникна проблем при запазването на публикацията.
|
44
|
+
success: Публикацията беше запазена успешно.
|
45
|
+
admin_log:
|
46
|
+
post:
|
47
|
+
create: "%{user_name} създаде публикацията в блога %{resource_name} в %{space_name}"
|
48
|
+
delete: "%{user_name} изтри публикацията в блога %{resource_name} от %{space_name}"
|
49
|
+
update: "%{user_name} актуализира публикацията в блога %{resource_name} в %{space_name}"
|
50
|
+
content_blocks:
|
51
|
+
highlighted_posts:
|
52
|
+
last_published: Последно публикувано
|
53
|
+
name: Публикации
|
54
|
+
see_all: Виж всички публикации
|
55
|
+
last_activity:
|
56
|
+
new_post: 'Нова публикация:'
|
57
|
+
models:
|
58
|
+
post:
|
59
|
+
fields:
|
60
|
+
author: Автор
|
61
|
+
body: Основен текст
|
62
|
+
official_blog_post: Официална публикация
|
63
|
+
published_at: Час на публикуване
|
64
|
+
title: Заглавие
|
65
|
+
posts:
|
66
|
+
index:
|
67
|
+
count:
|
68
|
+
one: "%{count} публикация"
|
69
|
+
other: "%{count} публикации"
|
70
|
+
empty: Все още няма постове.
|
71
|
+
components:
|
72
|
+
blogs:
|
73
|
+
actions:
|
74
|
+
comment: Коментар
|
75
|
+
create: Създаване
|
76
|
+
destroy: Изтрий
|
77
|
+
endorse: Подкрепете
|
78
|
+
update: Актуализация
|
79
|
+
name: Блог
|
80
|
+
settings:
|
81
|
+
global:
|
82
|
+
announcement: Обявление
|
83
|
+
comments_enabled: Коментарите са разрешени
|
84
|
+
comments_max_length: Максимална дължина на коментарите (Оставете 0 за стойност по подразбиране)
|
85
|
+
step:
|
86
|
+
announcement: Обявление
|
87
|
+
comments_blocked: Коментарите са блокирани
|
88
|
+
endorsements_blocked: Подкрепата е блокирана
|
89
|
+
endorsements_enabled: Подкрепата е активирана
|
90
|
+
events:
|
91
|
+
blogs:
|
92
|
+
post_created:
|
93
|
+
email_intro: Публикацията „%{resource_title}“ е публикувана в(ъв)%{participatory_space_title}“, което следвате.
|
94
|
+
email_outro: Получавате това известие, защото следвате "%{participatory_space_title}". Може да премахнете следването чрез предходния линк.
|
95
|
+
email_subject: Публикувана е нова публикация в(ъв) %{participatory_space_title}
|
96
|
+
notification_title: Публикацията <a href="%{resource_path}">%{resource_title}</a> е публикувана в(ъв) %{participatory_space_title}
|
97
|
+
statistics:
|
98
|
+
posts_count: Постове
|
data/config/locales/es-MX.yml
CHANGED
data/config/locales/es-PY.yml
CHANGED
data/config/locales/es.yml
CHANGED
data/decidim-blogs.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
"homepage_uri" => "https://decidim.org",
|
20
20
|
"source_code_uri" => "https://github.com/decidim/decidim"
|
21
21
|
}
|
22
|
-
s.required_ruby_version = "~> 3.
|
22
|
+
s.required_ruby_version = "~> 3.2.0"
|
23
23
|
|
24
24
|
s.name = "decidim-blogs"
|
25
25
|
s.summary = "Decidim blogs module"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-blogs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isaac Massot Gil
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-admin
|
@@ -16,98 +16,98 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.29.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.29.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: decidim-comments
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.29.0.rc1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.29.0.rc1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: decidim-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.29.0.rc1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.29.0.rc1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: decidim-admin
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.29.0.rc1
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.29.0.rc1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: decidim-assemblies
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.29.0.rc1
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.29.0.rc1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: decidim-dev
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.29.0.rc1
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.29.0.rc1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: decidim-participatory_processes
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - '='
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.29.0.rc1
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.29.0.rc1
|
111
111
|
description: A Blog component for decidim's participatory spaces.
|
112
112
|
email:
|
113
113
|
- isaac.mg@coditramuntana.com
|
@@ -268,7 +268,7 @@ metadata:
|
|
268
268
|
funding_uri: https://opencollective.com/decidim
|
269
269
|
homepage_uri: https://decidim.org
|
270
270
|
source_code_uri: https://github.com/decidim/decidim
|
271
|
-
post_install_message:
|
271
|
+
post_install_message:
|
272
272
|
rdoc_options: []
|
273
273
|
require_paths:
|
274
274
|
- lib
|
@@ -276,15 +276,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
276
276
|
requirements:
|
277
277
|
- - "~>"
|
278
278
|
- !ruby/object:Gem::Version
|
279
|
-
version: 3.
|
279
|
+
version: 3.2.0
|
280
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
281
|
requirements:
|
282
|
-
- - "
|
282
|
+
- - ">"
|
283
283
|
- !ruby/object:Gem::Version
|
284
|
-
version:
|
284
|
+
version: 1.3.1
|
285
285
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
287
|
-
signing_key:
|
286
|
+
rubygems_version: 3.4.10
|
287
|
+
signing_key:
|
288
288
|
specification_version: 4
|
289
289
|
summary: Decidim blogs module
|
290
290
|
test_files: []
|