decidim-assemblies 0.31.6 → 0.32.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.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -12
  3. data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +1 -0
  4. data/app/commands/decidim/assemblies/admin/create_assembly.rb +4 -4
  5. data/app/commands/decidim/assemblies/admin/duplicate_assembly.rb +2 -3
  6. data/app/commands/decidim/assemblies/admin/update_assembly.rb +3 -3
  7. data/app/controllers/concerns/decidim/assemblies/admin/filterable.rb +6 -2
  8. data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +0 -3
  9. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +2 -2
  10. data/app/controllers/decidim/assemblies/admin/assembly_duplicates_controller.rb +1 -1
  11. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +1 -1
  12. data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -0
  13. data/app/controllers/decidim/assemblies/admin/members_controller.rb +14 -0
  14. data/app/controllers/decidim/assemblies/admin/members_csv_imports_controller.rb +22 -0
  15. data/app/controllers/decidim/assemblies/{participatory_space_private_users_controller.rb → members_controller.rb} +2 -2
  16. data/app/forms/decidim/assemblies/admin/assembly_duplicate_form.rb +2 -1
  17. data/app/forms/decidim/assemblies/admin/assembly_form.rb +9 -7
  18. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
  19. data/app/helpers/decidim/assemblies/assemblies_helper.rb +2 -2
  20. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +2 -1
  21. data/app/models/decidim/assembly.rb +12 -15
  22. data/app/packs/src/decidim/assemblies/controllers/assembly_admin/assembly_admin.test.js +1 -130
  23. data/app/packs/src/decidim/assemblies/controllers/assembly_admin/controller.js +0 -28
  24. data/app/permissions/decidim/assemblies/permissions.rb +9 -9
  25. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +1 -2
  26. data/app/presenters/decidim/assemblies/assembly_presenter.rb +0 -4
  27. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  28. data/app/serializers/decidim/assemblies/assembly_importer.rb +12 -15
  29. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  30. data/app/serializers/decidim/assemblies/open_data_assembly_serializer.rb +2 -8
  31. data/app/views/decidim/assemblies/admin/assemblies/_assemblies_thead.html.erb +1 -1
  32. data/app/views/decidim/assemblies/admin/assemblies/_assembly_row.html.erb +6 -7
  33. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +33 -17
  34. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +3 -2
  35. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +2 -1
  36. data/app/views/decidim/assemblies/admin/assemblies/manage_trash.html.erb +2 -2
  37. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +2 -2
  38. data/app/views/decidim/assemblies/admin/assembly_duplicates/_form.html.erb +3 -0
  39. data/app/views/decidim/assemblies/admin/assembly_duplicates/new.html.erb +2 -2
  40. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +2 -2
  41. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +2 -2
  42. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +2 -2
  43. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +2 -2
  44. data/app/views/decidim/assemblies/assemblies/show.html.erb +10 -4
  45. data/app/views/decidim/assemblies/members/index.html.erb +24 -0
  46. data/config/locales/ar.yml +0 -26
  47. data/config/locales/bg.yml +0 -26
  48. data/config/locales/bs-BA.yml +0 -8
  49. data/config/locales/ca-IT.yml +37 -36
  50. data/config/locales/ca.yml +37 -36
  51. data/config/locales/cs.yml +36 -35
  52. data/config/locales/de.yml +25 -34
  53. data/config/locales/el.yml +0 -26
  54. data/config/locales/en.yml +36 -34
  55. data/config/locales/es-MX.yml +36 -35
  56. data/config/locales/es-PY.yml +36 -35
  57. data/config/locales/es.yml +36 -35
  58. data/config/locales/eu.yml +38 -37
  59. data/config/locales/fi-plain.yml +36 -35
  60. data/config/locales/fi.yml +36 -35
  61. data/config/locales/fr-CA.yml +34 -39
  62. data/config/locales/fr.yml +35 -40
  63. data/config/locales/ga-IE.yml +0 -12
  64. data/config/locales/gl.yml +0 -24
  65. data/config/locales/he-IL.yml +0 -11
  66. data/config/locales/hu.yml +0 -26
  67. data/config/locales/id-ID.yml +0 -22
  68. data/config/locales/is-IS.yml +1 -10
  69. data/config/locales/it.yml +0 -28
  70. data/config/locales/ja.yml +23 -35
  71. data/config/locales/kaa.yml +0 -1
  72. data/config/locales/ko.yml +0 -9
  73. data/config/locales/lb.yml +0 -24
  74. data/config/locales/lt.yml +0 -25
  75. data/config/locales/lv.yml +0 -25
  76. data/config/locales/nl.yml +0 -26
  77. data/config/locales/no.yml +0 -26
  78. data/config/locales/pl.yml +0 -26
  79. data/config/locales/pt-BR.yml +6 -30
  80. data/config/locales/pt.yml +0 -28
  81. data/config/locales/ro-RO.yml +2 -25
  82. data/config/locales/ru.yml +0 -15
  83. data/config/locales/sk.yml +0 -374
  84. data/config/locales/sl.yml +0 -11
  85. data/config/locales/sq-AL.yml +0 -17
  86. data/config/locales/sr-CS.yml +0 -8
  87. data/config/locales/sv.yml +16 -29
  88. data/config/locales/tr-TR.yml +4 -30
  89. data/config/locales/uk.yml +0 -15
  90. data/config/locales/zh-CN.yml +0 -25
  91. data/config/locales/zh-TW.yml +0 -26
  92. data/db/data/20260104094930_remove_assemblies_types_references.rb +25 -0
  93. data/db/data/20260111185230_replace_legacy_fields_to_access_mode_for_assemblies.rb +25 -0
  94. data/db/data/20260210195653_move_announcement_to_content_block_on_assemblies.rb +40 -0
  95. data/db/migrate/20180226103942_add_parent_child_relation_to_assemblies.rb +4 -4
  96. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +6 -2
  97. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +6 -2
  98. data/db/migrate/20251112114736_remove_legacy_images_from_assemblies_module.rb +8 -0
  99. data/db/migrate/20251205120000_add_has_members_to_decidim_assemblies.rb +7 -0
  100. data/db/migrate/20260104093601_remove_assemblies_types.rb +12 -0
  101. data/db/migrate/20260111120000_add_access_mode_to_assemblies.rb +11 -0
  102. data/decidim-assemblies.gemspec +8 -9
  103. data/lib/decidim/api/assembly_type.rb +1 -8
  104. data/lib/decidim/assemblies/admin_engine.rb +10 -4
  105. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +5 -0
  106. data/lib/decidim/assemblies/engine.rb +26 -42
  107. data/lib/decidim/assemblies/menu.rb +5 -5
  108. data/lib/decidim/assemblies/participatory_space.rb +0 -2
  109. data/lib/decidim/assemblies/seeds.rb +1 -2
  110. data/lib/decidim/assemblies/test/factories.rb +8 -20
  111. data/lib/decidim/assemblies/version.rb +1 -1
  112. metadata +25 -30
  113. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +0 -19
  114. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +0 -17
  115. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +0 -13
  116. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_controller.rb +0 -22
  117. data/app/controllers/decidim/assemblies/admin/participatory_space_private_users_csv_imports_controller.rb +0 -22
  118. data/app/forms/decidim/assemblies/admin/assemblies_type_form.rb +0 -17
  119. data/app/models/decidim/assemblies_type.rb +0 -27
  120. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +0 -43
  121. data/app/presenters/decidim/log/value_types/assembly_type_presenter.rb +0 -29
  122. data/app/queries/decidim/assemblies/filtered_assemblies.rb +0 -22
  123. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +0 -9
  124. data/app/views/decidim/assemblies/participatory_space_private_users/index.html.erb +0 -23
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveAssembliesTypes < ActiveRecord::Migration[7.0]
4
+ def up
5
+ remove_column :decidim_assemblies, :decidim_assemblies_type_id, if_exists: true
6
+ drop_table :decidim_assemblies_types, if_exists: true
7
+ end
8
+
9
+ def down
10
+ raise ActiveRecord::IrreversibleMigration
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddAccessModeToAssemblies < ActiveRecord::Migration[6.1]
4
+ def up
5
+ add_column :decidim_assemblies, :access_mode, :integer, null: false, default: 0
6
+ end
7
+
8
+ def down
9
+ remove_column :decidim_assemblies, :access_mode
10
+ end
11
+ end
@@ -2,10 +2,9 @@
2
2
 
