decidim-blogs 0.28.4 → 0.29.0.rc1

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: 260eac71b1c230ba4fe9b070114c10ef925e676f12338c0492b79c09bdd83095
4
- data.tar.gz: 85c8fee8fda910fe8a2c1ec0e0384f59172755cf88e0382967ff2dd037abef7c
3
+ metadata.gz: 2d3e05fbe48097df47ffc82f4b2ebbde3fc54a955c8d2b2df9b56b38f75d1014
4
+ data.tar.gz: 0f053312ab155c859de24f3f0249876f301bedb5339eaa8ce5e82a49a9397d84
5
5
  SHA512:
6
- metadata.gz: 54c224d21c32130867c54d64edc21ac04d6e05629cb14ea29a7dd85a371fbc379316b013eb43b26961347f6c7a78c8b6a11382c1758b54873a4145246cb00645
7
- data.tar.gz: d1339f5f95cceace6d1928a7257268fa3e2f4883ad8c3f2cabdba494ca53644db812568993dc53a7dc502fe4687627a1969d1dfba940e9ac314f48253aa633ed
6
+ metadata.gz: 0a46ed37e62404b0a957b8d4ac280233e34643f03d28f7248274539570a5dab1e43e459ee77ce2102f656b37fc9eb10c3f3a410b61b4f0cf56af58480aa7525f
7
+ data.tar.gz: b4fa8aea088a2ad4d7b68dd92e03028cfb88bc9ea97cb3ed845b7600b0df575116e2b9ad0d57d33c9cc3f1e9c263996b9311db0058c594252ec330641c91e836
@@ -9,6 +9,10 @@ module Decidim
9
9
 
10
10
  private
11
11
 
12
+ def has_image?
13
+ resource_image_path.present?
14
+ end
15
+
12
16
  def show_description?
13
17
  true
14
18
  end
@@ -17,7 +21,7 @@ module Decidim
17
21
  "decidim/blogs/post_metadata_g"
18
22
  end
19
23
 
20
- def resource_image_url
24
+ def resource_image_path
21
25
  return if photo.blank?
22
26
 
23
27
  photo.url
@@ -9,6 +9,10 @@ module Decidim
9
9
 
10
10
  private
11
11
 
12
+ def has_image?
13
+ true
14
+ end
15
+
12
16
  def has_description?
13
17
  true
14
18
  end
@@ -21,7 +25,7 @@ module Decidim
21
25
  "decidim/blogs/post_metadata"
22
26
  end
23
27
 
24
- def resource_image_url
28
+ def resource_image_path
25
29
  return if photo.blank?
26
30
 
27
31
  photo.url
@@ -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::Command
9
- def initialize(form, current_user)
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 create_post!
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
- @post = Decidim.traceability.create!(
40
- Post,
41
- @current_user,
42
- attributes,
43
- visibility: "all"
44
- )
45
- end
15
+ def extra_params = { visibility: "all" }
46
16
 
47
- def send_notification
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: @post,
52
- followers: @post.participatory_space.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 Blog from the admin
6
+ # This command is executed when the user changes a Post from the admin
7
7
  # panel.
8
- class UpdatePost < Decidim::Command
9
- # Initializes a UpdateBlog Command.
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, current_user) do
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, current_user) do
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.traceability.perform_action!("delete", post, current_user) do
59
- post.destroy!
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
- [current_organization.name, ""],
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
@@ -2,9 +2,7 @@
2
2
  <div class="card pt-4">
3
3
  <div class="card-section">
4
4
  <div class="row column">
5
- <div class="field">
6
5
  <%= post_author_select_field form, :decidim_author_id, label: t("decidim.blogs.actions.author_id") %>
7
- </div>
8
6
  </div>
9
7
 
10
8
  <div class="row column">
@@ -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 class="actions"><%= t("actions.title", scope: "decidim.blogs") %></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>
@@ -5,7 +5,6 @@ sv:
5
5
  post:
6
6
  body: Innehåll
7
7
  decidim_author_id: Författare
8
- published_at: Publicerad
9
8
  title: Titel
10
9
  models:
11
10
  decidim/blogs/create_post_event: Nytt blogginlägg
@@ -25,31 +24,18 @@ sv:
25
24
  title: Åtgärder
26
25
  admin:
27
26
  posts:
28
- create:
29
- invalid: Det gick inte att skapa inlägget.
30
- success: Inlägget har skapats.
31
- destroy:
32
- success: Inlägget har raderats.
33
27
  edit:
34
28
  save: Uppdatera
35
29
  title: Redigera inlägg
36
30
  index:
37
- not_published_yet: Ej publicerat.
38
31
  title: Inlägg
39
32
  new:
40
33
  create: Skapa
41
34
  title: Skapa inlägg
42
35
  update:
43
36
  invalid: Det gick inte att spara inlägget.
44
- success: Inlägget har sparats.
45
- admin_log:
46
- post:
47
- create: "%{user_name} skapade blogginlägget %{resource_name} i %{space_name}"
48
- delete: "%{user_name} raderade blogginlägget %{resource_name} från %{space_name}"
49
- update: "%{user_name} uppdaterade blogginlägget %{resource_name} i %{space_name}"
50
37
  content_blocks:
51
38
  highlighted_posts:
52
- last_published: Senast publicerade
53
39
  name: Inlägg
54
40
  see_all: Se alla inlägg
55
41
  last_activity:
@@ -60,33 +46,26 @@ sv:
60
46
  author: Författare
61
47
  body: Innehåll
62
48
  official_blog_post: Officiellt inlägg
63
- published_at: Publicerad
64
49
  title: Titel
65
- posts:
66
- index:
67
- count:
68
- one: "%{count} inlägg"
69
- other: "%{count} inlägg"
70
- empty: Det finns inga inlägg ännu.
71
50
  components:
72
51
  blogs:
73
52
  actions:
74
53
  comment: Kommentera
75
54
  create: Skapa
76
55
  destroy: Radera
77
- endorse: Gilla
56
+ endorse: Instäm
78
57
  update: Uppdatera
79
58
  name: Blogg
80
59
  settings:
81
60
  global:
82
61
  announcement: Meddelande
83
- comments_enabled: Aktivera kommentarer
84
- comments_max_length: Maximal kommentarslängd (ange 0 för att använda standardvärdet)
62
+ comments_enabled: Kommentarer aktiverade
63
+ comments_max_length: Maximal längd för kommentarer (Lämna 0 för standardvärde)
85
64
  step:
86
65
  announcement: Meddelande
87
- comments_blocked: Stäng av kommentarer
88
- endorsements_blocked: Blockera gilla-markeringar
89
- endorsements_enabled: Aktivera gilla-markeringar
66
+ comments_blocked: Kommentarer blockerade
67
+ endorsements_blocked: Instämmanden är blockerade
68
+ endorsements_enabled: Instämmanden tillåtna
90
69
  events:
91
70
  blogs:
92
71
  post_created:
@@ -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.1.0"
22
+ s.required_ruby_version = "~> 3.2.0"
23
23
 
24
24
  s.name = "decidim-blogs"
25
25
  s.summary = "Decidim blogs module"
@@ -14,22 +14,6 @@ FactoryBot.define do
14
14
  name { generate_component_name(participatory_space.organization.available_locales, :blogs, skip_injection:) }
15
15
  manifest_name { :blogs }
16
16
  participatory_space { create(:participatory_process, :with_steps, skip_injection:, organization:) }
17
-
18
- trait :with_endorsements_enabled do
19
- step_settings do
20
- {
21
- participatory_space.active_step.id => { endorsements_enabled: true }
22
- }
23
- end
24
- end
25
-
26
- trait :with_endorsements_disabled do
27
- step_settings do
28
- {
29
- participatory_space.active_step.id => { endorsements_enabled: false }
30
- }
31
- end
32
- end
33
17
  end
34
18
 
35
19
  factory :post, class: "Decidim::Blogs::Post" do
@@ -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.28.4"
7
+ "0.29.0.rc1"
8
8
  end
9
9
  end
10
10
  end
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.28.4
4
+ version: 0.29.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Massot Gil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-02 00:00:00.000000000 Z
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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.28.4
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
@@ -276,14 +276,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
276
276
  requirements:
277
277
  - - "~>"
278
278
  - !ruby/object:Gem::Version
279
- version: 3.1.0
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: '0'
284
+ version: 1.3.1
285
285
  requirements: []
286
- rubygems_version: 3.3.7
286
+ rubygems_version: 3.4.10
287
287
  signing_key:
288
288
  specification_version: 4
289
289
  summary: Decidim blogs module