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
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # Controller that allows managing assembly private users
7
- # on assemblies
8
- class ParticipatorySpacePrivateUsersController < Decidim::Assemblies::Admin::ApplicationController
9
- include Concerns::AssemblyAdmin
10
- include Decidim::Admin::Concerns::HasPrivateUsers
11
-
12
- def after_destroy_path
13
- participatory_space_private_users_path(current_assembly)
14
- end
15
-
16
- def privatable_to
17
- current_assembly
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # Controller that allows importing assembly private users
7
- # on assemblies
8
- class ParticipatorySpacePrivateUsersCsvImportsController < Decidim::Admin::ApplicationController
9
- include Concerns::AssemblyAdmin
10
- include Decidim::Admin::Concerns::HasPrivateUsersCsvImport
11
-
12
- def after_import_path
13
- participatory_space_private_users_path(current_assembly)
14
- end
15
-
16
- def privatable_to
17
- current_assembly
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A form object used to create assembly type from the admin dashboard.
7
- class AssembliesTypeForm < Form
8
- include TranslatableAttributes
9
-
10
- mimic :assemblies_type
11
-
12
- translatable_attribute :title, String
13
- validates :title, translatable_presence: true
14
- end
15
- end
16
- end
17
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- # Assembly type.
5
- class AssembliesType < ApplicationRecord
6
- include Decidim::Traceable
7
- include Decidim::Loggable
8
- include Decidim::TranslatableResource
9
-
10
- translatable_fields :title
11
-
12
- belongs_to :organization,
13
- foreign_key: "decidim_organization_id",
14
- class_name: "Decidim::Organization"
15
-
16
- has_many :assemblies,
17
- foreign_key: "decidim_assemblies_type_id",
18
- class_name: "Decidim::Assembly",
19
- dependent: :nullify
20
-
21
- validates :title, presence: true
22
-
23
- def self.log_presenter_class_for(_log)
24
- Decidim::Assemblies::AdminLog::AssembliesTypePresenter
25
- end
26
- end
27
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module AdminLog
6
- # This class holds the logic to present a `Decidim::AssembliesType`
7
- # for the `AdminLog` log.
8
- #
9
- # Usage should be automatic and you should not need to call this class
10
- # directly, but here is an example:
11
- #
12
- # action_log = Decidim::ActionLog.last
13
- # view_helpers # => this comes from the views
14
- # AssembliesTypePresenter.new(action_log, view_helpers).present
15
- class AssembliesTypePresenter < Decidim::Log::BasePresenter
16
- private
17
-
18
- def diff_fields_mapping
19
- {
20
- title: :i18n
21
- }
22
- end
23
-
24
- def i18n_labels_scope
25
- "activemodel.attributes.assemblies_type"
26
- end
27
-
28
- def action_string
29
- case action
30
- when "create", "delete", "update"
31
- "decidim.admin_log.assembly_type.#{action}"
32
- else
33
- super
34
- end
35
- end
36
-
37
- def diff_actions
38
- super + %w(delete)
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Log
5
- module ValueTypes
6
- # This class presents the given value as a Decidim::AssembliesType. Check
7
- # the `DefaultPresenter` for more info on how value
8
- # presenters work.
9
- class AssemblyTypePresenter < DefaultPresenter
10
- # Public: Presents the value as a Decidim::AssembliesType. If the type can
11
- # be found, it shows its title. Otherwise it shows its ID.
12
- #
13
- # Returns an HTML-safe String.
14
- def present
15
- return unless value
16
- return h.translated_attribute(type.title) if type
17
-
18
- I18n.t("not_found", id: value, scope: "decidim.log.value_types.assembly_type_presenter")
19
- end
20
-
21
- private
22
-
23
- def type
24
- @type ||= Decidim::AssembliesType.find_by(id: value)
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- # This query filters assemblies by type.
6
- class FilteredAssemblies < Decidim::Query
7
- def initialize(filter)
8
- @filter = filter
9
- end
10
-
11
- def assemblies
12
- Decidim::Assembly
13
- end
14
-
15
- def query
16
- return assemblies.all if @filter.blank?
17
-
18
- assemblies.where(decidim_assemblies_type_id: @filter)
19
- end
20
- end
21
- end
22
- end
@@ -1,9 +0,0 @@
1
- <% if assemblies.any? %>
2
- <div class="profile__description">
3
- <div class="font-semibold"><%= t(".member_of") %></div>
4
- <% assemblies.each_with_index do |assembly, i| %>
5
- <%= "&nbsp;&#183;&nbsp;".html_safe if i.positive? %>
6
- <%= link_to translated_attribute(assembly.title), decidim_assemblies.assembly_path(assembly, locale: I18n.locale), class: "hover:underline" %>
7
- <% end %>
8
- </div>
9
- <% end %>
@@ -1,23 +0,0 @@
1
- <% add_decidim_page_title(t("assembly_members.index.title", scope: "decidim")) %>
2
- <% add_decidim_meta_tags(
3
- title: translated_attribute(current_participatory_space.title),
4
- resource: current_participatory_space) %>
5
- <%
6
- edit_link(
7
- decidim_admin_assemblies.participatory_space_private_users_path(current_participatory_space.slug),
8
- :update,
9
- :assembly,
10
- assembly: current_participatory_space
11
- )
12
- %>
13
-
14
- <%= cell "decidim/content_blocks/participatory_space_hero", nil, resource: current_participatory_space %>
15
- <div class="container py-8">
16
- <h3 class="h3 decorator mb-10">
17
- <%= t("members", scope: "decidim.assemblies.assembly_members.index") %>
18
- <span class="label text-md ml-2"><%= collection.size %></span>
19
- </h3>
20
- <div id="assembly_members-grid" class="grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-12">
21
- <%= render(collection) %>
22
- </div>
23
- </div>