3
3
  $LOAD_PATH.push File.expand_path("lib", __dir__)
4
4
 
5
- require "decidim/assemblies/version"
6
-
7
5
  Gem::Specification.new do |s|
8
- s.version = Decidim::Assemblies.version
6
+ version = "0.32.0.rc1"
7
+ s.version = version
9
8
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
10
9
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
11
10
  s.license = "AGPL-3.0-or-later"
@@ -17,7 +16,7 @@ Gem::Specification.new do |s|
17
16
  "homepage_uri" => "https://decidim.org",
18
17
  "source_code_uri" => "https://github.com/decidim/decidim"
19
18
  }
20
- s.required_ruby_version = "~> 3.3.0"
19
+ s.required_ruby_version = "~> 3.4.0"
21
20
 
22
21
  s.name = "decidim-assemblies"
23
22
  s.summary = "Decidim assemblies module"
@@ -30,10 +29,10 @@ Gem::Specification.new do |s|
30
29
  end
31
30
  end
32
31
 
33
- s.add_dependency "decidim-core", Decidim::Assemblies.version
32
+ s.add_dependency "decidim-core", version
34
33
 
35
- s.add_development_dependency "decidim-admin", Decidim::Assemblies.version
36
- s.add_development_dependency "decidim-dev", Decidim::Assemblies.version
37
- s.add_development_dependency "decidim-meetings", Decidim::Assemblies.version
38
- s.add_development_dependency "decidim-proposals", Decidim::Assemblies.version
34
+ s.add_development_dependency "decidim-admin", version
35
+ s.add_development_dependency "decidim-dev", version
36
+ s.add_development_dependency "decidim-meetings", version
37
+ s.add_development_dependency "decidim-proposals", version
39
38
  end
