decidim-assemblies 0.27.10 → 0.28.0.rc4

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 (198) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assemblies/show.erb +16 -0
  3. data/app/cells/decidim/assemblies/assemblies_cell.rb +24 -0
  4. data/app/cells/decidim/assemblies/assembly_cell.rb +7 -2
  5. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +19 -0
  6. data/app/cells/decidim/assemblies/assembly_g_cell.rb +23 -0
  7. data/app/cells/decidim/assemblies/assembly_member/data.erb +19 -0
  8. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +11 -0
  9. data/app/cells/decidim/assemblies/assembly_member/show.erb +8 -52
  10. data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +46 -0
  11. data/app/cells/decidim/assemblies/assembly_s_cell.rb +15 -0
  12. data/app/cells/decidim/assemblies/content_block_cell.rb +21 -0
  13. data/app/cells/decidim/assemblies/content_blocks/children_assemblies_cell.rb +27 -0
  14. data/app/cells/decidim/assemblies/content_blocks/dates_metadata_cell.rb +23 -0
  15. data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +39 -0
  16. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +15 -23
  17. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
  18. data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +52 -0
  19. data/app/cells/decidim/assemblies/content_blocks/metadata_cell.rb +23 -0
  20. data/app/cells/decidim/assemblies/content_blocks/related_assemblies/content.erb +1 -0
  21. data/app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb +34 -0
  22. data/app/cells/decidim/assemblies/content_blocks/stats_cell.rb +15 -0
  23. data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -2
  24. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +1 -1
  25. data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -1
  26. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +3 -3
  27. data/app/commands/decidim/assemblies/admin/destroy_assemblies_type.rb +1 -1
  28. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +1 -1
  29. data/app/commands/decidim/assemblies/admin/import_assembly.rb +1 -1
  30. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +1 -1
  31. data/app/commands/decidim/assemblies/admin/update_assembly.rb +1 -1
  32. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +1 -1
  33. data/app/constraints/decidim/assemblies/current_assembly.rb +1 -1
  34. data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +1 -1
  35. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +39 -0
  36. data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +36 -0
  37. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +1 -0
  38. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +1 -1
  39. data/app/controllers/decidim/assemblies/admin/assembly_attachment_collections_controller.rb +5 -0
  40. data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +5 -0
  41. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -0
  42. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_content_blocks_controller.rb +35 -0
  43. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_controller.rb +37 -0
  44. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +2 -6
  45. data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +9 -29
  46. data/app/controllers/decidim/assemblies/admin/assembly_user_roles_controller.rb +8 -91
  47. data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -1
  48. data/app/controllers/decidim/assemblies/assemblies_controller.rb +12 -7
  49. data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
  50. data/app/events/decidim/assemblies/create_assembly_member_event.rb +1 -1
  51. data/app/events/decidim/role_assigned_to_assembly_event.rb +11 -6
  52. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
  53. data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
  54. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
  55. data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
  56. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
  57. data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
  58. data/app/helpers/decidim/assemblies/assemblies_helper.rb +21 -19
  59. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
  60. data/app/models/decidim/assembly.rb +6 -5
  61. data/app/models/decidim/assembly_user_role.rb +5 -33
  62. data/app/packs/entrypoints/decidim_assemblies.js +0 -1
  63. data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
  64. data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
  65. data/app/permissions/decidim/assemblies/permissions.rb +14 -27
  66. data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
  67. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
  68. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
  69. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
  70. data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
  71. data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
  72. data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
  73. data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
  74. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  75. data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
  76. data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
  77. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  78. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
  79. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
  80. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
  81. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
  82. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
  83. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
  84. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
  85. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
  86. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
  87. data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
  88. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
  89. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
  90. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
  91. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
  92. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
  93. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
  94. data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
  95. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
  96. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
  97. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
  98. data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
  99. data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
  100. data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
  101. data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
  102. data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
  103. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
  104. data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
  105. data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
  106. data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
  107. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
  108. data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
  109. data/app/views/layouts/decidim/assembly.html.erb +7 -14
  110. data/config/locales/ar.yml +7 -68
  111. data/config/locales/bg.yml +0 -466
  112. data/config/locales/ca.yml +62 -71
  113. data/config/locales/cs.yml +59 -66
  114. data/config/locales/de.yml +60 -69
  115. data/config/locales/el.yml +11 -61
  116. data/config/locales/en.yml +57 -66
  117. data/config/locales/es-MX.yml +57 -66
  118. data/config/locales/es-PY.yml +57 -66
  119. data/config/locales/es.yml +63 -72
  120. data/config/locales/eu.yml +57 -70
  121. data/config/locales/fi-plain.yml +58 -67
  122. data/config/locales/fi.yml +57 -66
  123. data/config/locales/fr-CA.yml +57 -66
  124. data/config/locales/fr.yml +57 -66
  125. data/config/locales/ga-IE.yml +4 -15
  126. data/config/locales/gl.yml +4 -62
  127. data/config/locales/hu.yml +33 -65
  128. data/config/locales/id-ID.yml +6 -47
  129. data/config/locales/is-IS.yml +5 -40
  130. data/config/locales/it.yml +5 -62
  131. data/config/locales/ja.yml +51 -66
  132. data/config/locales/kaa.yml +0 -8
  133. data/config/locales/ko.yml +0 -92
  134. data/config/locales/lb.yml +5 -61
  135. data/config/locales/lt.yml +40 -63
  136. data/config/locales/lv.yml +5 -57
  137. data/config/locales/nl.yml +4 -62
  138. data/config/locales/no.yml +5 -62
  139. data/config/locales/pl.yml +3 -93
  140. data/config/locales/pt-BR.yml +77 -132
  141. data/config/locales/pt.yml +5 -62
  142. data/config/locales/ro-RO.yml +20 -63
  143. data/config/locales/ru.yml +4 -44
  144. data/config/locales/sk.yml +0 -26
  145. data/config/locales/sl.yml +5 -48
  146. data/config/locales/sq-AL.yml +0 -364
  147. data/config/locales/sr-CS.yml +0 -5
  148. data/config/locales/sv.yml +132 -193
  149. data/config/locales/tr-TR.yml +8 -69
  150. data/config/locales/uk.yml +4 -44
  151. data/config/locales/zh-CN.yml +5 -60
  152. data/config/locales/zh-TW.yml +7 -63
  153. data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
  154. data/lib/decidim/api/assemblies_type_type.rb +1 -1
  155. data/lib/decidim/api/assembly_member_type.rb +1 -1
  156. data/lib/decidim/api/assembly_type.rb +1 -1
  157. data/lib/decidim/assemblies/admin_engine.rb +21 -126
  158. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
  159. data/lib/decidim/assemblies/engine.rb +15 -21
  160. data/lib/decidim/assemblies/menu.rb +161 -0
  161. data/lib/decidim/assemblies/participatory_space.rb +7 -229
  162. data/lib/decidim/assemblies/query_extensions.rb +6 -6
  163. data/lib/decidim/assemblies/seeds.rb +161 -0
  164. data/lib/decidim/assemblies/test/factories.rb +47 -55
  165. data/lib/decidim/assemblies/version.rb +1 -1
  166. metadata +54 -51
  167. data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
  168. data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
  169. data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
  170. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
  171. data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
  172. data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
  173. data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
  174. data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
  175. data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
  176. data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
  177. data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
  178. data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
  179. data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -33
  180. data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
  181. data/app/models/decidim/assemblies_setting.rb +0 -17
  182. data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
  183. data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
  184. data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
  185. data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
  186. data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
  187. data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
  188. data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
  189. data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
  190. data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
  191. data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
  192. data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
  193. data/config/locales/he-IL.yml +0 -110
  194. data/db/seeds/Exampledocument.pdf +0 -0
  195. data/db/seeds/city.jpeg +0 -0
  196. data/db/seeds/city2.jpeg +0 -0
  197. data/db/seeds/homepage_image.jpg +0 -0
  198. data/decidim-assemblies.gemspec +0 -32
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ module Admin
6
+ module AssemblyMembersHelper
7
+ include Decidim::PaginateHelper
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ # Custom helpers, scoped to the participatory processes engine.
6
+ #
7
+ module ApplicationHelper
8
+ include Decidim::ResourceHelper
9
+ include PaginateHelper
10
+ end
11
+ end
12
+ end
@@ -7,7 +7,6 @@ module Decidim
7
7
  include Decidim::ResourceHelper
