decidim-core 0.28.0 → 0.28.2
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/activity_cell.rb +2 -2
- data/app/cells/decidim/address/online.erb +27 -9
- data/app/cells/decidim/address/show.erb +27 -12
- data/app/cells/decidim/address_cell.rb +29 -0
- data/app/cells/decidim/announcement/show.erb +2 -2
- data/app/cells/decidim/author/show.erb +5 -5
- data/app/cells/decidim/authorization_modal/show.erb +8 -4
- data/app/cells/decidim/authorization_modal_cell.rb +1 -0
- data/app/cells/decidim/card/show.erb +1 -1
- data/app/cells/decidim/card_metadata/show.erb +2 -2
- data/app/cells/decidim/card_metadata_cell.rb +3 -3
- data/app/cells/decidim/coauthorships_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +6 -0
- data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +20 -4
- data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb +8 -0
- data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form_cell.rb +13 -0
- data/app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb +1 -1
- data/app/cells/decidim/data_consent/category.erb +1 -1
- data/app/cells/decidim/footer_pages_cell.rb +3 -3
- data/app/cells/decidim/nav_links/show.erb +2 -2
- data/app/cells/decidim/notification/moderated.erb +12 -0
- data/app/cells/decidim/notification_cell.rb +5 -1
- data/app/cells/decidim/profile/details.erb +1 -1
- data/app/cells/decidim/profile/tabs.erb +3 -2
- data/app/cells/decidim/progress_bar/show.erb +1 -1
- data/app/cells/decidim/progress_bar_cell.rb +2 -0
- data/app/cells/decidim/report_button/flag_modal.erb +5 -1
- data/app/cells/decidim/resource_types_filter/show.erb +3 -3
- data/app/cells/decidim/statistic/show.erb +2 -2
- data/app/cells/decidim/tags_cell.rb +3 -1
- data/app/cells/decidim/upload_modal/modal.erb +1 -2
- data/app/commands/decidim/create_omniauth_registration.rb +1 -3
- data/app/commands/decidim/messaging/reply_to_conversation.rb +3 -0
- data/app/commands/decidim/messaging/start_conversation.rb +3 -0
- data/app/controllers/concerns/decidim/devise_authentication_methods.rb +36 -0
- data/app/controllers/concerns/decidim/force_authentication.rb +1 -1
- data/app/controllers/concerns/decidim/paginable.rb +1 -1
- data/app/controllers/concerns/decidim/use_organization_time_zone.rb +1 -1
- data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -22
- data/app/controllers/decidim/devise/sessions_controller.rb +1 -24
- data/app/controllers/decidim/gamification/badges_controller.rb +2 -0
- data/app/controllers/decidim/links_controller.rb +15 -2
- data/app/events/decidim/welcome_notification_event.rb +6 -9
- data/app/helpers/concerns/decidim/flash_helper_extensions.rb +2 -2
- data/app/helpers/decidim/application_helper.rb +0 -18
- data/app/helpers/decidim/cells_paginate_helper.rb +1 -1
- data/app/helpers/decidim/check_boxes_tree_helper.rb +7 -8
- data/app/helpers/decidim/layout_helper.rb +1 -1
- data/app/helpers/decidim/map_helper.rb +1 -1
- data/app/helpers/decidim/menu_helper.rb +2 -0
- data/app/helpers/decidim/newsletters_helper.rb +83 -16
- data/app/helpers/decidim/paginate_helper.rb +1 -1
- data/app/helpers/decidim/sanitize_helper.rb +9 -0
- data/app/helpers/decidim/social_share_button_helper.rb +1 -1
- data/app/helpers/decidim/user_profile_helper.rb +7 -2
- data/app/mailers/decidim/application_mailer.rb +40 -6
- data/app/mailers/decidim/messaging/conversation_mailer.rb +3 -72
- data/app/models/decidim/push_notification_message.rb +38 -0
- data/app/packs/entrypoints/decidim_overrides.scss +2 -0
- data/app/packs/images/decidim/.keep +0 -0
- data/app/packs/src/decidim/a11y.js +15 -1
- data/app/packs/src/decidim/abide_form_validator_fixer.js +44 -0
- data/app/packs/src/decidim/account_form.js +1 -1
- data/app/packs/src/decidim/data_consent/consent_manager.test.js +1 -1
- data/app/packs/src/decidim/data_consent/index.js +1 -1
- data/app/packs/src/decidim/direct_uploads/upload_field.js +1 -1
- data/app/packs/src/decidim/direct_uploads/upload_modal.js +5 -5
- data/app/packs/src/decidim/editor/extensions/hashtag/index.js +1 -1
- data/app/packs/src/decidim/editor/extensions/mention/index.js +1 -1
- data/app/packs/src/decidim/editor/extensions/video_embed/index.js +3 -0
- data/app/packs/src/decidim/editor/test/editor/create.test.js +1 -1
- data/app/packs/src/decidim/editor/test/extensions/bold.test.js +2 -3
- data/app/packs/src/decidim/editor/test/extensions/character_count.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +2 -3
- data/app/packs/src/decidim/editor/test/extensions/dialog.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/emoji.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/hashtag.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/heading.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/image.test.js +4 -4
- data/app/packs/src/decidim/editor/test/extensions/indent.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/link.test.js +3 -3
- data/app/packs/src/decidim/editor/test/extensions/mention.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/ordered_list.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +3 -3
- data/app/packs/src/decidim/editor/test/helpers.js +5 -4
- data/app/packs/src/decidim/editor/test/toolbar/basic.test.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/content.test.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/full.test.js +3 -3
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic.js +6 -6
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +1 -1
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content.js +7 -7
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/context.js +1 -1
- data/app/packs/src/decidim/editor/test/utilities/paste_transform.test.js +2 -2
- data/app/packs/src/decidim/external_domain_warning.js +13 -0
- data/app/packs/src/decidim/external_domain_warning.test.js +1 -1
- data/app/packs/src/decidim/external_link.js +48 -9
- data/app/packs/src/decidim/external_link.test.js +1 -1
- data/app/packs/src/decidim/focus_guard.js +8 -20
- data/app/packs/src/decidim/form_filter.component_for_testing.js +1 -1
- data/app/packs/src/decidim/form_filter.js +3 -3
- data/app/packs/src/decidim/geocoding/attach_input.js +1 -1
- data/app/packs/src/decidim/i18n.test.js +1 -1
- data/app/packs/src/decidim/index.js +33 -2
- data/app/packs/src/decidim/input_hashtags.js +1 -1
- data/app/packs/src/decidim/input_mentions.js +1 -1
- data/app/packs/src/decidim/input_multiple_mentions.js +1 -1
- data/app/packs/src/decidim/sw/index.js +3 -3
- data/app/packs/src/decidim/user_registrations.js +1 -1
- data/app/packs/src/decidim/vizzs/index.js +1 -1
- data/app/packs/stylesheets/decidim/_accordion.scss +2 -2
- data/app/packs/stylesheets/decidim/_cards.scss +4 -4
- data/app/packs/stylesheets/decidim/_dropdown.scss +2 -2
- data/app/packs/stylesheets/decidim/_layout.scss +7 -7
- data/app/packs/stylesheets/decidim/_modal_update.scss +1 -3
- data/app/packs/stylesheets/decidim/application.scss +0 -3
- data/app/packs/stylesheets/decidim/decidim_application.scss +4 -0
- data/app/packs/stylesheets/decidim/legacy/leaflet.scss +88 -107
- data/app/presenters/decidim/admin_log/oauth_application_resource_presenter.rb +1 -1
- data/app/presenters/decidim/admin_log/organization_presenter.rb +1 -1
- data/app/presenters/decidim/log/diff_presenter.rb +1 -1
- data/app/presenters/decidim/log/resource_presenter.rb +7 -1
- data/app/presenters/decidim/notification_to_mailer_presenter.rb +9 -0
- data/app/services/decidim/events_manager.rb +6 -0
- data/app/services/decidim/iframe_disabler.rb +4 -0
- data/app/services/decidim/log/diff_changeset_calculator.rb +1 -1
- data/app/services/decidim/push_notification_message_sender.rb +40 -0
- data/app/services/decidim/send_push_notification.rb +22 -8
- data/app/uploaders/decidim/background_image_uploader.rb +11 -0
- data/app/views/decidim/account/show.html.erb +2 -2
- data/app/views/decidim/application/_collection.html.erb +2 -2
- data/app/views/decidim/application/_document.html.erb +3 -3
- data/app/views/decidim/devise/registrations/new.html.erb +2 -2
- data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +2 -1
- data/app/views/decidim/gamification/badges/index.html.erb +34 -33
- data/app/views/decidim/links/_modal.html.erb +1 -1
- data/app/views/decidim/links/new.html.erb +3 -1
- data/app/views/decidim/manifests/show.json.erb +1 -1
- data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
- data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +7 -0
- data/app/views/decidim/notifications_settings/show.html.erb +6 -6
- data/app/views/decidim/offline/show.html.erb +15 -9
- data/app/views/decidim/pages/_tabbed.html.erb +2 -2
- data/app/views/decidim/searches/_filters.html.erb +2 -2
- data/app/views/decidim/shared/_filters.html.erb +2 -2
- data/app/views/decidim/shared/_orders.html.erb +2 -2
- data/app/views/decidim/shared/filters/_collection.html.erb +5 -3
- data/app/views/decidim/shared/filters/_dropdown_label.html.erb +21 -19
- data/app/views/layouts/decidim/_head.html.erb +1 -0
- data/app/views/layouts/decidim/_js_configuration.html.erb +3 -1
- data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
- data/app/views/layouts/decidim/footer/_main_links.html.erb +3 -1
- data/app/views/layouts/decidim/footer/_main_social_media_links.html.erb +5 -5
- data/app/views/layouts/decidim/footer/_mini.html.erb +2 -2
- data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +4 -2
- data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
- data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +2 -2
- data/config/assets.rb +1 -0
- data/config/locales/ar.yml +60 -8
- data/config/locales/bg.yml +909 -2
- data/config/locales/ca.yml +31 -24
- data/config/locales/cs.yml +7 -3
- data/config/locales/de.yml +37 -30
- data/config/locales/el.yml +11 -7
- data/config/locales/en.yml +10 -3
- data/config/locales/es-MX.yml +17 -10
- data/config/locales/es-PY.yml +17 -10
- data/config/locales/es.yml +59 -52
- data/config/locales/eu.yml +26 -10
- data/config/locales/fi-plain.yml +11 -4
- data/config/locales/fi.yml +14 -7
- data/config/locales/fr-CA.yml +14 -7
- data/config/locales/fr.yml +14 -7
- data/config/locales/ga-IE.yml +9 -0
- data/config/locales/gl.yml +5 -2
- data/config/locales/he-IL.yml +1 -0
- data/config/locales/hu.yml +264 -8
- data/config/locales/id-ID.yml +0 -2
- data/config/locales/it.yml +9 -6
- data/config/locales/ja.yml +14 -7
- data/config/locales/kaa.yml +5 -0
- data/config/locales/lb.yml +9 -6
- data/config/locales/lt.yml +8 -12
- data/config/locales/lv.yml +8 -3
- data/config/locales/nl.yml +8 -3
- data/config/locales/no.yml +9 -6
- data/config/locales/pl.yml +616 -2
- data/config/locales/pt-BR.yml +202 -19
- data/config/locales/pt.yml +9 -6
- data/config/locales/ro-RO.yml +10 -5
- data/config/locales/ru.yml +15 -2
- data/config/locales/sk.yml +8 -3
- data/config/locales/sl.yml +8 -0
- data/config/locales/sv.yml +32 -6
- data/config/locales/tr-TR.yml +24 -9
- data/config/locales/uk.yml +22 -2
- data/config/locales/zh-CN.yml +0 -6
- data/config/locales/zh-TW.yml +10 -11
- data/decidim-core.gemspec +90 -0
- data/lib/decidim/asset_router/storage.rb +2 -0
- data/lib/decidim/attribute_encryptor.rb +6 -4
- data/lib/decidim/attributes/time_with_zone.rb +1 -1
- data/lib/decidim/core/engine.rb +7 -6
- data/lib/decidim/core/seeds.rb +37 -33
- data/lib/decidim/core/test/factories.rb +296 -89
- data/lib/decidim/core/test/shared_examples/amendable/amendment_created_event_examples.rb +6 -26
- data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +8 -26
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +76 -6
- data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +8 -6
- data/lib/decidim/core/test/shared_examples/has_attachments.rb +8 -8
- data/lib/decidim/core/test/shared_examples/has_category.rb +27 -0
- data/lib/decidim/core/test/shared_examples/has_reference.rb +1 -1
- data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/logo_email.rb +2 -2
- data/lib/decidim/core/test/shared_examples/map_examples.rb +3 -0
- data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +5 -2
- data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +134 -0
- data/lib/decidim/core/test/shared_examples/simple_event.rb +18 -2
- data/lib/decidim/core/test.rb +1 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/core.rb +7 -1
- data/lib/decidim/engine_router.rb +17 -4
- data/lib/decidim/events/base_event.rb +7 -3
- data/lib/decidim/events/simple_event.rb +3 -17
- data/lib/decidim/form_builder.rb +8 -2
- data/lib/decidim/has_category.rb +1 -1
- data/lib/decidim/has_conversations.rb +91 -0
- data/lib/decidim/organization_settings.rb +10 -2
- data/lib/decidim/participable.rb +17 -0
- data/lib/decidim/upgrade/wysiwyg_migrator.rb +7 -0
- data/lib/decidim/view_model.rb +1 -0
- data/lib/decidim/webpacker/webpack/.modernizrrc +9 -0
- data/lib/premailer/adapter/decidim.rb +5 -4
- data/lib/tasks/decidim_reminders_tasks.rake +1 -0
- data/lib/tasks/upgrade/decidim_fix_categorization.rake +15 -0
- metadata +26 -27
- data/app/views/decidim/searches/index.js.erb +0 -7
- data/config/brakeman.ignore +0 -37
- data/config/environment.rb +0 -3
@@ -41,7 +41,7 @@
|
|
41
41
|
</div>
|
42
42
|
|
43
43
|
<div id="card__tos" class="form__wrapper-block">
|
44
|
-
<
|
44
|
+
<h2 class="h4"><%= t("decidim.devise.registrations.new.tos_title") %></h2>
|
45
45
|
|
46
46
|
<div class="tos-text">
|
47
47
|
<% terms_of_service_summary_content_blocks.each do |content_block| %>
|
@@ -53,7 +53,7 @@
|
|
53
53
|
</div>
|
54
54
|
|
55
55
|
<div id="card__newsletter" class="form__wrapper-block">
|
56
|
-
<
|
56
|
+
<h2 class="h4"><%= t("decidim.devise.registrations.new.newsletter_title") %></h2>
|
57
57
|
<%= f.check_box :newsletter, label: t("decidim.devise.registrations.new.newsletter"), checked: @form.newsletter, label_options: { class: "form__wrapper-checkbox-label" } %>
|
58
58
|
</div>
|
59
59
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
updateEndorsementBlock();
|
2
|
-
|
3
2
|
function updateEndorsementBlock() {
|
4
3
|
var $endorsementBlock = $('#resource-<%= resource.id %>-endorsement-block');
|
5
4
|
var $endorsementListTrigger = $('#resource-<%= resource.id %>-endorsement-block #dropdown-trigger');
|
@@ -24,4 +23,6 @@ function updateEndorsementBlock() {
|
|
24
23
|
} else {
|
25
24
|
$endorsementIdentitiesButton[0].innerHTML = '<%= j(cell("decidim/endorsement_buttons", resource).button_content).strip.html_safe %>';
|
26
25
|
}
|
26
|
+
document.dispatchEvent(new CustomEvent("ajax:loaded", { detail: $endorsementBlock[0] }));
|
27
|
+
document.dispatchEvent(new CustomEvent("ajax:loaded", { detail: $endorsementListGrid[0] }));
|
27
28
|
}
|
@@ -1,40 +1,41 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
title: t(".title"),
|
3
|
+
description: t(".page_description")
|
4
|
+
) %>
|
5
|
+
|
6
|
+
<main class="layout-1col cols-10">
|
7
|
+
|
8
|
+
<header class="text-center py-10">
|
9
|
+
<h1 class="title-decorator inline-block text-left mb-12">
|
10
|
+
<%= t ".title" %>
|
11
|
+
</h1>
|
12
|
+
<p class="text-lg text-gray-2">
|
13
|
+
<%= t ".page_description" %>
|
6
14
|
</p>
|
7
|
-
</
|
15
|
+
</header>
|
16
|
+
|
8
17
|
<% @badges.each do |badge| %>
|
9
|
-
<div class="
|
10
|
-
<
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<div class="card__text text-center">
|
19
|
-
<strong><%= badge.translated_name %></strong>
|
20
|
-
</div>
|
18
|
+
<div class="mb-12">
|
19
|
+
<h2 class="h4 mb-4"><%= t ".badge_title", name: badge.translated_name %></h2>
|
20
|
+
<div class="grid grid-cols-10 text-gray-2 leading-relaxed">
|
21
|
+
<div class="col-span-2">
|
22
|
+
<div class="flex justify-center items-center">
|
23
|
+
<%= image_tag badge.image, class: "w-32", alt: badge.translated_name %>
|
24
|
+
</div>
|
25
|
+
<div class="text-center mt-4">
|
26
|
+
<strong><%= badge.translated_name %></strong>
|
21
27
|
</div>
|
22
28
|
</div>
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
<
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
</
|
32
|
-
<ol>
|
33
|
-
<% badge.conditions.each do |condition| %>
|
34
|
-
<li><%= condition %></li>
|
35
|
-
<% end %>
|
36
|
-
</ol>
|
29
|
+
<div class="col-span-7 ml-2">
|
30
|
+
<p><%= badge.description(current_organization.name) %></p>
|
31
|
+
<p class="mt-4"><strong><%= t ".how" %></strong></p>
|
32
|
+
<ol class="list-decimal">
|
33
|
+
<% badge.conditions.each do |condition| %>
|
34
|
+
<li><%= condition %></li>
|
35
|
+
<% end %>
|
36
|
+
</ol>
|
37
|
+
</div>
|
37
38
|
</div>
|
38
39
|
</div>
|
39
40
|
<% end %>
|
40
|
-
</
|
41
|
+
</main>
|
@@ -16,6 +16,6 @@
|
|
16
16
|
<button class="button button__lg button__transparent-secondary" data-dialog-close="external-domain-warning">
|
17
17
|
<%= t("decidim.links.warning.cancel") %>
|
18
18
|
</button>
|
19
|
-
<%= link_to t("decidim.links.warning.proceed"), external_url.to_s , target: "_blank", class: "button button__lg button__secondary" %>
|
19
|
+
<%= link_to t("decidim.links.warning.proceed"), external_url.to_s , target: "_blank", class: "button button__lg button__secondary", rel: "nofollow noopener noreferrer" %>
|
20
20
|
</div>
|
21
21
|
<% end %>
|
@@ -1,3 +1,5 @@
|
|
1
|
+
<% add_decidim_page_title t("decidim.links.warning.title") %>
|
2
|
+
|
1
3
|
<%= render layout: "layouts/decidim/shared/layout_center" do %>
|
2
4
|
|
3
5
|
<div class="flex justify-center">
|
@@ -12,7 +14,7 @@
|
|
12
14
|
</code>
|
13
15
|
|
14
16
|
<div class="form__wrapper-block">
|
15
|
-
<%= link_to t("decidim.links.warning.proceed"), external_url.to_s, class: "button button__lg button__secondary ml-auto" %>
|
17
|
+
<%= link_to t("decidim.links.warning.proceed"), external_url.to_s, class: "button button__lg button__secondary ml-auto", rel: "nofollow noopener noreferrer" %>
|
16
18
|
</div>
|
17
19
|
|
18
20
|
<% end %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
"display": "<%= organization_params.pwa_display %>",
|
6
6
|
"start_url": "<%= organization_params.start_url %>",
|
7
7
|
"theme_color": "<%= organization_params.colors["primary"] %>",
|
8
|
-
"background_color": "
|
8
|
+
"background_color": "#FFFFFF",
|
9
9
|
"icons": [
|
10
10
|
{
|
11
11
|
"src": "<%= current_organization.attached_uploader(:favicon).variant_path :small %>",
|
@@ -1,4 +1,4 @@
|
|
1
1
|
$("#messages").append("<%= j(render "messages", sender: conversation.messages.first.sender, messages: [conversation.messages.first]).html_safe %>");
|
2
2
|
$("div[data-add-message]").replaceWith("<%= j(render "reply", form:, conversation:).html_safe %>");
|
3
|
-
$("#new_message_")
|
3
|
+
window.initFoundation($("#new_message_"));
|
4
4
|
Decidim.addInputEmoji();
|
@@ -8,4 +8,11 @@
|
|
8
8
|
<%= link_to decidim_sanitize(notification.resource_title, strip_tags: true), notification.resource_url %>
|
9
9
|
</p>
|
10
10
|
<% end %>
|
11
|
+
<% if notification.show_extended_information? %>
|
12
|
+
<blockquote>
|
13
|
+
<p>
|
14
|
+
<%= notification.safe_resource_text %>
|
15
|
+
</p>
|
16
|
+
</blockquote>
|
17
|
+
<% end %>
|
11
18
|
</div>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<label for="notifications_from_own_activity" class="toggle__switch-toggle">
|
13
13
|
<span>
|
14
14
|
<input
|
15
|
-
|
15
|
+
<%== %(checked="checked") if @notifications_settings.notifications_from_own_activity %>
|
16
16
|
id="notifications_from_own_activity"
|
17
17
|
type="checkbox"
|
18
18
|
name="notifications_from_own_activity">
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<label for="notifications_from_followed" class="toggle__switch-toggle">
|
31
31
|
<span>
|
32
32
|
<input
|
33
|
-
|
33
|
+
<%== %(checked="checked") if @notifications_settings.notifications_from_followed %>
|
34
34
|
id="notifications_from_followed"
|
35
35
|
type="checkbox"
|
36
36
|
name="notifications_from_followed">
|
@@ -62,7 +62,7 @@
|
|
62
62
|
<label for="newsletter_notifications" class="toggle__switch-toggle">
|
63
63
|
<span>
|
64
64
|
<input
|
65
|
-
|
65
|
+
<%== %(checked="checked") if @notifications_settings.newsletter_notifications %>
|
66
66
|
id="newsletter_notifications"
|
67
67
|
type="checkbox"
|
68
68
|
name="newsletter_notifications">
|
@@ -84,7 +84,7 @@
|
|
84
84
|
<label for="allow_public_contact" class="toggle__switch-toggle">
|
85
85
|
<span>
|
86
86
|
<input
|
87
|
-
|
87
|
+
<%== %(checked="checked") if @notifications_settings.allow_public_contact %>
|
88
88
|
id="allow_public_contact"
|
89
89
|
type="checkbox"
|
90
90
|
name="allow_public_contact">
|
@@ -108,7 +108,7 @@
|
|
108
108
|
<label for="email_on_moderations" class="toggle__switch-toggle">
|
109
109
|
<span>
|
110
110
|
<input
|
111
|
-
|
111
|
+
<%== %(checked="checked") if @notifications_settings.email_on_moderations %>
|
112
112
|
id="email_on_moderations"
|
113
113
|
type="checkbox"
|
114
114
|
name="email_on_moderations">
|
@@ -156,7 +156,7 @@
|
|
156
156
|
<label class="toggle__switch-toggle" for="allow_push_notifications">
|
157
157
|
<span>
|
158
158
|
<input
|
159
|
-
|
159
|
+
<%== %(checked="checked") if @notifications_settings.meet_push_notifications_requirements? %>
|
160
160
|
id="allow_push_notifications"
|
161
161
|
type="checkbox"
|
162
162
|
name="allow_push_notifications">
|
@@ -1,9 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
</
|
1
|
+
<% add_decidim_page_title(t("decidim.offline.name")) %>
|
2
|
+
|
3
|
+
<main id="offline-fallback-html" class="text-center mt-8">
|
4
|
+
<div class="flex justify-center">
|
5
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="5rem" height="r5em" viewBox="0 0 25 25">
|
6
|
+
<path
|
7
|
+
d="m20.293 4-1.477 1.477A4.473 4.473 0 0 0 11.17 7.33 4.362 4.362 0 0 0 9.5 7a4.486 4.486 0 0 0-4.23 3.01 4.49 4.49 0 0 0 .042 8.971L4 20.293l.707.707L21 4.707zM19.99 8.21a3.936 3.936 0 0 0-.16-.92L8.12 19H18.5a5.497 5.497 0 0 0 1.49-10.79z"
|
8
|
+
style="fill:#1a181d" />
|
9
|
+
</svg>
|
10
|
+
</div>
|
11
|
+
<h1 class="h1"><%= t("decidim.offline.name") %></h1>
|
12
|
+
<p class="text-lg mt-4"><%= t(".message_1") %></p>
|
13
|
+
<p class="text-lg mt-4"><%= t(".message_2") %></p>
|
14
|
+
<button class="button button__secondary button__lg mt-8" onclick="location.reload()"><%= t(".retry") %></button>
|
15
|
+
</main>
|
@@ -11,14 +11,14 @@
|
|
11
11
|
|
12
12
|
<div class="vertical-tabs">
|
13
13
|
<nav>
|
14
|
-
<button id="dropdown-trigger-pages" data-component="dropdown" data-target="dropdown-menu-pages" data-auto-close="true"
|
14
|
+
<button id="dropdown-trigger-pages" data-component="dropdown" data-target="dropdown-menu-pages" data-auto-close="true">
|
15
15
|
<span>
|
16
16
|
<%= translated_attribute(page.title) %>
|
17
17
|
</span>
|
18
18
|
<%= icon "arrow-down-s-line" %>
|
19
19
|
<%= icon "arrow-up-s-line" %>
|
20
20
|
</button>
|
21
|
-
<ul id="dropdown-menu-pages" class="vertical-tabs__list">
|
21
|
+
<ul id="dropdown-menu-pages" class="vertical-tabs__list" aria-hidden="true">
|
22
22
|
<% pages.each do |sibling| %>
|
23
23
|
<li class="<%= "is-active" if page == sibling %>">
|
24
24
|
<%= link_to translated_attribute(sibling.title), page_path(sibling.slug) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="filter-container search__filter">
|
2
|
-
<button id="dropdown-trigger-search" data-component="dropdown" data-target="dropdown-menu-search" data-auto-close="true"
|
2
|
+
<button id="dropdown-trigger-search" data-component="dropdown" data-target="dropdown-menu-search" data-auto-close="true">
|
3
3
|
<%= content_tag :span, t("decidim.searches.filters_small_view.filter_by"), class: "#{"is-active" if params.dig(:filter, :with_resource_type) == nil}" %>
|
4
4
|
<% @blocks.each do |elements| %>
|
5
5
|
<% elements.each do |type, results| %>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<%= icon "arrow-down-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
|
12
12
|
<%= icon "arrow-up-s-line", class: "w-8 h-8 flex-none text-secondary fill-current" %>
|
13
13
|
</button>
|
14
|
-
<div id="dropdown-menu-search">
|
14
|
+
<div id="dropdown-menu-search" aria-hidden="true">
|
15
15
|
<div>
|
16
16
|
<%= link_to main_search_path, class: "filter#{" is-active" if params.dig(:filter, :with_resource_type) == nil}" do %>
|
17
17
|
<%= resource_type_icon("all") %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<% if filter_sections.present? || local_assigns.has_key?(:search_variable) %>
|
5
5
|
<%= filter_form_for filter, url_for, class: "new_filter self-stretch", data: { filters: "", component: "accordion" } do |form| %>
|
6
6
|
|
7
|
-
<button id="dropdown-trigger-filters" data-component="dropdown" data-target="dropdown-menu-filters"
|
7
|
+
<button id="dropdown-trigger-filters" data-component="dropdown" data-target="dropdown-menu-filters">
|
8
8
|
<%= icon "arrow-down-s-line" %>
|
9
9
|
<%= icon "arrow-up-s-line" %>
|
10
10
|
<span>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</span>
|
13
13
|
</button>
|
14
14
|
|
15
|
-
<div id="dropdown-menu-filters">
|
15
|
+
<div id="dropdown-menu-filters" aria-hidden="true">
|
16
16
|
<% if local_assigns.has_key?(:skip_to_id) %>
|
17
17
|
<%= link_to t("skip", scope: "decidim.shared.filter_form_help"), "##{skip_to_id}", class: "filter-skip" %>
|
18
18
|
<% end %>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<button class="order-by__button" id="dropdown-trigger-order" data-component="dropdown" data-target="dropdown-menu-order" data-open="false"
|
1
|
+
<button class="order-by__button" id="dropdown-trigger-order" data-component="dropdown" data-target="dropdown-menu-order" data-open="false">
|
2
2
|
<%= icon "arrow-down-s-line" %>
|
3
3
|
<%= icon "arrow-up-s-line" %>
|
4
4
|
<span><%= t("#{i18n_scope}.label") %></span>
|
5
5
|
</button>
|
6
|
-
<div id="dropdown-menu-order" class="order-by">
|
6
|
+
<div id="dropdown-menu-order" class="order-by" aria-hidden="true">
|
7
7
|
<% orders.each do |order_name| %>
|
8
8
|
<%= order_link order_name,
|
9
9
|
i18n_scope:,
|
@@ -11,8 +11,10 @@
|
|
11
11
|
collection,
|
12
12
|
:first,
|
13
13
|
:last
|
14
|
-
) do |builder|
|
15
|
-
|
16
|
-
|
14
|
+
) do |builder| %>
|
15
|
+
<div class="filter">
|
16
|
+
<%= builder.label { builder.send(builder_type.singularize, class: "reset-defaults") + filter_text_for(builder.text) } %>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
17
19
|
</div>
|
18
20
|
</div>
|
@@ -4,31 +4,33 @@
|
|
4
4
|
<% data = item.tree_node? && item.node.present? ? { checkboxes_tree: data_checkboxes_tree_id } : {} %>
|
5
5
|
<% check_box_label = capture do %>
|
6
6
|
<%= filter_text_for(leaf.label, id: "dropdown-title-#{data_checkboxes_tree_id}") %>
|
7
|
-
<% if !is_blank_root && item.tree_node? && item.node.present? %>
|
8
|
-
<button id="dropdown-trigger-<%= data_checkboxes_tree_id %>" data-controls="panel-dropdown-menu-<%= data_checkboxes_tree_id %>" aria-labelledby="dropdown-title-<%= data_checkboxes_tree_id %>">
|
9
|
-
<%= icon "arrow-down-s-fill" %>
|
10
|
-
<%= icon "arrow-up-s-fill" %>
|
11
|
-
</button>
|
12
|
-
<% end %>
|
13
7
|
<% end %>
|
14
8
|
|
15
9
|
<% if leaf.value == "" %>
|
16
10
|
<%= hidden_field_tag "#{form.object_name}[#{method}][]", "", id: "#{form.options[:namespace] rescue "default"}_filter_#{method}_all" %>
|
17
11
|
<% end %>
|
18
12
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
13
|
+
<div class="filter">
|
14
|
+
<%= form.check_box(
|
15
|
+
method,
|
16
|
+
check_boxes_tree_options(
|
17
|
+
leaf.value,
|
18
|
+
check_box_label,
|
19
|
+
class: "reset-defaults",
|
20
|
+
data:,
|
21
|
+
is_root_check_box: is_blank_root,
|
22
|
+
parent_id:
|
23
|
+
),
|
24
|
+
leaf.value.to_s,
|
25
|
+
nil
|
26
|
+
) %>
|
27
|
+
<% if !is_blank_root && item.tree_node? && item.node.present? %>
|
28
|
+
<button id="dropdown-trigger-<%= data_checkboxes_tree_id %>" data-controls="panel-dropdown-menu-<%= data_checkboxes_tree_id %>" aria-labelledby="dropdown-title-<%= data_checkboxes_tree_id %>">
|
29
|
+
<%= icon "arrow-down-s-fill" %>
|
30
|
+
<%= icon "arrow-up-s-fill" %>
|
31
|
+
</button>
|
32
|
+
<% end %>
|
33
|
+
</div>
|
32
34
|
|
33
35
|
<% if item.tree_node? && item.node.present? %>
|
34
36
|
<% subitems_content = capture do %>
|
@@ -27,6 +27,7 @@
|
|
27
27
|
<link rel="manifest" href="/manifest.webmanifest">
|
28
28
|
|
29
29
|
<%= prepend_javascript_pack_tag "decidim_core", defer: false %>
|
30
|
+
<%= append_stylesheet_pack_tag "decidim_overrides", media: "all" %>
|
30
31
|
<%= stylesheet_pack_tag "decidim_core", media: "all" %>
|
31
32
|
<%= yield :css_content %>
|
32
33
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
<%
|
2
2
|
js_configs = {
|
3
|
+
api_path: decidim_api.root_path(locale: nil),
|
3
4
|
icons_path: Decidim.cors_enabled ? "" : asset_pack_path("media/images/remixicon.symbol.svg"),
|
4
5
|
messages: {
|
5
6
|
"selfxssWarning": I18n.t("decidim.security.selfxss_warning"),
|
@@ -24,7 +25,8 @@ character_messages = {
|
|
24
25
|
}
|
25
26
|
}
|
26
27
|
external_link_messages = {
|
27
|
-
"externalLink": t("decidim.accessibility.external_link")
|
28
|
+
"externalLink": t("decidim.accessibility.external_link"),
|
29
|
+
"opensInNewTab": t("decidim.accessibility.opens_in_new_tab")
|
28
30
|
}
|
29
31
|
validator_messages = {
|
30
32
|
"correctErrors": t("forms.correct_errors")
|
@@ -12,7 +12,7 @@ end
|
|
12
12
|
|
13
13
|
<div class="layout-container">
|
14
14
|
<header>
|
15
|
-
<%= render partial: "layouts/decidim/admin_links" if current_user
|
15
|
+
<%= render partial: "layouts/decidim/admin_links" if current_user && allowed_to?(:read, :admin_dashboard) %>
|
16
16
|
<%= render partial: "layouts/decidim/header/main" %>
|
17
17
|
<% if display_flash_messages.present? %>
|
18
18
|
<div class="container">
|
@@ -4,7 +4,9 @@
|
|
4
4
|
<h2 class="h4 mb-4"><%= t("layouts.decidim.footer.resources") %></h2>
|
5
5
|
<ul class="space-y-4 break-inside-avoid">
|
6
6
|
<li class="font-semibold underline"><%= link_to t("decidim.profiles.show.activity"), decidim.last_activities_path %></li>
|
7
|
-
|
7
|
+
<% if Decidim.module_installed?(:meetings) %>
|
8
|
+
<li class="font-semibold underline"><%= link_to t("decidim.pages.home.extended.meetings"), Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path %></li>
|
9
|
+
<% end %>
|
8
10
|
<li class="font-semibold underline"><%= link_to t("layouts.decidim.footer.download_open_data"), decidim.open_data_download_path %></li>
|
9
11
|
</ul>
|
10
12
|
</nav>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<ul class="flex justify-between md:justify-start gap-6 text-sm text-white hover:[&_a]:opacity-50">
|
2
2
|
<% if current_organization.twitter_handler.present? %>
|
3
3
|
<li>
|
4
|
-
<a target="_blank" data-external-link="
|
4
|
+
<a target="_blank" data-external-link="text-only" rel="noopener noreferrer" href="https://twitter.com/<%= current_organization.twitter_handler %>">
|
5
5
|
<span class="sr-only"><%= t("layouts.decidim.social_media_links.x", organization: translated_attribute(current_organization.name)) %></span>
|
6
6
|
<%= icon "twitter-x-line", class: "w-8 h-8 fill-current", "aria-label": "X" %>
|
7
7
|
</a>
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<% end %>
|
10
10
|
<% if current_organization.facebook_handler.present? %>
|
11
11
|
<li>
|
12
|
-
<a target="_blank" data-external-link="
|
12
|
+
<a target="_blank" data-external-link="text-only" rel="noopener noreferrer" href="https://www.facebook.com/<%= current_organization.facebook_handler %>">
|
13
13
|
<span class="sr-only"><%= t("layouts.decidim.social_media_links.facebook", organization: translated_attribute(current_organization.name)) %></span>
|
14
14
|
<%= icon "facebook-fill", class: "w-8 h-8 fill-current", "aria-label": "Facebook" %>
|
15
15
|
</a>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<% end %>
|
18
18
|
<% if current_organization.instagram_handler.present? %>
|
19
19
|
<li>
|
20
|
-
<a target="_blank" data-external-link="
|
20
|
+
<a target="_blank" data-external-link="text-only" rel="noopener noreferrer" href="https://www.instagram.com/<%= current_organization.instagram_handler %>">
|
21
21
|
<span class="sr-only"><%= t("layouts.decidim.social_media_links.instagram", organization: translated_attribute(current_organization.name)) %></span>
|
22
22
|
<%= icon "instagram-line", class: "w-8 h-8 fill-current", "aria-label": "Instagram" %>
|
23
23
|
</a>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<% end %>
|
26
26
|
<% if current_organization.youtube_handler.present? %>
|
27
27
|
<li>
|
28
|
-
<a target="_blank" data-external-link="
|
28
|
+
<a target="_blank" data-external-link="text-only" rel="noopener noreferrer" href="https://www.youtube.com/<%= current_organization.youtube_handler %>">
|
29
29
|
<span class="sr-only"><%= t("layouts.decidim.social_media_links.youtube", organization: translated_attribute(current_organization.name)) %></span>
|
30
30
|
<%= icon "youtube-line", class: "w-8 h-8 fill-current", "aria-label": "Youtube" %>
|
31
31
|
</a>
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<% end %>
|
34
34
|
<% if current_organization.github_handler.present? %>
|
35
35
|
<li>
|
36
|
-
<a target="_blank" data-external-link="
|
36
|
+
<a target="_blank" data-external-link="text-only" rel="noopener noreferrer" href="https://www.github.com/<%= current_organization.github_handler %>">
|
37
37
|
<span class="sr-only"><%= t("layouts.decidim.social_media_links.github", organization: translated_attribute(current_organization.name)) %></span>
|
38
38
|
<%= icon "github-fill", class: "w-8 h-8 fill-current", "aria-label": "Github" %>
|
39
39
|
</a>
|
@@ -1,14 +1,14 @@
|
|
1
1
|
<div class="mini-footer">
|
2
2
|
<div class="mini-footer__content">
|
3
3
|
<div>
|
4
|
-
<a rel="decidim noopener noreferrer" href="https://decidim.org/" target="_blank" data-external-link="
|
4
|
+
<a rel="decidim noopener noreferrer" href="https://decidim.org/" target="_blank" data-external-link="text-only">
|
5
5
|
<%= image_pack_tag("media/images/decidim-logo.svg", alt: t("layouts.decidim.footer.decidim_logo"), class: "max-h-8 block") %>
|
6
6
|
</a>
|
7
7
|
<div class="text-xs mt-2 [&_a]:underline">
|
8
8
|
<%= t("layouts.decidim.footer.made_with_open_source").html_safe %>
|
9
9
|
</div>
|
10
10
|
</div>
|
11
|
-
<a class="flex gap-1 hover:opacity-50" rel="license noopener noreferrer" href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" data-external-link="
|
11
|
+
<a class="flex gap-1 hover:opacity-50" rel="license noopener noreferrer" href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" data-external-link="text-only">
|
12
12
|
<span class="sr-only"><%= t("layouts.decidim.footer.cc_by_license") %></span>
|
13
13
|
<%= icon "creative-commons-line", class: "w-6 h-6 fill-current" %>
|
14
14
|
<%= icon "creative-commons-by-line", class: "w-6 h-6 fill-current" %>
|
@@ -5,8 +5,10 @@
|
|
5
5
|
</div>
|
6
6
|
<div class="main-bar__links-desktop__item-wrapper">
|
7
7
|
<div>
|
8
|
-
|
9
|
-
<%=
|
8
|
+
<% if Decidim.module_installed?(:meetings) %>
|
9
|
+
<%= link_to Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path, class: "main-bar__links-desktop__item", "aria-label": t("decidim.pages.home.extended.meetings") do %>
|
10
|
+
<%= icon "road-map-line" %><span><%= t("decidim.pages.home.extended.meetings") %></span>
|
11
|
+
<% end %>
|
10
12
|
<% end %>
|
11
13
|
</div>
|
12
14
|
<div>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
</span>
|
18
18
|
<% if dropdown_item.present? %>
|
19
19
|
<button id="secondary-dropdown-trigger-mobile" data-component="dropdown" data-hover="true" data-target="secondary-dropdown-menu-mobile">
|
20
|
-
<%= icon "arrow-down-s-line", class: "flex-none w-6 h-6 fill-current"
|
20
|
+
<%= icon "arrow-down-s-line", class: "flex-none w-6 h-6 fill-current" %><span class="sr-only"><%= t("layouts.decidim.header.main_menu") %></span>
|
21
21
|
</button>
|
22
22
|
<% end %>
|
23
23
|
<% if content_for?(:participatory_space_mobile_actions) %>
|
@@ -10,12 +10,12 @@
|
|
10
10
|
|
11
11
|
<div class="vertical-tabs">
|
12
12
|
<nav aria-label="menu-vertical">
|
13
|
-
<button id="dropdown-trigger-profile" data-component="dropdown" data-target="dropdown-menu-profile"
|
13
|
+
<button id="dropdown-trigger-profile" data-component="dropdown" data-target="dropdown-menu-profile">
|
14
14
|
<span><%= user_menu.active_item&.label || t("decidim.searches.filters.jump_to") %></span>
|
15
15
|
<%= icon "arrow-down-s-line" %>
|
16
16
|
<%= icon "arrow-up-s-line" %>
|
17
17
|
</button>
|
18
|
-
<ul id="dropdown-menu-profile" class="vertical-tabs__list">
|
18
|
+
<ul id="dropdown-menu-profile" class="vertical-tabs__list" aria-hidden="true">
|
19
19
|
<%= user_menu.render %>
|
20
20
|
</ul>
|
21
21
|
</nav>
|
data/config/assets.rb
CHANGED
@@ -4,6 +4,7 @@ base_path = File.expand_path("..", __dir__)
|
|
4
4
|
|
5
5
|
Decidim::Webpacker.register_path("#{base_path}/app/packs")
|
6
6
|
Decidim::Webpacker.register_entrypoints(
|
7
|
+
decidim_overrides: "#{base_path}/app/packs/entrypoints/decidim_overrides.scss",
|
7
8
|
decidim_core: "#{base_path}/app/packs/entrypoints/decidim_core.js",
|
8
9
|
decidim_sw: "#{base_path}/app/packs/entrypoints/decidim_sw.js",
|
9
10
|
decidim_conference_diploma: "#{base_path}/app/packs/entrypoints/decidim_conference_diploma.js",
|