@@ -17,8 +17,7 @@ module Decidim
17
17
 
18
18
  description "An assembly"
19
19
 
20
- field :announcement, Decidim::Core::TranslatedFieldType, "Highlighted announcement for this assembly", null: true
21
- field :banner_image, String, "The banner image for this assembly", null: true
20
+ field :access_mode, Decidim::Api::Types::AccessModeEnum, "The access mode of this assembly (open, transparent, or restricted)", null: false
22
21
  field :children, [Decidim::Assemblies::AssemblyType, { null: true }], "Children of this assembly", null: false
23
22
  field :children_count, Integer, "Number of children assemblies", null: true
24
23
  field :closing_date, Decidim::Core::DateType, "Closing date of the assembly", null: true
@@ -36,14 +35,12 @@ module Decidim
36
35
  field :included_at, Decidim::Core::DateType, "Included at", null: true
37
36
  field :instagram_handler, String, "Instagram handler", null: true
38
37
  field :internal_organisation, Decidim::Core::TranslatedFieldType, "Internal organisation of this assembly", null: true
39
- field :is_transparent, Boolean, "If this assembly is transparent", null: true
40
38
  field :local_area, Decidim::Core::TranslatedFieldType, "The organization area of this assembly", null: true
41
39
  field :meta_scope, Decidim::Core::TranslatedFieldType, "The scope metadata of this assembly", null: true
42
40
  field :parent, Decidim::Assemblies::AssemblyType, "The parent assembly of this assembly", null: true
43
41
  field :parents_path, String, "Assembly hierarchy representation", null: true
44
42
  field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this assembly", null: true
45
43
  field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this assembly", null: true
46
- field :private_space, Boolean, "If this assembly is a private space", null: true
47
44
  field :promoted, Boolean, "If this assembly is promoted (therefore in the homepage)", null: true
48
45
  field :published_at, Decidim::Core::DateTimeType, "The time this assembly was published", null: false
49
46
  field :purpose_of_action, Decidim::Core::TranslatedFieldType, "Purpose of action", null: true
@@ -65,10 +62,6 @@ module Decidim
65
62
  def hero_image
66
63
  object.attached_uploader(:hero_image).url
67
64
  end
68
-
69
- def banner_image
70
- object.attached_uploader(:banner_image).url
71
- end
72
65
  end
73
66
  end
74
67
  end
@@ -16,6 +16,8 @@ module Decidim
16
16
  paths["lib/tasks"] = nil
17
17
 
18
18
  routes do
19
+ extend Decidim::Routes::LocaleRedirects
20
+
19
21
  constraints(->(request) { Decidim::Admin::OrganizationDashboardConstraint.new(request).matches? }) do
20
22
  resources :assemblies, param: :slug, except: [:show, :destroy] do
21
23
  resource :publish, controller: "assembly_publications", only: [:create, :destroy]
@@ -81,12 +83,12 @@ module Decidim
81
83
  resources :reports, controller: "moderations/reports", only: [:index, :show]
82
84
  end
83
85
 
84
- resources :participatory_space_private_users, controller: "participatory_space_private_users" do
86
+ resources :members, controller: "members" do
85
87
  member do
86
- post :resend_invitation, to: "participatory_space_private_users#resend_invitation"
88
+ post :resend_invitation, to: "members#resend_invitation"
87
89
  end
88
90
  collection do
89
- resource :participatory_space_private_users_csv_imports, only: [:new, :create], path: "csv_import" do
91
+ resource :members_csv_imports, only: [:new, :create], path: "csv_import" do
90
92
  delete :destroy_all
91
93
  end
92
94
  post :publish_all
@@ -111,7 +113,11 @@ module Decidim
111
113
 
112
114
  initializer "decidim_assemblies_admin.mount_routes" do
113
115
  Decidim::Core::Engine.routes do
114
- mount Decidim::Assemblies::AdminEngine, at: "/admin", as: "decidim_admin_assemblies"
116
+ extend Decidim::Routes::LocaleRedirects
117
+
118
+ scope "/:locale", **locale_scope_options do
119
+ mount Decidim::Assemblies::AdminEngine, at: "/admin", as: "decidim_admin_assemblies"
120
+ end
115
121
  end
