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.
- checksums.yaml +4 -4
- data/app/cells/decidim/assemblies/assemblies/show.erb +16 -0
- data/app/cells/decidim/assemblies/assemblies_cell.rb +24 -0
- data/app/cells/decidim/assemblies/assembly_cell.rb +7 -2
- data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +19 -0
- data/app/cells/decidim/assemblies/assembly_g_cell.rb +23 -0
- data/app/cells/decidim/assemblies/assembly_member/data.erb +19 -0
- data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +11 -0
- data/app/cells/decidim/assemblies/assembly_member/show.erb +8 -52
- data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +46 -0
- data/app/cells/decidim/assemblies/assembly_s_cell.rb +15 -0
- data/app/cells/decidim/assemblies/content_block_cell.rb +21 -0
- data/app/cells/decidim/assemblies/content_blocks/children_assemblies_cell.rb +27 -0
- data/app/cells/decidim/assemblies/content_blocks/dates_metadata_cell.rb +23 -0
- data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +39 -0
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +15 -23
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
- data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +52 -0
- data/app/cells/decidim/assemblies/content_blocks/metadata_cell.rb +23 -0
- data/app/cells/decidim/assemblies/content_blocks/related_assemblies/content.erb +1 -0
- data/app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb +34 -0
- data/app/cells/decidim/assemblies/content_blocks/stats_cell.rb +15 -0
- data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -2
- data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -1
- data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +3 -3
- data/app/commands/decidim/assemblies/admin/destroy_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +1 -1
- data/app/commands/decidim/assemblies/admin/import_assembly.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assembly.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +1 -1
- data/app/constraints/decidim/assemblies/current_assembly.rb +1 -1
- data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +1 -1
- data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +39 -0
- data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +36 -0
- data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +1 -0
- data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +1 -1
- data/app/controllers/decidim/assemblies/admin/assembly_attachment_collections_controller.rb +5 -0
- data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +5 -0
- data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -0
- data/app/controllers/decidim/assemblies/admin/assembly_landing_page_content_blocks_controller.rb +35 -0
- data/app/controllers/decidim/assemblies/admin/assembly_landing_page_controller.rb +37 -0
- data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +2 -6
- data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +9 -29
- data/app/controllers/decidim/assemblies/admin/assembly_user_roles_controller.rb +8 -91
- data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -1
- data/app/controllers/decidim/assemblies/assemblies_controller.rb +12 -7
- data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
- data/app/events/decidim/assemblies/create_assembly_member_event.rb +1 -1
- data/app/events/decidim/role_assigned_to_assembly_event.rb +11 -6
- data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
- data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
- data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
- data/app/helpers/decidim/assemblies/assemblies_helper.rb +21 -19
- data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
- data/app/models/decidim/assembly.rb +6 -5
- data/app/models/decidim/assembly_user_role.rb +5 -33
- data/app/packs/entrypoints/decidim_assemblies.js +0 -1
- data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
- data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
- data/app/permissions/decidim/assemblies/permissions.rb +14 -27
- data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
- data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
- data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
- data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
- data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
- data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
- data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
- data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
- data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
- data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
- data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
- data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
- data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
- data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
- data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
- data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
- data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
- data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
- data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
- data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
- data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
- data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
- data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
- data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
- data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
- data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
- data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
- data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
- data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
- data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
- data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
- data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
- data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
- data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
- data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
- data/app/views/layouts/decidim/assembly.html.erb +7 -14
- data/config/locales/ar.yml +7 -68
- data/config/locales/bg.yml +0 -466
- data/config/locales/ca.yml +62 -71
- data/config/locales/cs.yml +59 -66
- data/config/locales/de.yml +60 -69
- data/config/locales/el.yml +11 -61
- data/config/locales/en.yml +57 -66
- data/config/locales/es-MX.yml +57 -66
- data/config/locales/es-PY.yml +57 -66
- data/config/locales/es.yml +63 -72
- data/config/locales/eu.yml +57 -70
- data/config/locales/fi-plain.yml +58 -67
- data/config/locales/fi.yml +57 -66
- data/config/locales/fr-CA.yml +57 -66
- data/config/locales/fr.yml +57 -66
- data/config/locales/ga-IE.yml +4 -15
- data/config/locales/gl.yml +4 -62
- data/config/locales/hu.yml +33 -65
- data/config/locales/id-ID.yml +6 -47
- data/config/locales/is-IS.yml +5 -40
- data/config/locales/it.yml +5 -62
- data/config/locales/ja.yml +51 -66
- data/config/locales/kaa.yml +0 -8
- data/config/locales/ko.yml +0 -92
- data/config/locales/lb.yml +5 -61
- data/config/locales/lt.yml +40 -63
- data/config/locales/lv.yml +5 -57
- data/config/locales/nl.yml +4 -62
- data/config/locales/no.yml +5 -62
- data/config/locales/pl.yml +3 -93
- data/config/locales/pt-BR.yml +77 -132
- data/config/locales/pt.yml +5 -62
- data/config/locales/ro-RO.yml +20 -63
- data/config/locales/ru.yml +4 -44
- data/config/locales/sk.yml +0 -26
- data/config/locales/sl.yml +5 -48
- data/config/locales/sq-AL.yml +0 -364
- data/config/locales/sr-CS.yml +0 -5
- data/config/locales/sv.yml +132 -193
- data/config/locales/tr-TR.yml +8 -69
- data/config/locales/uk.yml +4 -44
- data/config/locales/zh-CN.yml +5 -60
- data/config/locales/zh-TW.yml +7 -63
- data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
- data/lib/decidim/api/assemblies_type_type.rb +1 -1
- data/lib/decidim/api/assembly_member_type.rb +1 -1
- data/lib/decidim/api/assembly_type.rb +1 -1
- data/lib/decidim/assemblies/admin_engine.rb +21 -126
- data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
- data/lib/decidim/assemblies/engine.rb +15 -21
- data/lib/decidim/assemblies/menu.rb +161 -0
- data/lib/decidim/assemblies/participatory_space.rb +7 -229
- data/lib/decidim/assemblies/query_extensions.rb +6 -6
- data/lib/decidim/assemblies/seeds.rb +161 -0
- data/lib/decidim/assemblies/test/factories.rb +47 -55
- data/lib/decidim/assemblies/version.rb +1 -1
- metadata +54 -51
- data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
- data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
- data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
- data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
- data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
- data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
- data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
- data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
- data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
- data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
- data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
- data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -33
- data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
- data/app/models/decidim/assemblies_setting.rb +0 -17
- data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
- data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
- data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
- data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
- data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
- data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
- data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
- data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
- data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
- data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
- data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
- data/config/locales/he-IL.yml +0 -110
- data/db/seeds/Exampledocument.pdf +0 -0
- data/db/seeds/city.jpeg +0 -0
- data/db/seeds/city2.jpeg +0 -0
- data/db/seeds/homepage_image.jpg +0 -0
- data/decidim-assemblies.gemspec +0 -32
@@ -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
|
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>#{
|
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
|
-
|
42
|
-
|
43
|
-
|
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
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
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
|
6
|
-
#
|
7
|
-
# `filter` returns a Filter object from Decidim::FilterResource
|
5
|
+
# Helpers related to the Assemblies filters.
|
8
6
|
module FilterAssembliesHelper
|
9
|
-
|
10
|
-
return if organization_assembly_types.blank?
|
7
|
+
include Decidim::CheckBoxesTreeHelper
|
11
8
|
|
12
|
-
|
9
|
+
def assembly_types
|
10
|
+
@assembly_types ||= AssembliesType.where(organization: current_organization).joins(:assemblies).distinct
|
13
11
|
end
|
14
12
|
|
15
|
-
def
|
16
|
-
|
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
|
-
|
33
|
-
|
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
|
-
|
19
|
+
filter_tree_from_array(type_values)
|
37
20
|
end
|
38
21
|
|
39
|
-
def
|
40
|
-
|
41
|
-
|
42
|
-
|
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
|
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:
|
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
|
-
[:
|
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:
|
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
|
-
|
15
|
-
|
16
|
-
|
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
|
@@ -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
|
-
|
8
|
+
$assemblyScopeId.attr("disabled", !checked);
|
9
9
|
})
|
10
|
-
|
10
|
+
$assemblyScopeId.attr("disabled", !$assemblyScopeEnabled.prop("checked"));
|
11
11
|
}
|
12
12
|
|
13
13
|
const $form = $(".assembly_form_admin");
|