8
8
  include Decidim::AttachmentsHelper
9
9
  include Decidim::IconHelper
10
- include Decidim::WidgetUrlsHelper
11
10
  include Decidim::SanitizeHelper
12
11
  include Decidim::ResourceReferenceHelper
13
12
  include Decidim::FiltersHelper
@@ -15,10 +14,11 @@ module Decidim
15
14
 
16
15
  # Public: Returns the characteristics of an assembly in a readable format like
17
16
  # "title: close, no public, no transparent and is restricted to the members of the assembly"
17
+ # deprecated
18
18
  def participatory_processes_for_assembly(assembly_participatory_processes)
19
19
  html = ""
20
20
  html += %( <div class="section"> ).html_safe
21
- html += %( <h4 class="section-heading">#{t("assemblies.show.related_participatory_processes", scope: "decidim")}</h4> ).html_safe
21
+ html += %( <h4>#{t("assemblies.show.related_participatory_processes", scope: "decidim")}</h4> ).html_safe
22
22
  html += %( <div class="row small-up-1 medium-up-2 card-grid"> ).html_safe
23
23
  assembly_participatory_processes.each do |assembly_participatory_process|
24
24
  html += render partial: "decidim/participatory_processes/participatory_process", locals: { participatory_process: assembly_participatory_process }
@@ -31,31 +31,33 @@ module Decidim
31
31
 
32
32
  def assembly_features(assembly)
33
33
  html = "".html_safe
34
- html += "<strong>#{decidim_escape_translated(assembly.title)}: </strong>".html_safe
34
+ html += "<strong>#{translated_attribute(assembly.title)}: </strong>".html_safe
35
35
  html += t("assemblies.show.private_space", scope: "decidim").to_s.html_safe
36
36
  html += ", #{t("assemblies.show.is_transparent.#{assembly.is_transparent}", scope: "decidim")}".html_safe if assembly.is_transparent?
37
37
  html += " #{decidim_sanitize_editor translated_attribute(assembly.special_features)}".html_safe
38
38
  html.html_safe
39
39
  end
40
40
 
41
- def social_handler_links(assembly)
42
- html = "".html_safe
43
- if Decidim::Assembly::SOCIAL_HANDLERS.any? { |h| assembly.try("#{h}_handler").present? }
44
- html += "<div class='definition-data__item social_networks'>".html_safe
45
- html += "<span class='definition-data__title'>#{t("assemblies.show.social_networks", scope: "decidim")}</span>".html_safe
46
- Decidim::Assembly::SOCIAL_HANDLERS.each do |handler|
47
- handler_name = "#{handler}_handler"
48
- next if assembly.send(handler_name).blank?
41
+ # Items to display in the navigation of an assembly
42
+ def assembly_nav_items(participatory_space)
43
+ components = participatory_space.components.published.or(Decidim::Component.where(id: try(:current_component)))
49
44
 
50
- html += link_to handler.capitalize, "https://#{handler}.com/#{assembly.send(handler_name)}",
51
- target: "_blank",
52
- class: "",
53
- title: t("assemblies.show.social_networks_title", scope: "decidim") << " " << handler.capitalize.to_s, rel: "noopener"
54
- end
55
- html += "</div>".html_safe
45
+ [
46
+ *(if participatory_space.members.not_ceased.any?
47
+ [{
48
+ name: t("assembly_member_menu_item", scope: "layouts.decidim.assembly_navigation"),
49
+ url: decidim_assemblies.assembly_assembly_members_path(participatory_space),
50
+ active: is_active_link?(decidim_assemblies.assembly_assembly_members_path(participatory_space), :inclusive)
51
+ }]
52
+ end
53
+ )
54
+ ] + components.map do |component|
55
+ {
56
+ name: translated_attribute(component.name),
57
+ url: main_component_path(component),
58
+ active: is_active_link?(main_component_path(component), :inclusive)
59
+ }
56
60
  end
57
-
58
- html.html_safe
59
61
  end
60
62
  end
61
63
  end
@@ -2,44 +2,29 @@
2
2
 
3
3
  module Decidim
4
4
  module Assemblies
5
- # Helpers related to the Assemblies filter by type.
6
- #
7
- # `filter` returns a Filter object from Decidim::FilterResource
5
+ # Helpers related to the Assemblies filters.
8
6
  module FilterAssembliesHelper
9
- def available_filters
10
- return if organization_assembly_types.blank?
7
+ include Decidim::CheckBoxesTreeHelper
11
8
 
12
- [t("all", scope: "decidim.assemblies.filter")] + organization_assembly_types
9
+ def assembly_types
10
+ @assembly_types ||= AssembliesType.where(organization: current_organization).joins(:assemblies).distinct
13
11
  end
14
12
 
15
- def filter_link(type_id)
16
- Decidim::Assemblies::Engine
17
- .routes
18
- .url_helpers
19
- .assemblies_path(
20
- filter: {
21
- with_any_scope: filter.with_any_scope,
22
- with_area: filter.with_area,
23
- type_id_eq: type_id
24
- }
25
- )
26
- end
27
-
28
- def help_text
29
- t("help", scope: "decidim.assemblies.filter")
30
- end
13
+ def filter_types_values
14
+ return if assembly_types.blank?
31
15
 
32
- def current_filter_name
33
- type = AssembliesType.find_by(id: filter_params[:type_id_eq])
34
- return translated_attribute type.title if type
16
+ type_values = assembly_types.map { |type| [type.id.to_s, translated_attribute(type.title)] }
17
+ type_values.prepend(["", t("decidim.assemblies.assemblies.filters.names.all")])
35
18
 
36
- t("all", scope: "decidim.assemblies.filter")
19
+ filter_tree_from_array(type_values)
37
20
  end
38
21
 
39
- def organization_assembly_types
40
- @organization_assembly_types ||= AssembliesType.where(organization: current_organization).joins(:assemblies).where(
41
- decidim_assemblies: { id: search.result.unscope(where: :decidim_assemblies_type_id).parent_assemblies }
42
- ).distinct&.map { |type| [translated_attribute(type.title), type.id] }
22
+ def filter_sections
23
+ [
24
+ { method: :with_any_scope, collection: filter_global_scopes_values, label_scope: "decidim.shared.participatory_space_filters.filters", id: "scope" },
25
+ { method: :with_any_area, collection: filter_areas_values, label_scope: "decidim.shared.participatory_space_filters.filters", id: "area" },
26
+ { method: :with_any_type, collection: filter_types_values, label_scope: "decidim.assemblies.assemblies.filters", id: "type" }
27
+ ].reject { |item| item[:collection].blank? }
43
28
  end
44
29
  end
45
30
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Decidim
4
4
  # Interaction between a user and an organization can be done via an Assembly.
5
- # It's a unit of action from the Organization point of view that groups
5
+ # It is a unit of action from the Organization point of view that groups
6
6
  # several components (proposals, debates...) that can be enabled or disabled.
7
7
  #
8
8
  # An assembly can have children. This is implemented using a PostgreSQL extension: LTREE
@@ -37,7 +37,6 @@ module Decidim
37
37
  include Decidim::HasArea
38
38
  include Decidim::FilterableResource
39
39
 
40
- SOCIAL_HANDLERS = [:twitter, :facebook, :instagram, :youtube, :github].freeze
41
40
  CREATED_BY = %w(city_council public others).freeze
42
41
 
43
42
  translatable_fields :title, :subtitle, :short_description, :description, :developer_group, :meta_scope, :local_area,
@@ -83,6 +82,8 @@ module Decidim
83
82
  after_create :set_parents_path
84
83
  after_update :set_parents_path, :update_children_paths, if: :saved_change_to_parent_id?
85
84
 
85
+ scope :with_any_type, ->(*type_ids) { where(decidim_assemblies_type_id: type_ids) }
86
+
86
87
  searchable_fields({
87
88
  scope_id: :decidim_scope_id,
88
89
  participatory_space: :itself,
@@ -134,7 +135,7 @@ module Decidim
134
135
  end
135
136
 
136
137
  def ancestors
137
- self_and_ancestors.where.not(id: id)
138
+ self_and_ancestors.where.not(id:)
138
139
  end
139
140
 
140
141
  def translated_title
@@ -159,7 +160,7 @@ module Decidim
159
160
  end
160
161
 
161
162
  def self.ransackable_scopes(_auth_object = nil)
162
- [:with_area, :with_any_scope]
163
+ [:with_any_area, :with_any_scope, :with_any_type]
163
164
  end
164
165
 
165
166
  private
@@ -206,7 +207,7 @@ module Decidim
206
207
  # rubocop:disable Rails/SkipsModelValidations
207
208
  def update_children_paths
208
209
  self.class.where(
209
- ["#{self.class.table_name}.parents_path <@ :old_path AND #{self.class.table_name}.id != :id", { old_path: parents_path_before_last_save, id: id }]
210
+ ["#{self.class.table_name}.parents_path <@ :old_path AND #{self.class.table_name}.id != :id", { old_path: parents_path_before_last_save, id: }]
210
211
  ).update_all(
211
212
  ["parents_path = :new_path || subpath(parents_path, nlevel(:old_path))", { new_path: parents_path, old_path: parents_path_before_last_save }]
212
213
  )
@@ -6,46 +6,18 @@ module Decidim
6
6
  class AssemblyUserRole < ApplicationRecord
7
7
  include Traceable
8
8
  include Loggable
9
+ include ParticipatorySpaceUser
9
10
 
10
- belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User", optional: true
11
11
  belongs_to :assembly, foreign_key: "decidim_assembly_id", class_name: "Decidim::Assembly", optional: true
12
12
  alias participatory_space assembly
13
13
 
14
- ROLES = %w(admin collaborator moderator valuator).freeze
15
- validates :role, inclusion: { in: ROLES }, uniqueness: { scope: [:user, :assembly] }
16
- validate :user_and_assembly_same_organization
14
+ scope :for_space, ->(participatory_space) { where(assembly: participatory_space) }
15
+
16
+ validates :role, inclusion: { in: ParticipatorySpaceUser::ROLES }, uniqueness: { scope: [:user, :assembly] }
17
+ def target_space_association = :assembly
17
18
 
18
19
  def self.log_presenter_class_for(_log)
19
20
  Decidim::Assemblies::AdminLog::AssemblyUserRolePresenter
20
21
  end
21
-
22
- ransacker :name do
23
- Arel.sql(%{("decidim_users"."name")::text})
24
- end
25
-
26
- ransacker :nickname do
27
- Arel.sql(%{("decidim_users"."nickname")::text})
28
- end
29
-
30
- ransacker :email do
31
- Arel.sql(%{("decidim_users"."email")::text})
32
- end
33
-
34
- ransacker :invitation_accepted_at do
35
- Arel.sql(%{("decidim_users"."invitation_accepted_at")::text})
36
- end
37
-
38
- ransacker :last_sign_in_at do
39
- Arel.sql(%{("decidim_users"."last_sign_in_at")::text})
40
- end
41
-
42
- private
43
-
44
- # Private: check if the process and the user have the same organization
45
- def user_and_assembly_same_organization
46
- return if !assembly || !user
47
-
48
- errors.add(:assembly, :invalid) unless user.organization == assembly.organization
49
- end
50
22
  end
51
23
  end
@@ -1,5 +1,4 @@
1
1
  import "src/decidim/assemblies/assemblies"
2
- import "src/decidim/assemblies/orgchart"
3
2
 
4
3
  // Images
5
4
  require.context("../images", true)
@@ -5,9 +5,9 @@ $(() => {
5
5
  if ($(".edit_assembly, .new_assembly").length > 0) {
6
6
  $assemblyScopeEnabled.on("change", (event) => {
7
7
  const checked = event.target.checked;
8
- window.theDataPicker.enabled($assemblyScopeId, checked);
8
+ $assemblyScopeId.attr("disabled", !checked);
9
9
  })
10
- window.theDataPicker.enabled($assemblyScopeId, $assemblyScopeEnabled.prop("checked"));
10
+ $assemblyScopeId.attr("disabled", !$assemblyScopeEnabled.prop("checked"));
11
11
  }
12
12
 
13
13
  const $form = $(".assembly_form_admin");