116
122
  end
117
123
 
@@ -48,6 +48,11 @@ module Decidim
48
48
  Decidim.content_blocks.register(:assembly_homepage, :announcement) do |content_block|
49
49
  content_block.cell = "decidim/content_blocks/participatory_space_announcement"
50
50
  content_block.public_name_key = "decidim.content_blocks.announcement.name"
51
+ content_block.settings_form_cell = "decidim/content_blocks/announcement_settings_form"
52
+
53
+ content_block.settings do |settings|
54
+ settings.attribute :announcement, type: :text, translated: true, editor: true, required: true
55
+ end
51
56
  end
52
57
 
53
58
  Decidim.content_blocks.register(:assembly_homepage, :main_data) do |content_block|
@@ -15,29 +15,37 @@ module Decidim
15
15
  isolate_namespace Decidim::Assemblies
16
16
 
17
17
  routes do
18
- get "assemblies/:assembly_id", to: redirect { |params, _request|
19
- assembly = Decidim::Assembly.find(params[:assembly_id])
20
- assembly ? "/assemblies/#{assembly.slug}" : "/404"
21
- }, constraints: { assembly_id: /[0-9]+/ }
22
-
23
- get "/assemblies/:assembly_id/f/:component_id", to: redirect { |params, _request|
24
- assembly = Decidim::Assembly.find(params[:assembly_id])
25
- assembly ? "/assemblies/#{assembly.slug}/f/#{params[:component_id]}" : "/404"
26
- }, constraints: { assembly_id: /[0-9]+/ }
27
-
28
- resources :assemblies, only: [:index, :show], param: :slug, path: "assemblies" do
29
- resources :participatory_space_private_users, only: :index, path: "members"
30
- end
18
+ extend Decidim::Routes::LocaleRedirects
19
+
20
+ scope "/:locale", **locale_scope_options do
21
+ get "assemblies/:assembly_id", to: redirect { |params, _request|
22
+ assembly = Decidim::Assembly.find(params[:assembly_id])
23
+ assembly ? "/#{params[:locale]}/assemblies/#{assembly.slug}" : "/404"
24
+ }, constraints: { assembly_id: /[0-9]+/ }
25
+
26
+ get "/assemblies/:assembly_id/f/:component_id", to: redirect { |params, _request|
27
+ assembly = Decidim::Assembly.find(params[:assembly_id])
28
+ assembly ? "/#{params[:locale]}/assemblies/#{assembly.slug}/f/#{params[:component_id]}" : "/404"
29
+ }, constraints: { assembly_id: /[0-9]+/ }
31
30
 
32
- scope "/assemblies/:assembly_slug/f/:component_id" do
33
- Decidim.component_manifests.each do |manifest|
34
- next unless manifest.engine
31
+ resources :assemblies, only: [:index, :show], param: :slug, path: "assemblies" do
32
+ resources :members, only: :index, path: "members"
33
+ end
34
+
35
+ scope "/assemblies/:assembly_slug/f/:component_id" do
36
+ Decidim.component_manifests.each do |manifest|
37
+ next unless manifest.engine
35
38
 
36
- constraints CurrentComponent.new(manifest) do
37
- mount manifest.engine, at: "/", as: "decidim_assembly_#{manifest.name}"
39
+ constraints CurrentComponent.new(manifest) do
40
+ mount manifest.engine, at: "/", as: "decidim_assembly_#{manifest.name}"
41
+ end
38
42
  end
39
43
  end
40
44
  end
45
+
46
+ get "/assemblies", to: redirect(&locale_redirector("/assemblies"))
47
+
48
+ get "/assemblies/*rest", to: redirect { |params, request| locale_redirector("/assemblies/#{params[:rest]}").call(params, request) }
41
49
  end
42
50
 
43
51
  initializer "decidim_assemblies.mount_routes" do
@@ -54,8 +62,6 @@ module Decidim
54
62
 
55
63
  initializer "decidim_assemblies.register_icons" do
56
64
  Decidim.icons.register(name: "Decidim::Assembly", icon: "government-line", description: "Assembly", category: "activity", engine: :assemblies)
57
- Decidim.icons.register(name: "assembly_type", icon: "group-2-line", description: "Type", category: "assemblies", engine: :assemblies)
58
-
59
65
  Decidim.icons.register(name: "group-2-line", icon: "group-2-line", category: "system", description: "", engine: :assemblies)
60
66
  end
61
67
 
@@ -79,28 +85,6 @@ module Decidim
79
85
  Decidim::Assemblies::Menu.register_home_content_block_menu!
80
86
  end
81
87
 
