decidim-admin 0.31.5 → 0.32.0.rc2
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/README.md +2 -12
- data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +1 -1
- data/app/cells/decidim/admin/attachments_privacy_warning_cell.rb +2 -6
- data/app/commands/decidim/admin/content_blocks/reorder_content_blocks.rb +1 -1
- data/app/commands/decidim/admin/participatory_space/create_member.rb +99 -0
- data/app/commands/decidim/admin/participatory_space/destroy_member.rb +30 -0
- data/app/commands/decidim/admin/participatory_space/import_member_csv.rb +46 -0
- data/app/commands/decidim/admin/participatory_space/publish_all_members.rb +52 -0
- data/app/commands/decidim/admin/participatory_space/unpublish_all_members.rb +52 -0
- data/app/commands/decidim/admin/participatory_space/update_member.rb +13 -0
- data/app/commands/decidim/admin/reorder_components.rb +1 -1
- data/app/commands/decidim/admin/reorder_taxonomies.rb +1 -1
- data/app/commands/decidim/admin/update_organization.rb +1 -1
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb +1 -0
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page_content_blocks.rb +3 -2
- data/app/controllers/concerns/decidim/admin/filterable.rb +4 -4
- data/app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb +1 -0
- data/app/controllers/concerns/decidim/admin/participatory_space_export.rb +1 -1
- data/app/controllers/decidim/admin/area_types_controller.rb +2 -2
- data/app/controllers/decidim/admin/areas_controller.rb +3 -2
- data/app/controllers/decidim/admin/block_user_controller.rb +2 -2
- data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/components/base_controller.rb +13 -9
- data/app/controllers/decidim/admin/components_controller.rb +3 -2
- data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +2 -2
- data/app/controllers/decidim/admin/conflicts_controller.rb +1 -1
- data/app/controllers/decidim/admin/exports_controller.rb +1 -1
- data/app/controllers/decidim/admin/impersonations_controller.rb +1 -1
- data/app/controllers/decidim/admin/imports_controller.rb +2 -1
- data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +1 -1
- data/app/controllers/decidim/admin/newsletters_controller.rb +9 -8
- data/app/controllers/decidim/admin/organization_appearance_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_external_domain_allowlist_controller.rb +1 -1
- data/app/controllers/decidim/admin/participatory_space/concerns/has_members.rb +166 -0
- data/app/controllers/decidim/admin/participatory_space/concerns/has_members_csv_import.rb +67 -0
- data/app/controllers/decidim/admin/participatory_space/concerns/members_filterable.rb +36 -0
- data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +2 -2
- data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
- data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/scope_types_controller.rb +2 -2
- data/app/controllers/decidim/admin/scopes_controller.rb +3 -2
- data/app/controllers/decidim/admin/share_tokens_controller.rb +2 -2
- data/app/controllers/decidim/admin/space_publications_controller.rb +2 -2
- data/app/controllers/decidim/admin/static_page_topics_controller.rb +2 -2
- data/app/controllers/decidim/admin/static_pages_controller.rb +2 -2
- data/app/controllers/decidim/admin/taxonomies_controller.rb +3 -3
- data/app/controllers/decidim/admin/taxonomy_filters_controller.rb +3 -3
- data/app/controllers/decidim/admin/taxonomy_items_controller.rb +3 -3
- data/app/controllers/decidim/admin/users_controller.rb +1 -1
- data/app/forms/decidim/admin/content_block_form.rb +28 -1
- data/app/forms/decidim/admin/organization_form.rb +0 -1
- data/app/forms/decidim/admin/participatory_space/member_csv_import_form.rb +33 -0
- data/app/forms/decidim/admin/participatory_space/member_form.rb +26 -0
- data/app/forms/decidim/admin/participatory_space_admin_user_form.rb +1 -1
- data/app/forms/decidim/admin/selective_newsletter_form.rb +7 -7
- data/app/forms/decidim/admin/taxonomy_filter_form.rb +1 -0
- data/app/helpers/decidim/admin/newsletters_helper.rb +8 -5
- data/app/helpers/decidim/admin/search_form_helper.rb +17 -0
- data/app/helpers/decidim/admin/settings_helper.rb +2 -0
- data/app/jobs/decidim/admin/newsletter_job.rb +2 -2
- data/app/jobs/decidim/admin/participatory_space/destroy_members_follows_job.rb +36 -0
- data/app/jobs/decidim/admin/participatory_space/import_member_csv_job.rb +29 -0
- data/app/packs/src/decidim/admin/controllers/access_mode/access_mode.test.js +68 -0
- data/app/packs/src/decidim/admin/controllers/access_mode/controller.js +52 -0
- data/app/packs/src/decidim/admin/newsletters.js +2 -2
- data/app/packs/stylesheets/decidim/admin/_datepicker.scss +0 -4
- data/app/queries/decidim/admin/newsletter_recipients.rb +8 -8
- data/app/views/decidim/admin/admin_terms/show.html.erb +3 -1
- data/app/views/decidim/admin/area_types/index.html.erb +3 -2
- data/app/views/decidim/admin/areas/index.html.erb +3 -2
- data/app/views/decidim/admin/attachment_collections/edit.html.erb +2 -2
- data/app/views/decidim/admin/attachment_collections/index.html.erb +2 -2
- data/app/views/decidim/admin/attachment_collections/new.html.erb +2 -2
- data/app/views/decidim/admin/attachments/index.html.erb +3 -2
- data/app/views/decidim/admin/authorization_workflows/index.html.erb +2 -2
- data/app/views/decidim/admin/block_user/new.html.erb +1 -0
- data/app/views/decidim/admin/components/index.html.erb +2 -2
- data/app/views/decidim/admin/components/manage_trash.html.erb +2 -2
- data/app/views/decidim/admin/conflicts/edit.html.erb +3 -1
- data/app/views/decidim/admin/conflicts/index.html.erb +3 -2
- data/app/views/decidim/admin/dashboard/show.html.erb +4 -4
- data/app/views/decidim/admin/help_sections/update.html.erb +2 -0
- data/app/views/decidim/admin/impersonatable_users/index.html.erb +3 -2
- data/app/views/decidim/admin/impersonations/_form.html.erb +2 -2
- data/app/views/decidim/admin/impersonations/new.html.erb +3 -2
- data/app/views/decidim/admin/imports/new.html.erb +1 -0
- data/app/views/decidim/admin/logs/_logs_list.html.erb +1 -1
- data/app/views/decidim/admin/logs/index.html.erb +1 -1
- data/app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb +6 -5
- data/app/views/decidim/admin/managed_users/promotions/new.html.erb +3 -2
- data/app/views/decidim/admin/{participatory_space_private_users → members}/edit.html.erb +2 -2
- data/app/views/decidim/admin/{participatory_space_private_users → members}/index.html.erb +25 -25
- data/app/views/decidim/admin/{participatory_space_private_users → members}/new.html.erb +2 -2
- data/app/views/decidim/admin/{participatory_space_private_users_csv_imports → members_csv_imports}/new.html.erb +2 -2
- data/app/views/decidim/admin/moderations/_moderation-tr.html.erb +2 -6
- data/app/views/decidim/admin/moderations/_moderations-thead.html.erb +0 -1
- data/app/views/decidim/admin/moderations/reports/index.html.erb +1 -1
- data/app/views/decidim/admin/newsletter_templates/show.html.erb +3 -2
- data/app/views/decidim/admin/newsletters/confirm_recipients.html.erb +4 -6
- data/app/views/decidim/admin/newsletters/index.html.erb +2 -2
- data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +2 -2
- data/app/views/decidim/admin/newsletters/show.html.erb +3 -2
- data/app/views/decidim/admin/officializations/index.html.erb +6 -4
- data/app/views/decidim/admin/officializations/show_email.html.erb +2 -0
- data/app/views/decidim/admin/organization/form/_extra_features.html.erb +0 -4
- data/app/views/decidim/admin/organization_external_domain_allowlist/_form.html.erb +2 -2
- data/app/views/decidim/admin/organization_external_domain_allowlist/edit.html.erb +2 -2
- data/app/views/decidim/admin/reminders/new.html.erb +8 -1
- data/app/views/decidim/admin/resource_permissions/edit.html.erb +2 -2
- data/app/views/decidim/admin/scope_types/index.html.erb +3 -2
- data/app/views/decidim/admin/scopes/index.html.erb +2 -2
- data/app/views/decidim/admin/share_tokens/index.html.erb +2 -0
- data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +0 -2
- data/app/views/decidim/admin/shared/landing_page/edit.html.erb +2 -0
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +1 -0
- data/app/views/decidim/admin/static_page_topics/index.html.erb +2 -2
- data/app/views/decidim/admin/static_pages/edit.html.erb +2 -1
- data/app/views/decidim/admin/static_pages/index.html.erb +2 -2
- data/app/views/decidim/admin/statistics/_statistics.html.erb +1 -1
- data/app/views/decidim/admin/statistics/index.html.erb +2 -0
- data/app/views/decidim/admin/taxonomies/_row.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/_row_children.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/_table.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/edit.html.erb +2 -2
- data/app/views/decidim/admin/taxonomies/index.html.erb +4 -4
- data/app/views/decidim/admin/taxonomy_filters/index.html.erb +2 -2
- data/app/views/decidim/admin/taxonomy_filters_selector/index.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_filters_selector/new.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_filters_selector/show.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_items/edit.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_items/new.html.erb +2 -0
- data/app/views/decidim/admin/users/index.html.erb +3 -2
- data/config/locales/ar.yml +4 -48
- data/config/locales/bg.yml +4 -54
- data/config/locales/bs-BA.yml +0 -23
- data/config/locales/ca-IT.yml +126 -98
- data/config/locales/ca.yml +126 -98
- data/config/locales/cs.yml +122 -95
- data/config/locales/de.yml +109 -93
- data/config/locales/el.yml +11 -44
- data/config/locales/en.yml +126 -98
- data/config/locales/eo.yml +0 -6
- data/config/locales/es-MX.yml +126 -98
- data/config/locales/es-PY.yml +126 -98
- data/config/locales/es.yml +126 -98
- data/config/locales/eu.yml +126 -98
- data/config/locales/fi-plain.yml +126 -98
- data/config/locales/fi.yml +126 -98
- data/config/locales/fr-CA.yml +91 -90
- data/config/locales/fr.yml +91 -90
- data/config/locales/ga-IE.yml +0 -12
- data/config/locales/gl.yml +4 -40
- data/config/locales/he-IL.yml +0 -4
- data/config/locales/hu.yml +4 -51
- data/config/locales/id-ID.yml +4 -33
- data/config/locales/is-IS.yml +0 -14
- data/config/locales/it.yml +4 -67
- data/config/locales/ja.yml +124 -98
- data/config/locales/kaa.yml +0 -15
- data/config/locales/ko.yml +0 -39
- data/config/locales/lb.yml +4 -40
- data/config/locales/lt.yml +4 -51
- data/config/locales/lv.yml +4 -37
- data/config/locales/nl.yml +4 -45
- data/config/locales/no.yml +4 -45
- data/config/locales/pl.yml +4 -53
- data/config/locales/pt-BR.yml +109 -96
- data/config/locales/pt.yml +4 -41
- data/config/locales/ro-RO.yml +9 -50
- data/config/locales/ru.yml +4 -34
- data/config/locales/sk.yml +126 -98
- data/config/locales/sl.yml +0 -6
- data/config/locales/sq-AL.yml +0 -20
- data/config/locales/sr-CS.yml +0 -23
- data/config/locales/sv.yml +74 -86
- data/config/locales/th-TH.yml +0 -7
- data/config/locales/tr-TR.yml +21 -57
- data/config/locales/uk.yml +0 -25
- data/config/locales/zh-CN.yml +4 -37
- data/config/locales/zh-TW.yml +4 -51
- data/decidim-admin.gemspec +7 -10
- data/lib/decidim/admin/engine.rb +5 -2
- data/lib/decidim/admin/menu.rb +1 -1
- data/lib/decidim/admin/test/admin_members_shared_examples.rb +119 -0
- data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +3 -3
- data/lib/decidim/admin/test/filterable_examples.rb +20 -11
- data/lib/decidim/admin/test/invite_participatory_space_admins_shared_examples.rb +17 -17
- data/lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb +1 -1
- data/lib/decidim/admin/test/invite_participatory_space_moderators_shared_examples.rb +1 -1
- data/lib/decidim/admin/test/invite_participatory_space_users_shared_context.rb +1 -1
- data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +3 -3
- data/lib/decidim/admin/test/manage_attachments_examples.rb +6 -6
- data/lib/decidim/admin/test/manage_component_permissions_examples.rb +5 -5
- data/lib/decidim/admin/test/manage_moderations_examples.rb +6 -6
- data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +2 -2
- data/lib/decidim/admin/test/manage_resource_soft_deletion_examples.rb +3 -3
- data/lib/decidim/admin/version.rb +1 -1
- data/lib/decidim/admin.rb +0 -2
- metadata +39 -35
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +0 -98
- data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +0 -28
- data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +0 -44
- data/app/commands/decidim/admin/publish_all_participatory_space_private_users.rb +0 -50
- data/app/commands/decidim/admin/unpublish_all_participatory_space_private_users.rb +0 -50
- data/app/commands/decidim/admin/update_participatory_space_private_user.rb +0 -11
- data/app/controllers/concerns/decidim/participatory_space_private_users/admin/filterable.rb +0 -34
- data/app/controllers/decidim/admin/concerns/has_private_users.rb +0 -169
- data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +0 -65
- data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +0 -31
- data/app/forms/decidim/admin/participatory_space_private_user_form.rb +0 -24
- data/app/jobs/decidim/admin/destroy_private_users_follows_job.rb +0 -37
- data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +0 -27
- data/app/views/decidim/admin/devise/mailers/password_change.html.erb +0 -3
- data/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +0 -8
- /data/app/views/decidim/admin/{participatory_space_private_users → members}/_form.html.erb +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<div class="item_show__header">
|
|
4
4
|
<h1 class="item_show__header-title">
|
|
5
|
-
<%= t("
|
|
5
|
+
<%= t(".title") %>
|
|
6
6
|
</h1>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<div class="card">
|
|
4
4
|
<div class="item_show__header">
|
|
5
5
|
<h1 class="item_show__header-title">
|
|
6
|
-
<%= t("
|
|
6
|
+
<%= t(".title") %>
|
|
7
7
|
|
|
8
8
|
<% if allowed_to?(:create, :component) %>
|
|
9
9
|
<div class="relative">
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<div class="card">
|
|
4
4
|
<div class="item_show__header">
|
|
5
5
|
<h1 class="item_show__header-title">
|
|
6
|
-
<%= t("
|
|
6
|
+
<%= t(".title") %>
|
|
7
7
|
</h1>
|
|
8
8
|
</div>
|
|
9
9
|
</div>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("title"
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="item_show__header">
|
|
3
4
|
<h1 class="item_show__header-title">
|
|
4
|
-
<%= t("title"
|
|
5
|
+
<%= t(".title") %>
|
|
5
6
|
</h1>
|
|
6
7
|
</div>
|
|
7
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<div class="item_show__header">
|
|
4
4
|
<h1 class="item_show__header-title">
|
|
5
|
-
<%= t
|
|
5
|
+
<%= t(".title") %> <%= current_organization_name %>
|
|
6
6
|
</h1>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<% if count_pending_moderations.positive? && allowed_to?(:read, :global_moderation) %>
|
|
15
15
|
<div class="grid-x grid-margin-x">
|
|
16
16
|
<div class="cell small-6 medium-6 large-6">
|
|
17
|
-
<%= render "pending_moderations" %>
|
|
17
|
+
<%= render "decidim/admin/dashboard/pending_moderations" %>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
<% end %>
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
<% end %>
|
|
47
47
|
|
|
48
48
|
<% if current_user.admin_terms_accepted? %>
|
|
49
|
-
<%= link_to( t("title", scope: "decidim.admin.
|
|
49
|
+
<%= link_to( t("title", scope: "decidim.admin.admin_terms.show"), admin_terms_show_path, class: "button button__text-secondary") %>
|
|
50
50
|
<% end %>
|
|
51
51
|
</div>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<% if current_organization.available_authorizations.empty? %>
|
|
3
4
|
<div>
|
|
4
5
|
<%= cell("decidim/announcement", t(".needs_authorization_warning"), callout_class: "warning" ) %>
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
|
|
8
9
|
<div class="item_show__header">
|
|
9
10
|
<h1 class="item_show__header-title">
|
|
10
|
-
<%= t "
|
|
11
|
+
<%= t ".title" %>
|
|
11
12
|
<% if allowed_to? :impersonate, :impersonatable_user, user: new_managed_user %>
|
|
12
13
|
<%= link_to t(".impersonate_new_managed_user"), new_impersonatable_user_impersonation_path(:new_managed_user), class: "button button__sm button__secondary #{"disabled" if current_organization.available_authorizations.empty?}" %>
|
|
13
14
|
<% end %>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<div class="row column">
|
|
29
29
|
<div id="authorization-handler-<%= f.object.handler_name %>"
|
|
30
30
|
class="authorization-handler">
|
|
31
|
-
<%= render "handler_form", handler_form: f %>
|
|
31
|
+
<%= render "decidim/admin/impersonations/handler_form", handler_form: f %>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
<% end %>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<div id="authorization-handler-<%= authorization.handler_name %>"
|
|
41
41
|
class="authorization-handler"
|
|
42
42
|
style="display:none">
|
|
43
|
-
<%= render "handler_form", handler_form: f %>
|
|
43
|
+
<%= render "decidim/admin/impersonations/handler_form", handler_form: f %>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
46
|
<% end %>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="item_show__header">
|
|
3
4
|
<h1 class="item_show__header-title">
|
|
4
5
|
<% if creating_managed_user? %>
|
|
5
|
-
<%= t(".
|
|
6
|
+
<%= t(".title") %>
|
|
6
7
|
<% else %>
|
|
7
8
|
<% if @form.user.managed? %>
|
|
8
9
|
<%= t(".impersonate_existing_managed_user", name: @form.user.name) %>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="card">
|
|
2
2
|
<div class="card-divider">
|
|
3
3
|
<h2 class="card-title">
|
|
4
|
-
<%= t "decidim.admin.
|
|
4
|
+
<%= t "decidim.admin.logs.index.title" %>
|
|
5
5
|
</h2>
|
|
6
6
|
</div>
|
|
7
7
|
<%= render partial: "decidim/admin/logs/filters" if defined?(display_filters) && display_filters %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<%= render partial: "decidim/admin/logs/logs_list", locals: { logs:, empty_logs: no_logs_available?, display_filters: true } %>
|
|
4
4
|
<%= decidim_paginate logs %>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="card">
|
|
3
4
|
<div class="item_show__header">
|
|
4
5
|
<h1 class="item_show__header-title">
|
|
5
|
-
<%= t "
|
|
6
|
+
<%= t ".title" %>
|
|
6
7
|
</h1>
|
|
7
8
|
</div>
|
|
8
9
|
<div class="table-scroll">
|
|
@@ -23,9 +24,9 @@
|
|
|
23
24
|
<td><%= impersonation_log.admin.name %></td>
|
|
24
25
|
<td><%= impersonation_log.user.name %></td>
|
|
25
26
|
<td><%= impersonation_log.reason %></td>
|
|
26
|
-
<td><%= impersonation_log.started_at ? l(impersonation_log.started_at, format: :
|
|
27
|
-
<td><%= impersonation_log.ended_at ? l(impersonation_log.ended_at, format: :
|
|
28
|
-
<td><%= impersonation_log.expired_at ? l(impersonation_log.expired_at, format: :
|
|
27
|
+
<td><%= impersonation_log.started_at ? l(impersonation_log.started_at, format: :decidim_short) : nil %></td>
|
|
28
|
+
<td><%= impersonation_log.ended_at ? l(impersonation_log.ended_at, format: :decidim_short) : nil %></td>
|
|
29
|
+
<td><%= impersonation_log.expired_at ? l(impersonation_log.expired_at, format: :decidim_short) : nil %></td>
|
|
29
30
|
</tr>
|
|
30
31
|
<% end %>
|
|
31
32
|
</tbody>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t(".
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="item_show__header">
|
|
3
4
|
<h1 class="item_show__header-title">
|
|
4
|
-
<%= t(".
|
|
5
|
+
<%= t(".title") %>
|
|
5
6
|
</h1>
|
|
6
7
|
</div>
|
|
7
8
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
<div class="item__edit item__edit-1col">
|
|
9
9
|
<div class="item__edit-form">
|
|
10
|
-
<%= decidim_form_for(@form, url:
|
|
11
|
-
<%= render partial: "decidim/admin/
|
|
10
|
+
<%= decidim_form_for(@form, url: member_path(current_participatory_space, @member), html: { class: "form-defaults form edit_member" }) do |f| %>
|
|
11
|
+
<%= render partial: "decidim/admin/members/form", object: f %>
|
|
12
12
|
<div class="item__edit-sticky">
|
|
13
13
|
<div class="item__edit-sticky-container">
|
|
14
14
|
<%= f.submit t(".update"), class: "button button__sm button__secondary" %>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
-
<div class="card" id="
|
|
2
|
+
<div class="card" id="members">
|
|
3
3
|
<div class="item_show__header">
|
|
4
4
|
<h1 class="item_show__header-title">
|
|
5
5
|
<%= t(".title") %>
|
|
6
|
-
<% if allowed_to? :create, :
|
|
7
|
-
<%= link_to t(".publish_all"),
|
|
8
|
-
<%= link_to t(".unpublish_all"),
|
|
9
|
-
<%= link_to t(".import_via_csv"),
|
|
10
|
-
<%= link_to t("actions.
|
|
6
|
+
<% if allowed_to? :create, :space_member %>
|
|
7
|
+
<%= link_to t(".publish_all"), publish_all_members_path(current_participatory_space), class: "button button__sm button__transparent-secondary publish-all", method: :post %>
|
|
8
|
+
<%= link_to t(".unpublish_all"), unpublish_all_members_path(current_participatory_space), class: "button button__sm button__transparent-secondary unpublish-all", method: :post %>
|
|
9
|
+
<%= link_to t(".import_via_csv"), new_members_csv_imports_path, class: "button button__sm button__transparent-secondary import" %>
|
|
10
|
+
<%= link_to t("actions.member.new", scope: "decidim.admin"), url_for(action: :new), class: "button button__sm button__secondary new" %>
|
|
11
11
|
<% end %>
|
|
12
12
|
</h1>
|
|
13
13
|
</div>
|
|
14
|
-
<%= admin_filter_selector(:
|
|
15
|
-
<% if
|
|
14
|
+
<%= admin_filter_selector(:members) %>
|
|
15
|
+
<% if members.any? %>
|
|
16
16
|
<div class="table-stacked mt-4">
|
|
17
17
|
<table class="table-list">
|
|
18
18
|
<thead>
|
|
@@ -36,39 +36,39 @@
|
|
|
36
36
|
</tr>
|
|
37
37
|
</thead>
|
|
38
38
|
<tbody>
|
|
39
|
-
<%
|
|
39
|
+
<% members.each do |member| %>
|
|
40
40
|
<tr>
|
|
41
41
|
<td data-label="<%= t("models.user.fields.name", scope: "decidim.admin") %>">
|
|
42
|
-
<%=
|
|
42
|
+
<%= member.user.name %>
|
|
43
43
|
</td>
|
|
44
44
|
<td data-label="<%= t("models.user.fields.email", scope: "decidim.admin") %>">
|
|
45
|
-
<%=
|
|
45
|
+
<%= member.user.email %>
|
|
46
46
|
</td>
|
|
47
47
|
<td data-label="<%= t("models.user.fields.published", scope: "decidim.admin") %>">
|
|
48
|
-
<% if
|
|
48
|
+
<% if member.published %>
|
|
49
49
|
<%= icon "check-line", class: "text-success" %>
|
|
50
50
|
<% end %>
|
|
51
51
|
</td>
|
|
52
52
|
<td data-label="<%= t("models.user.fields.invitation_sent_at", scope: "decidim.admin") %>">
|
|
53
|
-
<% if
|
|
54
|
-
<%= l
|
|
53
|
+
<% if member.user.invitation_sent_at %>
|
|
54
|
+
<%= l member.user.invitation_sent_at, format: :short %>
|
|
55
55
|
<% end %>
|
|
56
56
|
</td>
|
|
57
57
|
<td data-label="<%= t("models.user.fields.invitation_accepted_at", scope: "decidim.admin") %>">
|
|
58
|
-
<% if
|
|
59
|
-
<%= l
|
|
58
|
+
<% if member.user.invitation_accepted_at %>
|
|
59
|
+
<%= l member.user.invitation_accepted_at, format: :short %>
|
|
60
60
|
<% end %>
|
|
61
61
|
</td>
|
|
62
62
|
<td data-label="<%= t("decidim.admin.actions.actions") %>" class="table-list__actions">
|
|
63
|
-
<button type="button" data-controller="dropdown" data-target="actions-private-user-<%=
|
|
63
|
+
<button type="button" data-controller="dropdown" data-target="actions-private-user-<%= member.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: member.user.name) %>">
|
|
64
64
|
<%= icon "more-fill", class: "text-secondary" %>
|
|
65
65
|
</button>
|
|
66
66
|
|
|
67
67
|
<div class="inline-block relative">
|
|
68
|
-
<ul id="actions-private-user-<%=
|
|
69
|
-
<% if allowed_to?(:edit, :
|
|
68
|
+
<ul id="actions-private-user-<%= member.id %>" class="dropdown dropdown__action" aria-hidden="true">
|
|
69
|
+
<% if allowed_to?(:edit, :space_member, member: member) %>
|
|
70
70
|
<li class="dropdown__item">
|
|
71
|
-
<%= link_to
|
|
71
|
+
<%= link_to edit_member_path(current_participatory_space, member), class: "dropdown__button" do %>
|
|
72
72
|
<%= icon "pencil-line" %>
|
|
73
73
|
<%= t("actions.edit", scope: "decidim.admin") %>
|
|
74
74
|
<% end %>
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
<hr>
|
|
78
78
|
<% end %>
|
|
79
79
|
|
|
80
|
-
<% if allowed_to?(:invite, :
|
|
80
|
+
<% if allowed_to?(:invite, :space_member, member: member) && member.user.invited_to_sign_up? %>
|
|
81
81
|
<li class="dropdown__item">
|
|
82
|
-
<%= link_to
|
|
82
|
+
<%= link_to resend_invitation_member_path(current_participatory_space, member), method: :post, class: "dropdown__button" do %>
|
|
83
83
|
<%= icon "refresh-line" %>
|
|
84
84
|
<%= t("actions.resend_invitation", scope: "decidim.admin") %>
|
|
85
85
|
<% end %>
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
<hr>
|
|
89
89
|
<% end %>
|
|
90
90
|
|
|
91
|
-
<% if allowed_to?(:destroy, :
|
|
91
|
+
<% if allowed_to?(:destroy, :space_member, member: member) %>
|
|
92
92
|
<li class="dropdown__item">
|
|
93
|
-
<%= link_to
|
|
93
|
+
<%= link_to member_path(current_participatory_space, member), method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") }, class: "dropdown__button" do %>
|
|
94
94
|
<%= icon "delete-bin-line" %>
|
|
95
95
|
<%= t("actions.destroy", scope: "decidim.admin") %>
|
|
96
96
|
<% end %>
|
|
@@ -104,6 +104,6 @@
|
|
|
104
104
|
</tbody>
|
|
105
105
|
</table>
|
|
106
106
|
</div>
|
|
107
|
-
<%= decidim_paginate
|
|
107
|
+
<%= decidim_paginate members %>
|
|
108
108
|
<% end %>
|
|
109
109
|
</div>
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
<div class="item__edit item__edit-1col">
|
|
9
9
|
<div class="item__edit-form">
|
|
10
|
-
<%= decidim_form_for(@form, url:
|
|
11
|
-
<%= render partial: "decidim/admin/
|
|
10
|
+
<%= decidim_form_for(@form, url: members_path(current_participatory_space), html: { class: "form-defaults form new_member" }) do |f| %>
|
|
11
|
+
<%= render partial: "decidim/admin/members/form", object: f %>
|
|
12
12
|
<div class="item__edit-sticky">
|
|
13
13
|
<div class="item__edit-sticky-container">
|
|
14
14
|
<%= f.submit t(".create"), class: "button button__sm button__secondary" %>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<% if @count != 0 %>
|
|
19
19
|
<p><%= t(".destroy.explanation", count: @count) %></p>
|
|
20
20
|
<%= link_to t(".destroy.button"),
|
|
21
|
-
|
|
21
|
+
destroy_all_members_csv_imports_path,
|
|
22
22
|
method: :delete,
|
|
23
23
|
class: "button button__sm button__secondary alert",
|
|
24
24
|
data: { confirm: t(".destroy.confirm") } %>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
</h2>
|
|
36
36
|
</div>
|
|
37
37
|
<div class="card-section p-4">
|
|
38
|
-
<%= decidim_form_for(@form, url:
|
|
38
|
+
<%= decidim_form_for(@form, url: members_csv_imports_path, html: { class: "form form-defaults" }) do |form| %>
|
|
39
39
|
<div>
|
|
40
40
|
<p><%= t(".explanation") %></p>
|
|
41
41
|
<p><%= t(".example_file") %></p>
|
|
@@ -3,10 +3,6 @@
|
|
|
3
3
|
<%= check_box_tag "moderation_ids_s[]", moderation.id, false, class: "js-check-all-moderations js-moderation-list-check js-moderation-id-#{moderation.id}" %>
|
|
4
4
|
</td>
|
|
5
5
|
|
|
6
|
-
<td data-label="<%= t("models.moderation.fields.reportable_id", scope: "decidim.moderations") %>">
|
|
7
|
-
<%= moderation.reportable.id %>
|
|
8
|
-
</td>
|
|
9
|
-
|
|
10
6
|
<td data-label="<%= t("models.moderation.fields.reportable_type", scope: "decidim.moderations") %>">
|
|
11
7
|
<%= moderation.reportable.class.model_name.human %>
|
|
12
8
|
</td>
|
|
@@ -33,7 +29,7 @@
|
|
|
33
29
|
</td>
|
|
34
30
|
|
|
35
31
|
<td data-label="<%= t("models.moderation.fields.created_at", scope: "decidim.moderations") %>">
|
|
36
|
-
<%= l moderation.created_at, format: :
|
|
32
|
+
<%= l moderation.created_at, format: :decidim_short %>
|
|
37
33
|
</td>
|
|
38
34
|
|
|
39
35
|
<td data-label="<%= t("models.moderation.fields.report_count", scope: "decidim.moderations") %>">
|
|
@@ -42,7 +38,7 @@
|
|
|
42
38
|
|
|
43
39
|
<% if params[:hidden] %>
|
|
44
40
|
<td data-label="<%= t("models.moderation.fields.hidden_at", scope: "decidim.moderations") %>">
|
|
45
|
-
<%= l(moderation.hidden_at, format: :
|
|
41
|
+
<%= l(moderation.hidden_at, format: :decidim_short) if moderation.hidden_at.present? %>
|
|
46
42
|
</td>
|
|
47
43
|
<% end %>
|
|
48
44
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
<thead>
|
|
2
2
|
<tr>
|
|
3
3
|
<th><%= check_box_tag "moderations_bulk", "all", false, class: "js-check-all" %></th>
|
|
4
|
-
<th><%= t("models.moderation.fields.reportable_id", scope: "decidim.moderations") %></th>
|
|
5
4
|
<th><%= t("models.moderation.fields.reportable_type", scope: "decidim.moderations") %></th>
|
|
6
5
|
<% if !respond_to?(:current_participatory_space) %>
|
|
7
6
|
<th><%= t("models.moderation.fields.participatory_space", scope: "decidim.moderations") %></th>
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<dd><%= moderation.reportable.class.name.demodulize %></dd>
|
|
58
58
|
|
|
59
59
|
<dt><%= t("models.moderation.fields.created_at", scope: "decidim.moderations") %></dt>
|
|
60
|
-
<dd><%= l(moderation.created_at, format: :
|
|
60
|
+
<dd><%= l(moderation.created_at, format: :decidim_short) %></dd>
|
|
61
61
|
|
|
62
62
|
<dt><%= t(".participatory_space") %></dt>
|
|
63
63
|
<dd><%= translated_attribute moderation.participatory_space.title %></dd>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t(".
|
|
1
|
+
<% add_decidim_page_title(t(".title", template_name: t(template_manifest.public_name_key))) %>
|
|
2
|
+
|
|
2
3
|
<div class="item_show__header">
|
|
3
4
|
<h1 class="item_show__header-title">
|
|
4
|
-
<%= t ".
|
|
5
|
+
<%= t ".title", template_name: t(template_manifest.public_name_key) %>
|
|
5
6
|
</h1>
|
|
6
7
|
</div>
|
|
7
8
|
<div class="item__edit-form">
|
|
@@ -37,14 +37,12 @@
|
|
|
37
37
|
<%= hidden_field_tag "newsletter[send_to_verified_users]", params.dig(:newsletter, :send_to_verified_users) %>
|
|
38
38
|
<%= hidden_field_tag "newsletter[send_to_participants]", params.dig(:newsletter, :send_to_participants) %>
|
|
39
39
|
<%= hidden_field_tag "newsletter[send_to_followers]", params.dig(:newsletter, :send_to_followers) %>
|
|
40
|
-
<%= hidden_field_tag "newsletter[
|
|
40
|
+
<%= hidden_field_tag "newsletter[send_to_members]", params.dig(:newsletter, :send_to_members) %>
|
|
41
41
|
|
|
42
42
|
<% @form.participatory_space_types.each do |space_type| %>
|
|
43
|
-
<%=
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<%= hidden_field_tag "newsletter[participatory_space_types][#{space_type.manifest_name}][ids][]", id %>
|
|
47
|
-
<% end %>
|
|
43
|
+
<%= hidden_field_tag "newsletter[participatory_space_types][#{space_type.manifest_name}][manifest_name]", space_type.manifest_name %>
|
|
44
|
+
<% space_type.ids.each do |id| %>
|
|
45
|
+
<%= hidden_field_tag "newsletter[participatory_space_types][#{space_type.manifest_name}][ids][]", id %>
|
|
48
46
|
<% end %>
|
|
49
47
|
<% end %>
|
|
50
48
|
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
</td>
|
|
37
37
|
|
|
38
38
|
<td data-label="<%= t("models.newsletter.fields.created_at", scope: "decidim.admin") %>">
|
|
39
|
-
<%= l(newsletter.created_at, format: :
|
|
39
|
+
<%= l(newsletter.created_at, format: :decidim_short) if newsletter.created_at %>
|
|
40
40
|
</td>
|
|
41
41
|
|
|
42
42
|
<td data-label="<%= t("models.newsletter.fields.sent_at", scope: "decidim.admin") %>">
|
|
43
|
-
<%= l(newsletter.sent_at, format: :
|
|
43
|
+
<%= l(newsletter.sent_at, format: :decidim_short) if newsletter.sent_at %>
|
|
44
44
|
</td>
|
|
45
45
|
|
|
46
46
|
<td data-label="<%= t("models.newsletter.fields.sent_to", scope: "decidim.admin") %>">
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
<%= f.check_box :send_to_followers, help_text: t(".followers_help") %>
|
|
69
69
|
</div>
|
|
70
70
|
|
|
71
|
-
<div class="cell small-12 medium-6" id="
|
|
72
|
-
<%= f.check_box :
|
|
71
|
+
<div class="cell small-12 medium-6" id="send_newsletter_to_members">
|
|
72
|
+
<%= f.check_box :send_to_members, help_text: t(".members_help") %>
|
|
73
73
|
</div>
|
|
74
74
|
</div>
|
|
75
75
|
</div>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t(".
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="item_show__header">
|
|
3
4
|
<h1 class="item_show__header-title !w-1/2">
|
|
4
|
-
<%= t ".
|
|
5
|
+
<%= t ".title" %>
|
|
5
6
|
</h1>
|
|
6
7
|
<div class="flex ml-auto items-center gap-x-4">
|
|
7
8
|
<% if allowed_to?(:update, :newsletter, newsletter: @newsletter) %>
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
|
-
<div class="card"
|
|
3
|
+
<div class="card">
|
|
4
4
|
<div class="item_show__header">
|
|
5
|
-
<h1 class="item_show__header-title"
|
|
5
|
+
<h1 class="item_show__header-title">
|
|
6
|
+
<%= t ".title" %>
|
|
7
|
+
</h1>
|
|
6
8
|
</div>
|
|
7
9
|
<%= admin_filter_selector %>
|
|
8
10
|
<div class="table-stacked">
|
|
@@ -128,4 +130,4 @@
|
|
|
128
130
|
</div>
|
|
129
131
|
</div>
|
|
130
132
|
<%= decidim_paginate @users %>
|
|
131
|
-
<%= render "show_email_modal" %>
|
|
133
|
+
<%= render "decidim/admin/officializations/show_email_modal" %>
|
|
@@ -12,10 +12,6 @@
|
|
|
12
12
|
<%= form.check_box :badges_enabled %>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
-
<div class="row column">
|
|
16
|
-
<%= form.check_box :enable_participatory_space_filters %>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
15
|
<% if Decidim.config.enable_machine_translations %>
|
|
20
16
|
<div class="row column">
|
|
21
17
|
<%= form.check_box :enable_machine_translations %>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<div class="external-domains">
|
|
12
12
|
<%= fields_for "external_domains[#{blank_external_domain.to_param}]", blank_external_domain do |external_domain_form| %>
|
|
13
13
|
<script type="text/template" class="decidim-template">
|
|
14
|
-
<%= render "external_domain",
|
|
14
|
+
<%= render "decidim/admin/organization_external_domain_allowlist/external_domain",
|
|
15
15
|
form: external_domain_form,
|
|
16
16
|
id: blank_external_domain.to_param %>
|
|
17
17
|
</script>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<div class="external-domains-list">
|
|
21
21
|
<% @form.external_domains.each do |external_domain| %>
|
|
22
22
|
<%= fields_for "external_domains[]", external_domain do |external_domain_form| %>
|
|
23
|
-
<%= render "external_domain",
|
|
23
|
+
<%= render "decidim/admin/organization_external_domain_allowlist/external_domain",
|
|
24
24
|
form: external_domain_form,
|
|
25
25
|
id: external_domain.to_param %>
|
|
26
26
|
<% end %>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
2
|
|
|
3
3
|
<div class="item_show__header">
|
|
4
4
|
<h1 class="item_show__header-title">
|
|
5
|
-
<%= t("title"
|
|
5
|
+
<%= t(".title") %>
|
|
6
6
|
</h1>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
3
|
+
<div class="card">
|
|
4
|
+
<div class="item_show__header">
|
|
5
|
+
<h1 class="item_show__header-title">
|
|
6
|
+
<%= t ".title" %>
|
|
7
|
+
</h1>
|
|
8
|
+
</div>
|
|
2
9
|
<div class="item__edit-form">
|
|
3
10
|
<%= decidim_form_for(@form, html: { class: "form form-defaults new_order_reminder" }, url: component_reminders_path(name: reminder_manifest.name), class: "form grid-container") do |form| %>
|
|
4
11
|
<div class="card pb-4">
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
<%= b.label { b.check_box + b.text } %>
|
|
29
29
|
<% if permission.authorization_handlers_names.include? b.value %>
|
|
30
30
|
<div id="authorization-handler-<%= b.value %>" class="authorization-handler">
|
|
31
|
-
<%= render "options_form", form: permission_form, handler_name: b.value, ephemeral_warning: b.object.ephemeral? %>
|
|
31
|
+
<%= render "decidim/admin/resource_permissions/options_form", form: permission_form, handler_name: b.value, ephemeral_warning: b.object.ephemeral? %>
|
|
32
32
|
</div>
|
|
33
33
|
<% else %>
|
|
34
34
|
<% missing_permission = Decidim::Admin::PermissionForm.new(authorization_handlers: { b.value => {} }) %>
|
|
35
35
|
<%= action_permission_form.fields_for(action, missing_permission) do |missing_permission_form| %>
|
|
36
36
|
<div id="authorization-handler-<%= b.value %>" class="authorization-handler" style="display:none">
|
|
37
|
-
<%= render "options_form", form: missing_permission_form, handler_name: b.value, ephemeral_warning: b.object.ephemeral? %>
|
|
37
|
+
<%= render "decidim/admin/resource_permissions/options_form", form: missing_permission_form, handler_name: b.value, ephemeral_warning: b.object.ephemeral? %>
|
|
38
38
|
</div>
|
|
39
39
|
<% end %>
|
|
40
40
|
<% end %>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
|
2
|
+
|
|
2
3
|
<div class="card" id="scope-types">
|
|
3
4
|
<div class="item_show__header">
|
|
4
5
|
<h1 class="item_show__header-title">
|
|
5
|
-
<%= t "
|
|
6
|
+
<%= t ".title" %>
|
|
6
7
|
|
|
7
8
|
<% if allowed_to? :create, :scope_type %>
|
|
8
9
|
<%= link_to t("actions.add", scope: "decidim.admin"), [:new, :scope_type], class: "button button__sm button__secondary new" %>
|