decidim-assemblies 0.27.4 → 0.28.0.rc5
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 +13 -8
- data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
- data/app/events/decidim/role_assigned_to_assembly_event.rb +6 -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 +20 -18
- 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 +21 -20
- 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/environment.rb +3 -0
- data/config/locales/ar.yml +6 -75
- data/config/locales/bg.yml +0 -4
- data/config/locales/ca.yml +58 -67
- data/config/locales/cs.yml +60 -67
- data/config/locales/de.yml +62 -71
- data/config/locales/el.yml +10 -69
- data/config/locales/en.yml +58 -67
- data/config/locales/es-MX.yml +58 -67
- data/config/locales/es-PY.yml +58 -67
- data/config/locales/es.yml +58 -67
- data/config/locales/eu.yml +206 -202
- data/config/locales/fi-plain.yml +58 -67
- data/config/locales/fi.yml +60 -69
- data/config/locales/fr-CA.yml +58 -67
- data/config/locales/fr.yml +61 -70
- data/config/locales/ga-IE.yml +4 -17
- data/config/locales/gl.yml +3 -69
- data/config/locales/hu.yml +38 -70
- data/config/locales/id-ID.yml +4 -50
- data/config/locales/is-IS.yml +4 -44
- data/config/locales/it.yml +4 -70
- data/config/locales/ja.yml +52 -67
- data/config/locales/kaa.yml +0 -9
- data/config/locales/lb.yml +4 -64
- data/config/locales/lt.yml +52 -67
- data/config/locales/lv.yml +4 -63
- data/config/locales/nl.yml +3 -70
- data/config/locales/no.yml +4 -70
- data/config/locales/pl.yml +4 -76
- data/config/locales/pt-BR.yml +27 -69
- data/config/locales/pt.yml +4 -70
- data/config/locales/ro-RO.yml +19 -71
- data/config/locales/ru.yml +4 -48
- data/config/locales/sk.yml +0 -23
- data/config/locales/sl.yml +4 -49
- data/config/locales/sq-AL.yml +1 -0
- data/config/locales/sr-CS.yml +0 -5
- data/config/locales/sv.yml +17 -69
- data/config/locales/th-TH.yml +1 -0
- data/config/locales/tr-TR.yml +6 -76
- data/config/locales/uk.yml +4 -48
- data/config/locales/zh-CN.yml +4 -68
- data/config/locales/zh-TW.yml +5 -70
- 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 +22 -11
- data/lib/decidim/assemblies/version.rb +1 -1
- metadata +55 -48
- 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 -23
- 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/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
@@ -1,30 +0,0 @@
|
|
1
|
-
<section id="highlighted_assemblies" class="wrapper-home home-section" xmlns="http://www.w3.org/1999/xhtml">
|
2
|
-
<div class="row" id="highlighted-assemblies">
|
3
|
-
<h3 class="section-heading"><%= t("active_assemblies", scope: i18n_scope) %></h3>
|
4
|
-
<div class="row collapse">
|
5
|
-
<div class="row small-up-1 smallmedium-up-2 mediumlarge-up-3
|
6
|
-
large-up-4 card-grid">
|
7
|
-
<% highlighted_assemblies.each do |assembly| %>
|
8
|
-
<div class="column">
|
9
|
-
<%= link_to decidim_assemblies.assembly_path(assembly), class: "card card--assembly card--mini" do %>
|
10
|
-
<div aria-hidden="true" class="card__image-top"
|
11
|
-
style="background-image:url('<%= assembly.attached_uploader(:hero_image).path %>')"></div>
|
12
|
-
<div class="card__content">
|
13
|
-
<span class="card__title card__link"><%= translated_attribute assembly.title %></span>
|
14
|
-
</div>
|
15
|
-
<% end %>
|
16
|
-
</div>
|
17
|
-
<% end %>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
</div>
|
21
|
-
<div class="row" id="see-all-assemblies">
|
22
|
-
<div class="columns small-centered small-12
|
23
|
-
smallmedium-8 medium-6 large-4">
|
24
|
-
<%= link_to t("see_all_assemblies", scope: i18n_scope),
|
25
|
-
decidim_assemblies.assemblies_path,
|
26
|
-
class: "button expanded hollow button--sc home-section__cta",
|
27
|
-
title: t("assemblies_button_title", scope: i18n_scope) %>
|
28
|
-
</div>
|
29
|
-
</div>
|
30
|
-
</section>
|
@@ -1,54 +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 participatory
|
7
|
-
# process admin in the system.
|
8
|
-
class CreateAssemblyAdmin < NotifyRoleAssignedToAssembly
|
9
|
-
include ::Decidim::Admin::CreateParticipatorySpaceAdminUserActions
|
10
|
-
|
11
|
-
# Public: Initializes the command.
|
12
|
-
#
|
13
|
-
# form - A form object with the params.
|
14
|
-
# assembly - The Assembly that will hold the
|
15
|
-
# user role
|
16
|
-
def initialize(form, current_user, assembly)
|
17
|
-
@form = form
|
18
|
-
@current_user = current_user
|
19
|
-
@participatory_space = assembly
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
attr_reader :form, :participatory_space, :current_user, :user
|
25
|
-
|
26
|
-
def existing_role
|
27
|
-
Decidim::AssemblyUserRole.exists?(
|
28
|
-
role: form.role.to_sym,
|
29
|
-
user: user,
|
30
|
-
assembly: @participatory_process
|
31
|
-
)
|
32
|
-
end
|
33
|
-
|
34
|
-
def create_role
|
35
|
-
Decidim.traceability.perform_action!(
|
36
|
-
:create,
|
37
|
-
Decidim::AssemblyUserRole,
|
38
|
-
current_user,
|
39
|
-
resource: {
|
40
|
-
title: user.name
|
41
|
-
}
|
42
|
-
) do
|
43
|
-
Decidim::AssemblyUserRole.find_or_create_by!(
|
44
|
-
role: form.role.to_sym,
|
45
|
-
user: user,
|
46
|
-
assembly: participatory_space
|
47
|
-
)
|
48
|
-
end
|
49
|
-
send_notification user
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,58 +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 destroying an assembly
|
7
|
-
# admin in the system.
|
8
|
-
class DestroyAssemblyAdmin < Decidim::Command
|
9
|
-
# Public: Initializes the command.
|
10
|
-
#
|
11
|
-
# role - the AssemblyUserRole to destroy
|
12
|
-
# current_user - the user performing this action
|
13
|
-
def initialize(role, current_user)
|
14
|
-
@role = role
|
15
|
-
@current_user = current_user
|
16
|
-
end
|
17
|
-
|
18
|
-
# Executes the command. Broadcasts these events:
|
19
|
-
#
|
20
|
-
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the form wasn't valid and we couldn't proceed.
|
22
|
-
#
|
23
|
-
# Returns nothing.
|
24
|
-
def call
|
25
|
-
destroy_role!
|
26
|
-
dispatch_system_event
|
27
|
-
broadcast(:ok)
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
attr_reader :role, :current_user
|
33
|
-
|
34
|
-
def dispatch_system_event
|
35
|
-
ActiveSupport::Notifications.publish("decidim.system.participatory_space.admin.destroyed", role.class.name, role.id)
|
36
|
-
end
|
37
|
-
|
38
|
-
def destroy_role!
|
39
|
-
extra_info = {
|
40
|
-
resource: {
|
41
|
-
title: role.user.name
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
Decidim.traceability.perform_action!(
|
46
|
-
"delete",
|
47
|
-
role,
|
48
|
-
current_user,
|
49
|
-
extra_info
|
50
|
-
) do
|
51
|
-
role.destroy!
|
52
|
-
role
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
module Admin
|
6
|
-
# A command to notify users when a role is assigned for an assembly
|
7
|
-
class NotifyRoleAssignedToAssembly < Decidim::Command
|
8
|
-
def send_notification(user)
|
9
|
-
Decidim::EventsManager.publish(
|
10
|
-
event: "decidim.events.assembly.role_assigned",
|
11
|
-
event_class: Decidim::RoleAssignedToAssemblyEvent,
|
12
|
-
resource: form.current_participatory_space,
|
13
|
-
affected_users: [user],
|
14
|
-
extra: {
|
15
|
-
role: form.role
|
16
|
-
}
|
17
|
-
)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
module Admin
|
6
|
-
# A command that sets an assembly as published.
|
7
|
-
class PublishAssembly < Decidim::Command
|
8
|
-
# Public: Initializes the command.
|
9
|
-
#
|
10
|
-
# assembly - A Assembly that will be published
|
11
|
-
# current_user - the user performing the action
|
12
|
-
def initialize(assembly, current_user)
|
13
|
-
@assembly = assembly
|
14
|
-
@current_user = current_user
|
15
|
-
end
|
16
|
-
|
17
|
-
# Executes the command. Broadcasts these events:
|
18
|
-
#
|
19
|
-
# - :ok when everything is valid.
|
20
|
-
# - :invalid if the data wasn't valid and we couldn't proceed.
|
21
|
-
#
|
22
|
-
# Returns nothing.
|
23
|
-
def call
|
24
|
-
return broadcast(:invalid) if assembly.nil? || assembly.published?
|
25
|
-
|
26
|
-
Decidim.traceability.perform_action!("publish", assembly, current_user, visibility: "all") do
|
27
|
-
assembly.publish!
|
28
|
-
end
|
29
|
-
|
30
|
-
broadcast(:ok)
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_reader :assembly, :current_user
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
module Admin
|
6
|
-
# A command that sets an assembly as unpublished.
|
7
|
-
class UnpublishAssembly < Decidim::Command
|
8
|
-
# Public: Initializes the command.
|
9
|
-
#
|
10
|
-
# assembly - A Assembly that will be published
|
11
|
-
# current_user - the user performing the action
|
12
|
-
def initialize(assembly, current_user)
|
13
|
-
@assembly = assembly
|
14
|
-
@current_user = current_user
|
15
|
-
end
|
16
|
-
|
17
|
-
# Executes the command. Broadcasts these events:
|
18
|
-
#
|
19
|
-
# - :ok when everything is valid.
|
20
|
-
# - :invalid if the data wasn't valid and we couldn't proceed.
|
21
|
-
#
|
22
|
-
# Returns nothing.
|
23
|
-
def call
|
24
|
-
return broadcast(:invalid) if assembly.nil? || !assembly.published?
|
25
|
-
|
26
|
-
Decidim.traceability.perform_action!("unpublish", assembly, current_user) do
|
27
|
-
assembly.unpublish!
|
28
|
-
end
|
29
|
-
|
30
|
-
broadcast(:ok)
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_reader :assembly, :current_user
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,46 +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 assemblies
|
7
|
-
# settings in admin area.
|
8
|
-
class UpdateAssembliesSetting < Decidim::Command
|
9
|
-
# Public: Initializes the command.
|
10
|
-
#
|
11
|
-
# assemblies_setting - A assemblies_setting object to update.
|
12
|
-
# form - A form object with the params.
|
13
|
-
def initialize(assemblies_settings, form)
|
14
|
-
@assemblies_settings = assemblies_settings
|
15
|
-
@form = form
|
16
|
-
end
|
17
|
-
|
18
|
-
# Executes the command. Broadcasts these events:
|
19
|
-
#
|
20
|
-
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the form or assemblies_settings isn't valid and we couldn't proceed.
|
22
|
-
#
|
23
|
-
# Returns nothing.
|
24
|
-
def call
|
25
|
-
return broadcast(:invalid) if form.invalid? || assemblies_settings.invalid?
|
26
|
-
|
27
|
-
update_assemblies_setting!
|
28
|
-
|
29
|
-
broadcast(:ok)
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
attr_reader :form, :assemblies_settings
|
35
|
-
|
36
|
-
def update_assemblies_setting!
|
37
|
-
Decidim.traceability.update!(
|
38
|
-
@assemblies_settings,
|
39
|
-
form.current_user,
|
40
|
-
enable_organization_chart: form.enable_organization_chart
|
41
|
-
)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,53 +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 updated a participatory
|
7
|
-
# process admin in the system.
|
8
|
-
class UpdateAssemblyAdmin < NotifyRoleAssignedToAssembly
|
9
|
-
# Public: Initializes the command.
|
10
|
-
#
|
11
|
-
# form - A form object with the params.
|
12
|
-
# user_role - The AssemblyUSerRole to update
|
13
|
-
def initialize(form, user_role)
|
14
|
-
@form = form
|
15
|
-
@user_role = user_role
|
16
|
-
end
|
17
|
-
|
18
|
-
# Executes the command. Broadcasts these events:
|
19
|
-
#
|
20
|
-
# - :ok when everything is valid.
|
21
|
-
# - :invalid if the form wasn't valid and we couldn't proceed.
|
22
|
-
#
|
23
|
-
# Returns nothing.
|
24
|
-
def call
|
25
|
-
return broadcast(:invalid) if form.invalid?
|
26
|
-
return broadcast(:invalid) unless user_role
|
27
|
-
|
28
|
-
update_role!
|
29
|
-
broadcast(:ok)
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
attr_reader :form, :user_role
|
35
|
-
|
36
|
-
def update_role!
|
37
|
-
log_info = {
|
38
|
-
resource: {
|
39
|
-
title: user_role.user.name
|
40
|
-
}
|
41
|
-
}
|
42
|
-
Decidim.traceability.update!(
|
43
|
-
user_role,
|
44
|
-
form.current_user,
|
45
|
-
{ role: form.role },
|
46
|
-
log_info
|
47
|
-
)
|
48
|
-
send_notification user_role.user
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
module Admin
|
6
|
-
# Controller used to manage the assemblies settings for the current
|
7
|
-
# organization.
|
8
|
-
class AssembliesSettingsController < Decidim::Assemblies::Admin::ApplicationController
|
9
|
-
layout "decidim/admin/assemblies"
|
10
|
-
|
11
|
-
# GET /admin/assemblies_settings/edit
|
12
|
-
def edit
|
13
|
-
enforce_permission_to :edit, :assemblies_setting, assemblies_settings: current_assemblies_settings
|
14
|
-
@form = assemblies_settings_form.from_model(current_assemblies_settings)
|
15
|
-
end
|
16
|
-
|
17
|
-
# PUT /admin/assemblies_settings/:id
|
18
|
-
def update
|
19
|
-
enforce_permission_to :update, :assemblies_setting, assemblies_settings: current_assemblies_settings
|
20
|
-
|
21
|
-
@form = assemblies_settings_form
|
22
|
-
.from_params(params, assemblies_settings: current_assemblies_settings)
|
23
|
-
|
24
|
-
UpdateAssembliesSetting.call(current_assemblies_settings, @form) do
|
25
|
-
on(:ok) do
|
26
|
-
flash[:notice] = I18n.t("assemblies_settings.update.success", scope: "decidim.admin")
|
27
|
-
redirect_to edit_assemblies_settings_path
|
28
|
-
end
|
29
|
-
|
30
|
-
on(:invalid) do
|
31
|
-
flash.now[:alert] = I18n.t("assemblies_settings.update.error", scope: "decidim.admin")
|
32
|
-
render :edit
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
private
|
38
|
-
|
39
|
-
def current_assemblies_settings
|
40
|
-
@current_assemblies_settings ||= Decidim::AssembliesSetting.find_or_create_by!(decidim_organization_id: current_organization.id)
|
41
|
-
end
|
42
|
-
|
43
|
-
def assemblies_settings_form
|
44
|
-
form(Decidim::Assemblies::Admin::AssembliesSettingForm)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
class WidgetsController < Decidim::WidgetsController
|
6
|
-
helper Decidim::SanitizeHelper
|
7
|
-
|
8
|
-
private
|
9
|
-
|
10
|
-
def model
|
11
|
-
@model ||= Assembly.find_by(slug: params[:assembly_slug])
|
12
|
-
end
|
13
|
-
|
14
|
-
def current_participatory_space
|
15
|
-
model
|
16
|
-
end
|
17
|
-
|
18
|
-
def iframe_url
|
19
|
-
@iframe_url ||= assembly_widget_url(model)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,14 +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 setting from the admin dashboard.
|
7
|
-
class AssembliesSettingForm < Form
|
8
|
-
mimic :assemblies_setting
|
9
|
-
|
10
|
-
attribute :enable_organization_chart, Boolean
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
# Assemblies setting.
|
5
|
-
class AssembliesSetting < ApplicationRecord
|
6
|
-
include Decidim::Traceable
|
7
|
-
include Decidim::Loggable
|
8
|
-
|
9
|
-
belongs_to :organization,
|
10
|
-
foreign_key: "decidim_organization_id",
|
11
|
-
class_name: "Decidim::Organization"
|
12
|
-
|
13
|
-
def self.log_presenter_class_for(_log)
|
14
|
-
Decidim::Assemblies::AdminLog::AssembliesSettingPresenter
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Assemblies
|
5
|
-
module Admin
|
6
|
-
# A class used to find the AssemblyMembers's by their status status.
|
7
|
-
class AssemblyMembers < Decidim::Query
|
8
|
-
# Syntactic sugar to initialize the class and return the queried objects.
|
9
|
-
#
|
10
|
-
# assembly_members - the initial AssemblyMember relation that needs to be filtered.
|
11
|
-
# query - query to filter user group names
|
12
|
-
# status - ceased status to be used as a filter
|
13
|
-
def self.for(assembly_members, query = nil, status = nil)
|
14
|
-
new(assembly_members, query, status).query
|
15
|
-
end
|
16
|
-
|
17
|
-
# Initializes the class.
|
18
|
-
#
|
19
|
-
# assembly_members - the AssemblyMember relation that need to be filtered
|
20
|
-
# query - query to filter user group names
|
21
|
-
# status - ceased status to be used as a filter
|
22
|
-
def initialize(assembly_members, query = nil, status = nil)
|
23
|
-
@assembly_members = assembly_members
|
24
|
-
@query = query
|
25
|
-
@status = status
|
26
|
-
end
|
27
|
-
|
28
|
-
# List the assembly members by the different filters.
|
29
|
-
def query
|
30
|
-
@assembly_members = filter_by_search(@assembly_members)
|
31
|
-
@assembly_members = filter_by_status(@assembly_members)
|
32
|
-
@assembly_members
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
def filter_by_search(assembly_members)
|
38
|
-
return assembly_members if @query.blank?
|
39
|
-
|
40
|
-
assembly_members.where("LOWER(full_name) LIKE LOWER(?)", "%#{@query}%")
|
41
|
-
end
|
42
|
-
|
43
|
-
def filter_by_status(assembly_members)
|
44
|
-
case @status
|
45
|
-
when "ceased"
|
46
|
-
assembly_members.where.not(ceased_date: nil)
|
47
|
-
when "not_ceased"
|
48
|
-
assembly_members.where(ceased_date: nil)
|
49
|
-
else
|
50
|
-
assembly_members
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<div id="assemblies-filter" class="inline-filters">
|
2
|
-
<% if available_filters.present? %>
|
3
|
-
<div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
|
4
|
-
<ul class="list-reset">
|
5
|
-
<% available_filters.each do |title, id| %>
|
6
|
-
<li>
|
7
|
-
<%= link_to filter_link(id), remote: true do %>
|
8
|
-
<%= title %>
|
9
|
-
<% end %>
|
10
|
-
</li>
|
11
|
-
<% end %>
|
12
|
-
</ul>
|
13
|
-
</div>
|
14
|
-
<label>
|
15
|
-
<span><%= help_text %></span>
|
16
|
-
<button id="button-text" data-toggle="inline-filter-sort"><%= current_filter_name %></button>
|
17
|
-
</label>
|
18
|
-
<% end %>
|
19
|
-
</div>
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<% add_decidim_page_title(t("decidim.assemblies.admin.assemblies_settings.form.title")) %>
|
2
|
-
<%= decidim_form_for(@form, html: { class: "form edit_assemblies_settings" }, url: assemblies_settings_path, method: :put) do |f| %>
|
3
|
-
<%= render partial: "form", object: f %>
|
4
|
-
<div class="button--double form-general-submit">
|
5
|
-
<%= f.submit t(".update") %>
|
6
|
-
</div>
|
7
|
-
<% end %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count: parent_assemblies.count) %>
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<div class="lines-breadcrumb">
|
2
|
-
<% root = assemblies.shift %>
|
3
|
-
<%= link_to translated_attribute(root.title), assembly_path(root) %>
|
4
|
-
|
5
|
-
<% assemblies.each do |assembly| %>
|
6
|
-
<span class="breadcrumb--separator">></span>
|
7
|
-
<div>
|
8
|
-
<%= link_to translated_attribute(assembly.title), assembly_path(assembly) %>
|
9
|
-
</div>
|
10
|
-
<% end %>
|
11
|
-
</div>
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<section id="parent-assemblies" class="section row collapse">
|
2
|
-
<div class="row column">
|
3
|
-
<div class="flex--sbe">
|
4
|
-
<h3 id="assemblies-count" class="section-heading collapse">
|
5
|
-
<%= render partial: "count" %>
|
6
|
-
</h3>
|
7
|
-
<%= render partial: "decidim/assemblies/filter_by_type" %>
|
8
|
-
</div>
|
9
|
-
<hr class="reset mt-s mb-s">
|
10
|
-
<%= render partial: "decidim/shared/participatory_space_filters/show" %>
|
11
|
-
</div>
|
12
|
-
<div class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
13
|
-
<%= render(parent_assemblies) %>
|
14
|
-
</div>
|
15
|
-
</section>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
<div class="card card--full card--process">
|
2
|
-
<div class="row collapse card--process__row">
|
3
|
-
<div class="columns mediumlarge-8 large-6 card--process__column">
|
4
|
-
<div class="card__content">
|
5
|
-
<%= link_to assembly_path(promoted_assembly), class: "card__link" do %>
|
6
|
-
<h2 class="card__title"><%= translated_attribute promoted_assembly.title %></h2>
|
7
|
-
<% end %>
|
8
|
-
<%= decidim_sanitize_editor html_truncate(translated_attribute(promoted_assembly.short_description), length: 630, separator: "...") %>
|
9
|
-
<%= link_to assembly_path(promoted_assembly), class: "button small hollow card__button" do %>
|
10
|
-
<%= t("assemblies.promoted_assembly.more_info", scope: "layouts.decidim") %>
|
11
|
-
<% end %>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
<div class="columns mediumlarge-8 large-6 card--process__column">
|
15
|
-
<div class="card--full__image"
|
16
|
-
style="background-image:url('<%= promoted_assembly.attached_uploader(:hero_image).path %>')">
|
17
|
-
<div class="card__content row collapse">
|
18
|
-
<div class="large-6 large-offset-6 columns">
|
19
|
-
<%= link_to assembly_path(promoted_assembly), class: "button expanded button--sc" do %>
|
20
|
-
<%= t(promoted_assembly.cta_button_text_key, scope: "layouts.decidim.assemblies.promoted_assembly") %>
|
21
|
-
<% end %>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</div>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
<div class="process-header">
|
2
|
-
<div class="process-header__inner">
|
3
|
-
<div class="row column process-header__main"
|
4
|
-
style="background-image:url('<%= current_participatory_space.attached_uploader(:banner_image).path %>');">
|
5
|
-
</div>
|
6
|
-
<div class="process-header__container row collapse column">
|
7
|
-
<div class="columns mediumlarge-8 process-header__info">
|
8
|
-
<div>
|
9
|
-
<h1 class="text-highlight heading2">
|
10
|
-
<%= translated_attribute(current_participatory_space.title) %>
|
11
|
-
</h1>
|
12
|
-
</div>
|
13
|
-
<div>
|
14
|
-
<p class="text-highlight heading-small">
|
15
|
-
<% if current_participatory_space.hashtag.present? %>
|
16
|
-
<span class="process-header__hashtag">
|
17
|
-
<%= link_to "##{current_participatory_space.hashtag}", twitter_hashtag_url(current_participatory_space.hashtag), target: "_blank" %>
|
18
|
-
</span>
|
19
|
-
<% end %>
|
20
|
-
<%= translated_attribute(current_participatory_space.subtitle) %>
|
21
|
-
</p>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
<%= render partial: "layouts/decidim/assembly_navigation", locals: { participatory_space: current_participatory_space } %>
|
27
|
-
</div>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
components = participatory_space.components.published.or(Decidim::Component.where(id: self.try(:current_component)))
|
3
|
-
%>
|
4
|
-
|
5
|
-
<%=
|
6
|
-
extended_navigation_bar(([
|
7
|
-
{
|
8
|
-
name: t(".assembly_menu_item"),
|
9
|
-
url: decidim_assemblies.assembly_path(current_participatory_space),
|
10
|
-
active: is_active_link?(decidim_assemblies.assembly_path(current_participatory_space), :exclusive)
|
11
|
-
},
|
12
|
-
participatory_space.members.not_ceased.any? ? {
|
13
|
-
name: t(".assembly_member_menu_item"),
|
14
|
-
url: decidim_assemblies.assembly_assembly_members_path(current_participatory_space),
|
15
|
-
active: is_active_link?(decidim_assemblies.assembly_assembly_members_path(current_participatory_space), :inclusive)
|
16
|
-
} : nil
|
17
|
-
] + components.map do |component|
|
18
|
-
{
|
19
|
-
name: translated_attribute(component.name),
|
20
|
-
url: main_component_path(component),
|
21
|
-
active: is_active_link?(main_component_path(component), :inclusive)
|
22
|
-
}
|
23
|
-
end).compact)
|
24
|
-
%>
|