82
- initializer "decidim_assemblies.view_hooks" do
83
- Decidim.view_hooks.register(:user_profile_bottom, priority: Decidim::ViewHooks::MEDIUM_PRIORITY) do |view_context|
84
- assemblies = OrganizationPublishedAssemblies.new(view_context.current_organization, view_context.current_user)
85
- .query.distinct
86
- .joins(:participatory_space_private_users)
87
- .merge(Decidim::ParticipatorySpacePrivateUser.where(user: view_context.profile_holder))
88
- .reorder(title: :asc)
89
-
90
- next unless assemblies.any?
91
-
92
- # Since this is rendered inside a cell we need to access the parent context in order to render it.
93
- view_context = view_context.controller.view_context
94
-
95
- view_context.render(
96
- partial: "decidim/assemblies/pages/user_profile/member_of",
97
- locals: {
98
- assemblies:
99
- }
100
- )
101
- end
102
- end
103
-
104
88
  initializer "decidim_assemblies.content_blocks" do
105
89
  Decidim::Assemblies::ContentBlocks::RegistryManager.register!
106
90
  end
@@ -122,11 +122,11 @@ module Decidim
122
122
  icon_name: "user-settings-line",
123
123
  if: allowed_to?(:read, :assembly_user_role, assembly: current_participatory_space)
124
124
 
125
- menu.add_item :participatory_space_private_users,
126
- I18n.t("private_users", scope: "decidim.admin.menu.assemblies_submenu"),
127
- decidim_admin_assemblies.participatory_space_private_users_path(current_participatory_space),
128
- icon_name: "spy-line",
129
- if: allowed_to?(:read, :space_private_user, current_participatory_space:)
125
+ menu.add_item :members,
126
+ I18n.t("members", scope: "decidim.admin.menu.assemblies_submenu"),
127
+ decidim_admin_assemblies.members_path(current_participatory_space),
128
+ icon_name: "user-settings-line",
129
+ if: allowed_to?(:read, :space_member, current_participatory_space:)
130
130
 
131
131
  menu.add_item :moderations,
132
132
  I18n.t("moderations", scope: "decidim.admin.menu.assemblies_submenu"),
@@ -13,8 +13,6 @@ Decidim.register_participatory_space(:assemblies) do |participatory_space|
13
13
 
14
14
  participatory_space.query_type = "Decidim::Assemblies::AssemblyType"
15
15
 
16
- participatory_space.breadcrumb_cell = "decidim/assemblies/assembly_dropdown_metadata"
17
-
18
16
  participatory_space.register_resource(:assembly) do |resource|
19
17
  resource.model_class_name = "Decidim::Assembly"
20
18
  resource.card = "decidim/assemblies/assembly"
@@ -60,7 +60,6 @@ module Decidim
60
60
  end,
61
61
  organization:,
62
62
  hero_image: ::Faker::Boolean.boolean(true_ratio: 0.5) ? hero_image : nil, # Keep after organization
63
- banner_image: ::Faker::Boolean.boolean(true_ratio: 0.5) ? banner_image : nil, # Keep after organization
64
63
  promoted: true,
65
64
  published_at: 2.weeks.ago,
66
65
  meta_scope: Decidim::Faker::Localized.word,
@@ -86,7 +85,7 @@ module Decidim
86
85
  internal_organisation: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
87
86
  Decidim::Faker::Localized.paragraph(sentence_count: 3)
88
87
  end,
89
- is_transparent: true,
88
+ access_mode: :open,
90
89
  special_features: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
91
90
  Decidim::Faker::Localized.paragraph(sentence_count: 3)
92
91
  end,
@@ -8,14 +8,6 @@ FactoryBot.define do
8
8
  "#{Decidim::Faker::Internet.slug(words: nil, glue: "-")}-#{n}"
9
9
  end
10
10
 
11
- factory :assemblies_type, class: "Decidim::AssembliesType" do
12
- transient do
13
- skip_injection { false }
14
- end
15
- title { generate_localized_title(:assemblies_type_title, skip_injection:) }
16
- organization
17
- end
18
-
19
11
  factory :assembly, class: "Decidim::Assembly" do
20
12
  transient do
21
13
  skip_injection { false }
@@ -27,7 +19,6 @@ FactoryBot.define do
27
19
  description { generate_localized_description(:assembly_description, skip_injection:) }
28
20
  organization
29
21
  hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") } # Keep after organization
30
- banner_image { Decidim::Dev.test_file("city2.jpeg", "image/jpeg") } # Keep after organization
31
22
  published_at { Time.current }
32
23
  deleted_at { nil }
33
24
  meta_scope { generate_localized_word(:assembly_meta_scope, skip_injection:) }
@@ -36,7 +27,7 @@ FactoryBot.define do
36
27
  target { generate_localized_title(:assembly_target, skip_injection:) }
