decidim-assemblies 0.27.8 → 0.28.0.rc4
Sign up to get free protection for your applications and to get access to all the features.
- 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 +60 -69
- 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 +60 -69
- 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 +18 -62
- 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");
|