decidim-assemblies 0.30.0 → 0.30.1

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: 607e8b669303ab376976f616e2f116e2d610afb11fccdf2bf9f644131e9ed9d8
4
- data.tar.gz: 5b20c86685d019a583fe751097ef258f35b2520150985284abd600d92e91c951
3
+ metadata.gz: 71be77d034427c92b4c91b920d082170df08d5563aa2f73806e57404f466c888
4
+ data.tar.gz: '085029e0c7680f62f908940a0a33f32dc19aeaedf406fb6e3cf9499bde8ea0e4'
5
5
  SHA512:
6
- metadata.gz: e21f2125f4ce19c48540c65889dd7dc9afe7fb70bc27e645767ea2b37cd69788df8d36b325b41e60f6fb94524a29734388bebbe7e8447a45a5dd69aa969043b5
7
- data.tar.gz: e3ad168ef57a4f3692cbcdcde624315e45f12b6f1672a2e799ace2f261d2ab36ce11d0351aeab2c97797f68366f8e4004763f295d3587f45a37e6f338c5e5e18
6
+ metadata.gz: 7033326acb2853ea34bc06ea93f7eea65991790d2adc0f4d1e70922ca8ffbd84ab56d1c61f066c6797410421a87dfef1ca99dae17f8714e9bc3f9782cf6eae8d
7
+ data.tar.gz: b267638567476032f186de1e7fd917efb8728f76391c8d074551aeccc43f17da484557fa0056e5c714073dbe18d7e3b8c0119a4e616398baa5c2f10afd735db4
@@ -30,6 +30,7 @@ module Decidim
30
30
  copy_assembly
31
31
  copy_assembly_attachments
32
32
  copy_assembly_components if @form.copy_components?
33
+ copy_landing_page_blocks if @form.copy_landing_page_blocks?
33
34
  end
34
35
  end
35
36
 
@@ -84,6 +85,38 @@ module Decidim
84
85
  component.manifest.run_hooks(:copy, new_component:, old_component: component)
85
86
  end
86
87
  end
88
+
89
+ def copy_landing_page_blocks
90
+ blocks = Decidim::ContentBlock.where(scoped_resource_id: @assembly.id, scope_name: "assembly_homepage", organization: @assembly.organization)
91
+ return if blocks.blank?
92
+
93
+ blocks.each do |block|
94
+ new_block = Decidim::ContentBlock.create!(
95
+ organization: @copied_assembly.organization,
96
+ scope_name: "assembly_homepage",
97
+ scoped_resource_id: @copied_assembly.id,
98
+ manifest_name: block.manifest_name,
99
+ settings: block.settings,
100
+ weight: block.weight,
101
+ published_at: block.published_at.present? ? @copied_assembly.created_at : nil # determine if block is active/inactive
102
+ )
103
+ copy_block_attachments(block, new_block) if block.attachments.present?
104
+ end
105
+ end
106
+
107
+ def copy_block_attachments(block, new_block)
108
+ block.attachments.map(&:name).each do |name|
109
+ original_image = block.images_container.send(name).blob
110
+ next if original_image.blank?
111
+
112
+ new_block.images_container.send("#{name}=", ActiveStorage::Blob.create_and_upload!(
113
+ io: StringIO.new(original_image.download),
114
+ filename: "image.png",
115
+ content_type: block.images_container.background_image.blob.content_type
116
+ ))
117
+ new_block.save!
118
+ end
119
+ end
87
120
  end
88
121
  end
89
122
  end
@@ -51,7 +51,7 @@ module Decidim
51
51
  private
52
52
 
53
53
  def search_collection
54
- Assembly.where(organization: current_organization).published.visible_for(current_user)
54
+ published_assemblies.query
55
55
  end
56
56
 
57
57
  def default_filter_params
@@ -15,6 +15,7 @@ module Decidim
15
15
 
16
16
  attribute :slug, String
17
17
  attribute :copy_components, Boolean
18
+ attribute :copy_landing_page_blocks, Boolean
18
19
 
19
20
  validates :slug, presence: true, format: { with: Decidim::Assembly.slug_format }
20
21
  validates :title, translatable_presence: true
@@ -3,8 +3,6 @@
3
3
  module Decidim
4
4
  module Assemblies
5
5
  class Permissions < Decidim::DefaultPermissions
6
- include Decidim::UserRoleChecker
7
-
8
6
  def permissions
9
7
  user_can_enter_space_area?
10
8
 
@@ -28,15 +28,17 @@
28
28
  </table>
29
29
  </div>
30
30
 
31
- <div class="mt-4">
32
- <%= link_to manage_trash_assemblies_path, class: "flex items-center underline text-secondary" do %>
33
- <%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
34
- <%= t("actions.view_deleted_assemblies", scope: "decidim.admin") %>
35
- <span class="ml-2">
36
- <%= icon_with_tooltip("information-line", t("tooltips.deleted_assemblies_info", scope: "decidim.admin")) %>
37
- </span>
38
- <% end %>
39
- </div>
31
+ <% if allowed_to? :read, :assembly, trashable_deleted_resource: @assemblies %>
32
+ <div class="mt-4">
33
+ <%= link_to manage_trash_assemblies_path, class: "flex items-center underline text-secondary" do %>
34
+ <%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
35
+ <%= t("actions.view_deleted_assemblies", scope: "decidim.admin") %>
36
+ <span class="ml-2">
37
+ <%= icon_with_tooltip("information-line", t("tooltips.deleted_assemblies_info", scope: "decidim.admin")) %>
38
+ </span>
39
+ <% end %>
40
+ </div>
41
+ <% end %>
40
42
 
41
43
  <%= decidim_paginate @assemblies %>
42
44
  </div>
@@ -17,6 +17,9 @@
17
17
  <div class="columns">
18
18
  <%= form.check_box :copy_components %>
19
19
  </div>
20
+ <div class="columns">
21
+ <%= form.check_box :copy_landing_page_blocks %>
22
+ </div>
20
23
  </div>
21
24
  </div>
22
25
  </div>
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-assemblies version.
5
5
  module Assemblies
6
6
  def self.version
7
- "0.30.0"
7
+ "0.30.1"
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-assemblies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.30.1
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: 2025-04-29 00:00:00.000000000 Z
13
+ date: 2025-06-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,70 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.30.0
21
+ version: 0.30.1
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.30.0
28
+ version: 0.30.1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-admin
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.30.0
35
+ version: 0.30.1
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.30.0
42
+ version: 0.30.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: decidim-dev
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.30.0
49
+ version: 0.30.1
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.30.0
56
+ version: 0.30.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: decidim-meetings
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.30.0
63
+ version: 0.30.1
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.30.0
70
+ version: 0.30.1
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: decidim-proposals
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.30.0
77
+ version: 0.30.1
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.30.0
84
+ version: 0.30.1
85
85
  description: Assemblies component for decidim.
86
86
  email:
87
87
  - josepjaume@gmail.com