37
28
  participatory_scope { generate_localized_title(:assembly_participatory_scope, skip_injection:) }
38
29
  participatory_structure { generate_localized_title(:assembly_participatory_structure, skip_injection:) }
39
- private_space { false }
30
+ has_members { false }
40
31
  purpose_of_action { generate_localized_description(:assembly_purpose_of_action, skip_injection:) }
41
32
  composition { generate_localized_description(:assembly_composition, skip_injection:) }
42
33
  creation_date { 1.month.ago }
@@ -47,7 +38,6 @@ FactoryBot.define do
47
38
  closing_date { 2.months.from_now.at_midnight }
48
39
  closing_date_reason { generate_localized_description(:assembly_closing_date_reason, skip_injection:) }
49
40
  internal_organisation { generate_localized_description(:assembly_internal_organisation, skip_injection:) }
50
- is_transparent { true }
51
41
  special_features { generate_localized_description(:assembly_special_features, skip_injection:) }
52
42
  twitter_handler { "others" }
53
43
  facebook_handler { "others" }
@@ -77,20 +67,18 @@ FactoryBot.define do
77
67
  parent { create(:assembly, organization:, skip_injection:) }
78
68
  end
79
69
 
80
- trait :public do
81
- private_space { false }
82
- end
83
-
84
- trait :private do
85
- private_space { true }
70
+ trait :open do
71
+ access_mode { :open }
86
72
  end
87
73
 
88
74
  trait :transparent do
89
- is_transparent { true }
75
+ has_members { true }
76
+ access_mode { :transparent }
90
77
  end
91
78
 
92
- trait :opaque do
93
- is_transparent { false }
79
+ trait :restricted do
80
+ has_members { true }
81
+ access_mode { :restricted }
94
82
  end
95
83
 
96
84
  trait :with_content_blocks do
@@ -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.31.6"
7
+ "0.32.0.rc1"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-assemblies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.6
4
+ version: 0.32.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2026-07-06 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: decidim-core
@@ -18,70 +17,70 @@ dependencies:
18
17
  requirements:
19
18
  - - '='
20
19
  - !ruby/object:Gem::Version
21
- version: 0.31.6
20
+ version: 0.32.0.rc1
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  requirements:
26
25
  - - '='
27
26
  - !ruby/object:Gem::Version
28
- version: 0.31.6
27
+ version: 0.32.0.rc1
29
28
  - !ruby/object:Gem::Dependency
30
29
  name: decidim-admin
31
30
  requirement: !ruby/object:Gem::Requirement
32
31
  requirements:
33
32
  - - '='
34
33
  - !ruby/object:Gem::Version
35
- version: 0.31.6
34
+ version: 0.32.0.rc1
36
35
  type: :development
37
36
  prerelease: false
38
37
  version_requirements: !ruby/object:Gem::Requirement
39
38
  requirements:
40
39
  - - '='
41
40
  - !ruby/object:Gem::Version
42
- version: 0.31.6
41
+ version: 0.32.0.rc1
43
42
  - !ruby/object:Gem::Dependency
44
43
  name: decidim-dev
45
44
  requirement: !ruby/object:Gem::Requirement
46
45
  requirements:
47
46
  - - '='
48
47
  - !ruby/object:Gem::Version
49
- version: 0.31.6
48
+ version: 0.32.0.rc1
50
49
  type: :development
51
50
  prerelease: false
52
51
  version_requirements: !ruby/object:Gem::Requirement
53
52
  requirements:
54
53
  - - '='
55
54
  - !ruby/object:Gem::Version
56
- version: 0.31.6
55
+ version: 0.32.0.rc1
57
56
  - !ruby/object:Gem::Dependency
58
57
  name: decidim-meetings
59
58
  requirement: !ruby/object:Gem::Requirement
60
59
  requirements:
61
60
  - - '='
62
61
  - !ruby/object:Gem::Version
63
- version: 0.31.6
62
+ version: 0.32.0.rc1
64
63
  type: :development
65
64
  prerelease: false
66
65
  version_requirements: !ruby/object:Gem::Requirement
67
66
  requirements:
68
67
  - - '='
69
68
  - !ruby/object:Gem::Version
70
- version: 0.31.6
69
+ version: 0.32.0.rc1
71
70
  - !ruby/object:Gem::Dependency
72
71
  name: decidim-proposals
73
72
  requirement: !ruby/object:Gem::Requirement
74
73
  requirements:
75
74
  - - '='
76
75
  - !ruby/object:Gem::Version
77
- version: 0.31.6
76
+ version: 0.32.0.rc1
78
77
  type: :development
79
78
  prerelease: false
80
79
  version_requirements: !ruby/object:Gem::Requirement
81
80
  requirements:
82
81
  - - '='
83
82
  - !ruby/object:Gem::Version
84
- version: 0.31.6
83
+ version: 0.32.0.rc1
85
84
  description: Assemblies component for decidim.
86
85
  email:
87
86
  - josepjaume@gmail.com
@@ -96,7 +95,6 @@ files:
96
95
  - app/cells/decidim/assemblies/assemblies/show.erb
97
96
  - app/cells/decidim/assemblies/assemblies_cell.rb
98
97
  - app/cells/decidim/assemblies/assembly_cell.rb
99
- - app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb
100
98
  - app/cells/decidim/assemblies/assembly_g_cell.rb
101
99
  - app/cells/decidim/assemblies/assembly_metadata_g_cell.rb
102
100
  - app/cells/decidim/assemblies/assembly_s_cell.rb
@@ -113,11 +111,9 @@ files:
113
111
  - app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb
114
112
  - app/cells/decidim/assemblies/content_blocks/stats_cell.rb
115
113
  - app/cells/decidim/assembly_activity_cell.rb
116
- - app/commands/decidim/assemblies/admin/create_assemblies_type.rb
117
114
  - app/commands/decidim/assemblies/admin/create_assembly.rb
118
115
  - app/commands/decidim/assemblies/admin/duplicate_assembly.rb
119
116
  - app/commands/decidim/assemblies/admin/import_assembly.rb
120
- - app/commands/decidim/assemblies/admin/update_assemblies_type.rb
121
117
  - app/commands/decidim/assemblies/admin/update_assembly.rb
122
118
  - app/constraints/decidim/assemblies/current_assembly.rb
123
119
  - app/constraints/decidim/assemblies/current_component.rb
@@ -142,16 +138,15 @@ files:
142
138
  - app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb
143
139
  - app/controllers/decidim/assemblies/admin/exports_controller.rb
144
140
  - app/controllers/decidim/assemblies/admin/imports_controller.rb
141
+ - app/controllers/decidim/assemblies/admin/members_controller.rb
142
+ - app/controllers/decidim/assemblies/admin/members_csv_imports_controller.rb
145
143
  - app/controllers/decidim/assemblies/admin/moderations/reports_controller.rb
146
144
  - app/controllers/decidim/assemblies/admin/moderations_controller.rb
147
- - app/controllers/decidim/assemblies/admin/participatory_space_private_users_controller.rb
148
- - app/controllers/decidim/assemblies/admin/participatory_space_private_users_csv_imports_controller.rb
149
145
  - app/controllers/decidim/assemblies/admin/reminders_controller.rb
150
146
  - app/controllers/decidim/assemblies/application_controller.rb
151
147
  - app/controllers/decidim/assemblies/assemblies_controller.rb
152
- - app/controllers/decidim/assemblies/participatory_space_private_users_controller.rb
148
+ - app/controllers/decidim/assemblies/members_controller.rb
153
149
  - app/events/decidim/role_assigned_to_assembly_event.rb
154
- - app/forms/decidim/assemblies/admin/assemblies_type_form.rb
155
150
  - app/forms/decidim/assemblies/admin/assembly_duplicate_form.rb
156
151
  - app/forms/decidim/assemblies/admin/assembly_form.rb
157
152
  - app/forms/decidim/assemblies/admin/assembly_import_form.rb
@@ -161,7 +156,6 @@ files:
161
156
  - app/helpers/decidim/assemblies/application_helper.rb
162
157
  - app/helpers/decidim/assemblies/assemblies_helper.rb
163
158
  - app/helpers/decidim/assemblies/filter_assemblies_helper.rb
164
- - app/models/decidim/assemblies_type.rb
165
159
  - app/models/decidim/assembly.rb
166
160
  - app/models/decidim/assembly_user_role.rb
167
161
  - app/packs/entrypoints/decidim_assemblies_admin.js
@@ -174,7 +168,6 @@ files:
174
168
  - app/packs/src/decidim/assemblies/controllers/assembly_admin/controller.js
175
169
  - app/permissions/decidim/assemblies/permissions.rb
176
170
  - app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb
177
- - app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb
178
171
  - app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb
179
172
  - app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb
180
173
  - app/presenters/decidim/assemblies/admin_log/value_types/role_presenter.rb
@@ -182,12 +175,10 @@ files:
182
175
  - app/presenters/decidim/assemblies/assembly_stats_presenter.rb
183
176
  - app/presenters/decidim/assembly_presenter.rb
184
177
  - app/presenters/decidim/log/value_types/assembly_presenter.rb
185
- - app/presenters/decidim/log/value_types/assembly_type_presenter.rb
186
178
  - app/queries/decidim/assemblies/admin/admin_users.rb
187
179
  - app/queries/decidim/assemblies/assemblies_stats_followers_count.rb
188
180
  - app/queries/decidim/assemblies/assemblies_stats_participants_count.rb
189
181
  - app/queries/decidim/assemblies/assemblies_with_user_role.rb
190
- - app/queries/decidim/assemblies/filtered_assemblies.rb
191
182
  - app/queries/decidim/assemblies/organization_assemblies.rb
192
183
  - app/queries/decidim/assemblies/organization_prioritized_assemblies.rb
193
184
  - app/queries/decidim/assemblies/organization_published_assemblies.rb
@@ -221,8 +212,7 @@ files:
221
212
  - app/views/decidim/assemblies/assemblies/index.html.erb
222
213
  - app/views/decidim/assemblies/assemblies/index.js.erb
223
214
  - app/views/decidim/assemblies/assemblies/show.html.erb
224
- - app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb
225
- - app/views/decidim/assemblies/participatory_space_private_users/index.html.erb
215
+ - app/views/decidim/assemblies/members/index.html.erb
226
216
  - app/views/layouts/decidim/admin/_manage_assemblies.html.erb
227
217
  - app/views/layouts/decidim/admin/assemblies.html.erb
228
218
  - app/views/layouts/decidim/admin/assemblies_imports.html.erb
@@ -311,6 +301,9 @@ files:
311
301
  - config/locales/vi.yml
312
302
  - config/locales/zh-CN.yml
313
303
  - config/locales/zh-TW.yml
304
+ - db/data/20260104094930_remove_assemblies_types_references.rb
305
+ - db/data/20260111185230_replace_legacy_fields_to_access_mode_for_assemblies.rb
306
+ - db/data/20260210195653_move_announcement_to_content_block_on_assemblies.rb
314
307
  - db/migrate/20170727190859_add_assemblies.rb
315
308
  - db/migrate/20170822153055_add_scopes_enabled_to_assemblies.rb
316
309
  - db/migrate/20180109105917_add_assembly_user_roles.rb
@@ -338,6 +331,10 @@ files:
338
331
  - db/migrate/20241016101151_migrate_assembly_members_to_private_users.rb
339
332
  - db/migrate/20241108141651_remove_column_show_statistics_from_assemblies.rb
340
333
  - db/migrate/20250604081741_remove_hastags_column_assemblies.rb
334
+ - db/migrate/20251112114736_remove_legacy_images_from_assemblies_module.rb
335
+ - db/migrate/20251205120000_add_has_members_to_decidim_assemblies.rb
336
+ - db/migrate/20260104093601_remove_assemblies_types.rb
337
+ - db/migrate/20260111120000_add_access_mode_to_assemblies.rb
341
338
  - decidim-assemblies.gemspec
342
339
  - lib/decidim/api/assembly_type.rb
343
340
  - lib/decidim/assemblies.rb
@@ -361,7 +358,6 @@ metadata:
361
358
  funding_uri: https://opencollective.com/decidim
362
359
  homepage_uri: https://decidim.org
363
360
  source_code_uri: https://github.com/decidim/decidim
364
- post_install_message:
365
361
  rdoc_options: []
366
362
  require_paths:
367
363
  - lib
@@ -369,15 +365,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
369
365
  requirements:
370
366
  - - "~>"
371
367
  - !ruby/object:Gem::Version
372
- version: 3.3.0
368
+ version: 3.4.0
373
369
  required_rubygems_version: !ruby/object:Gem::Requirement
374
370
  requirements:
375
371
  - - ">="
376
372
  - !ruby/object:Gem::Version
377
373
  version: '0'
378
374
  requirements: []
379
- rubygems_version: 3.5.11
380
- signing_key:
375
+ rubygems_version: 3.6.9
381
376
  specification_version: 4
382
377
  summary: Decidim assemblies module
383
378
  test_files: []
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- class AssemblyDropdownMetadataCell < Decidim::ParticipatorySpaceDropdownMetadataCell
6
- include AssembliesHelper
7
- include Decidim::ComponentPathHelper
8
- include ActiveLinkTo
9
-
10
- def decidim_assemblies
11
- Decidim::Assemblies::Engine.routes.url_helpers
12
- end
13
-
14
- private
15
-
16
- def nav_items_method = :assembly_nav_items
17
- end
18
- end
19
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when creating a new assembly
7
- # type in the system.
8
- class CreateAssembliesType < Decidim::Commands::CreateResource
9
- fetch_form_attributes :title, :organization
10
-
11
- private
12
-
13
- def resource_class = Decidim::AssembliesType
14
- end
15
- end
16
- end
17
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when updating a new assembly
7
- # type in the system.
8
- class UpdateAssembliesType < Decidim::Commands::UpdateResource
9
- fetch_form_attributes :title
10
- end
11
- end
12
- end
13
- end