decidim-core 0.28.1 → 0.28.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/address/online.erb +2 -2
  3. data/app/cells/decidim/address_cell.rb +4 -0
  4. data/app/cells/decidim/announcement/show.erb +2 -2
  5. data/app/cells/decidim/author/show.erb +5 -5
  6. data/app/cells/decidim/card/show.erb +1 -1
  7. data/app/cells/decidim/card_g/show.erb +1 -1
  8. data/app/cells/decidim/card_g_cell.rb +5 -2
  9. data/app/cells/decidim/card_l/image.erb +2 -2
  10. data/app/cells/decidim/card_l_cell.rb +5 -2
  11. data/app/cells/decidim/card_metadata/show.erb +2 -2
  12. data/app/cells/decidim/content_blocks/hero_cell.rb +1 -1
  13. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +1 -1
  14. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +2 -2
  15. data/app/cells/decidim/data_consent/category.erb +1 -1
  16. data/app/cells/decidim/nav_links/show.erb +2 -2
  17. data/app/cells/decidim/notification/moderated.erb +12 -0
  18. data/app/cells/decidim/notification_cell.rb +5 -1
  19. data/app/cells/decidim/profile/details.erb +1 -1
  20. data/app/cells/decidim/progress_bar/show.erb +1 -1
  21. data/app/cells/decidim/progress_bar_cell.rb +2 -0
  22. data/app/cells/decidim/report_button/flag_modal.erb +5 -1
  23. data/app/cells/decidim/resource_types_filter/show.erb +3 -3
  24. data/app/cells/decidim/statistic/show.erb +2 -2
  25. data/app/cells/decidim/upload_modal/modal.erb +3 -4
  26. data/app/commands/decidim/create_omniauth_registration.rb +10 -4
  27. data/app/controllers/concerns/decidim/devise_controllers.rb +1 -0
  28. data/app/controllers/concerns/decidim/force_authentication.rb +1 -1
  29. data/app/controllers/concerns/decidim/paginable.rb +1 -1
  30. data/app/controllers/concerns/decidim/use_organization_time_zone.rb +1 -1
  31. data/app/controllers/decidim/application_controller.rb +1 -0
  32. data/app/controllers/decidim/gamification/badges_controller.rb +2 -0
  33. data/app/controllers/decidim/links_controller.rb +15 -2
  34. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +2 -2
  35. data/app/helpers/decidim/check_boxes_tree_helper.rb +1 -2
  36. data/app/helpers/decidim/paginate_helper.rb +3 -5
  37. data/app/mailers/decidim/application_mailer.rb +40 -6
  38. data/app/models/decidim/attachment.rb +3 -3
  39. data/app/models/decidim/component.rb +4 -1
  40. data/app/models/decidim/content_block.rb +2 -2
  41. data/app/models/decidim/user.rb +12 -12
  42. data/app/packs/src/decidim/a11y.js +14 -0
  43. data/app/packs/src/decidim/abide_form_validator_fixer.js +44 -0
  44. data/app/packs/src/decidim/direct_uploads/upload_modal.js +2 -6
  45. data/app/packs/src/decidim/index.js +29 -1
  46. data/app/packs/src/decidim/input_character_counter.js +1 -1
  47. data/app/packs/stylesheets/decidim/_accordion.scss +2 -2
  48. data/app/packs/stylesheets/decidim/_cards.scss +2 -2
  49. data/app/packs/stylesheets/decidim/_dropdown.scss +9 -9
  50. data/app/packs/stylesheets/decidim/_forms.scss +4 -4
  51. data/app/packs/stylesheets/decidim/_layout.scss +3 -3
  52. data/app/packs/stylesheets/decidim/_modal_update.scss +1 -3
  53. data/app/packs/stylesheets/decidim/_tooltip.scss +10 -10
  54. data/app/packs/stylesheets/decidim/editor.scss +1 -1
  55. data/app/presenters/decidim/admin_log/organization_presenter.rb +1 -1
  56. data/app/presenters/decidim/log/resource_presenter.rb +7 -1
  57. data/app/services/decidim/download_your_data_exporter.rb +36 -25
  58. data/app/services/decidim/log/diff_changeset_calculator.rb +1 -1
  59. data/app/services/decidim/open_data_exporter.rb +8 -7
  60. data/app/views/decidim/account/show.html.erb +2 -2
  61. data/app/views/decidim/application/_document.html.erb +2 -2
  62. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +2 -1
  63. data/app/views/decidim/gamification/badges/index.html.erb +34 -33
  64. data/app/views/decidim/links/_modal.html.erb +1 -1
  65. data/app/views/decidim/links/new.html.erb +3 -1
  66. data/app/views/decidim/manifests/show.json.erb +5 -5
  67. data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
  68. data/app/views/decidim/notifications_settings/show.html.erb +6 -6
  69. data/app/views/decidim/pages/_tabbed.html.erb +2 -2
  70. data/app/views/decidim/searches/_filters.html.erb +2 -2
  71. data/app/views/decidim/shared/_filters.html.erb +2 -2
  72. data/app/views/decidim/shared/_orders.html.erb +2 -2
  73. data/app/views/decidim/shared/filters/_collection.html.erb +5 -3
  74. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +21 -19
  75. data/app/views/layouts/decidim/_logo.html.erb +1 -1
  76. data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
  77. data/app/views/layouts/decidim/footer/_main_intro.html.erb +1 -1
  78. data/app/views/layouts/decidim/footer/_main_links.html.erb +3 -1
  79. data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +5 -3
  80. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +1 -1
  81. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
  82. data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +2 -2
  83. data/config/locales/ar.yml +1 -5
  84. data/config/locales/bg.yml +878 -1
  85. data/config/locales/ca.yml +5 -3
  86. data/config/locales/cs.yml +3 -1
  87. data/config/locales/de.yml +3 -1
  88. data/config/locales/el.yml +8 -1
  89. data/config/locales/en.yml +3 -1
  90. data/config/locales/es-MX.yml +8 -6
  91. data/config/locales/es-PY.yml +8 -6
  92. data/config/locales/es.yml +32 -30
  93. data/config/locales/eu.yml +4 -2
  94. data/config/locales/fi-plain.yml +6 -4
  95. data/config/locales/fi.yml +32 -30
  96. data/config/locales/fr-CA.yml +2 -0
  97. data/config/locales/fr.yml +2 -0
  98. data/config/locales/ga-IE.yml +8 -0
  99. data/config/locales/gl.yml +1 -0
  100. data/config/locales/hu.yml +1 -2
  101. data/config/locales/is-IS.yml +3 -0
  102. data/config/locales/it.yml +7 -1
  103. data/config/locales/ja.yml +3 -1
  104. data/config/locales/kaa.yml +5 -0
  105. data/config/locales/lb.yml +7 -1
  106. data/config/locales/lt.yml +8 -2
  107. data/config/locales/lv.yml +8 -1
  108. data/config/locales/nl.yml +7 -1
  109. data/config/locales/no.yml +7 -1
  110. data/config/locales/pl.yml +35 -0
  111. data/config/locales/pt-BR.yml +0 -1
  112. data/config/locales/pt.yml +7 -1
  113. data/config/locales/ro-RO.yml +8 -0
  114. data/config/locales/ru.yml +8 -0
  115. data/config/locales/sk.yml +8 -1
  116. data/config/locales/sl.yml +8 -0
  117. data/config/locales/sv.yml +132 -88
  118. data/config/locales/tr-TR.yml +21 -4
  119. data/config/locales/uk.yml +10 -0
  120. data/config/locales/zh-CN.yml +0 -1
  121. data/config/locales/zh-TW.yml +8 -1
  122. data/db/migrate/20181025082245_add_timestamps_to_components.rb +5 -1
  123. data/decidim-core.gemspec +0 -1
  124. data/lib/decidim/asset_router/storage.rb +214 -11
  125. data/lib/decidim/core/engine.rb +8 -0
  126. data/lib/decidim/core/seeds.rb +1 -1
  127. data/lib/decidim/core/test/shared_examples/attachable_interface_examples.rb +1 -1
  128. data/lib/decidim/core/test/shared_examples/comments_examples.rb +76 -6
  129. data/lib/decidim/core/test/shared_examples/follows_examples.rb +8 -3
  130. data/lib/decidim/core/test/shared_examples/logo_email.rb +2 -2
  131. data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +5 -5
  132. data/lib/decidim/core/version.rb +1 -1
  133. data/lib/decidim/core.rb +6 -1
  134. data/lib/decidim/events/base_event.rb +4 -0
  135. data/lib/decidim/organization_settings.rb +10 -2
  136. data/lib/decidim/seven_zip_wrapper.rb +29 -0
  137. data/lib/tasks/upgrade/decidim_fix_categorization.rake +101 -1
  138. metadata +13 -25
  139. data/app/services/decidim/zip_stream/writer.rb +0 -39
@@ -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,25 +5,25 @@
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": "<%= organization_params.colors["primary"] %>",
8
+ "background_color": "#FFFFFF",
9
9
  "icons": [
10
10
  {
11
- "src": "<%= current_organization.attached_uploader(:favicon).variant_path :small %>",
11
+ "src": "<%= current_organization.attached_uploader(:favicon).variant_url :small %>",
12
12
  "sizes": "32x32",
13
13
  "type": "image/png"
14
14
  },
15
15
  {
16
- "src": "<%= current_organization.attached_uploader(:favicon).variant_path :medium %>",
16
+ "src": "<%= current_organization.attached_uploader(:favicon).variant_url :medium %>",
17
17
  "sizes": "180x180",
18
18
  "type": "image/png"
19
19
  },
20
20
  {
21
- "src": "<%= current_organization.attached_uploader(:favicon).variant_path :big %>",
21
+ "src": "<%= current_organization.attached_uploader(:favicon).variant_url :big %>",
22
22
  "sizes": "192x192",
23
23
  "type": "image/png"
24
24
  },
25
25
  {
26
- "src": "<%= current_organization.attached_uploader(:favicon).variant_path :huge %>",
26
+ "src": "<%= current_organization.attached_uploader(:favicon).variant_url :huge %>",
27
27
  "sizes": "512x512",
28
28
  "type": "image/png"
29
29
  }
@@ -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_").foundation();
3
+ window.initFoundation($("#new_message_"));
4
4
  Decidim.addInputEmoji();
@@ -12,7 +12,7 @@
12
12
  <label for="notifications_from_own_activity" class="toggle__switch-toggle">
13
13
  <span>
14
14
  <input
15
- <%= %(checked="checked") if @notifications_settings.notifications_from_own_activity %>
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
- <%= %(checked="checked") if @notifications_settings.notifications_from_followed %>
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
- <%= %(checked="checked") if @notifications_settings.newsletter_notifications %>
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
- <%= %(checked="checked") if @notifications_settings.allow_public_contact %>
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
- <%= %(checked="checked") if @notifications_settings.email_on_moderations %>
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
- <%= %(checked="checked") if @notifications_settings.meet_push_notifications_requirements? %>
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">
@@ -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" data-disabled-md="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" data-disabled-md="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" data-disabled-md="true">
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" data-disabled-md="true">
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
- builder.label(class: "filter") { builder.send(builder_type.singularize, class: "reset-defaults") + filter_text_for(builder.text) }
16
- end %>
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
- <%= form.check_box(
20
- method,
21
- check_boxes_tree_options(
22
- leaf.value,
23
- check_box_label,
24
- class: "reset-defaults",
25
- data:,
26
- is_root_check_box: is_blank_root,
27
- parent_id:
28
- ),
29
- leaf.value.to_s,
30
- nil
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 %>
@@ -1,7 +1,7 @@
1
1
  <% if organization %>
2
2
  <%= link_to decidim.root_url(host: organization.host), "aria-label": t("front_page_link", scope: "decidim.accessibility") do %>
3
3
  <% if organization.logo.attached? %>
4
- <%= image_tag organization.attached_uploader(:logo).variant_path(:medium), alt: t("logo", scope: "decidim.accessibility", organization: organization.name) %>
4
+ <%= image_tag organization.attached_uploader(:logo).variant_url(:medium), alt: t("logo", scope: "decidim.accessibility", organization: organization.name) %>
5
5
  <% else %>
6
6
  <span><%= organization.name %></span>
7
7
  <% end %>
@@ -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&.admin %>
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">
@@ -1,6 +1,6 @@
1
1
  <% if current_organization.official_img_footer.attached? %>
2
2
  <%= link_to current_organization.official_url, class: "block mb-6" do %>
3
- <%= image_tag current_organization.attached_uploader(:official_img_footer).path, alt: current_organization.name, class: "max-h-16" %>
3
+ <%= image_tag current_organization.attached_uploader(:official_img_footer).url, alt: current_organization.name, class: "max-h-16" %>
4
4
  <% end %>
5
5
  <% end %>
6
6
  <div class="text-sm text-white prose">
@@ -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
- <li class="font-semibold underline"><%= link_to t("decidim.pages.home.extended.meetings"), Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path %></li>
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>
@@ -5,8 +5,10 @@
5
5
  </div>
6
6
  <div class="main-bar__links-desktop__item-wrapper">
7
7
  <div>
8
- <%= 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 %>
9
- <%= icon "road-map-line" %><span><%= t("decidim.pages.home.extended.meetings") %></span>
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>
@@ -33,7 +35,7 @@
33
35
  <span class="main-bar__avatar">
34
36
  <span>
35
37
  <%= image_tag(
36
- current_user.attached_uploader(:avatar).path(variant: :thumb),
38
+ current_user.attached_uploader(:avatar).variant_url(:thumb),
37
39
  alt: t("decidim.author.avatar", name: decidim_sanitize(current_user.avatar.name))
38
40
  ) %>
39
41
  </span>
@@ -15,7 +15,7 @@
15
15
  <% if current_user.avatar.attached? %>
16
16
  <div class="main-bar__avatar">
17
17
  <%= image_tag(
18
- current_user.attached_uploader(:avatar).path(variant: :thumb),
18
+ current_user.attached_uploader(:avatar).variant_url(:thumb),
19
19
  alt: t("decidim.author.avatar", name: decidim_sanitize(current_user.avatar.name))
20
20
  ) %>
21
21
  </div>
@@ -1,4 +1,6 @@
1
1
  <% breadcrumb_items.each_with_index do |item, i| %>
2
+ <% next if item.blank? %>
3
+
2
4
  <% item_label = translated_attribute(item[:label]) %>
3
5
  <span>/</span>
4
6
  <% if item[:dropdown_cell].present? %>
@@ -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" data-disabled-md="true">
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>
@@ -312,7 +312,6 @@ ar:
312
312
  '1': إنشاء التعديل الخاص بك
313
313
  '2': قارن تعديلك
314
314
  '3': اكمل تعديلك
315
- '4': انشر تعديلك
316
315
  anonymous_user: مجهول
317
316
  application:
318
317
  document:
@@ -809,6 +808,7 @@ ar:
809
808
  filename: اسم الملف
810
809
  remove: حذف
811
810
  replace: إستبدال
811
+ save: حفظ
812
812
  title: العنوان
813
813
  title_required: العنوان مطلوب!
814
814
  uploaded: تم التحميل
@@ -1227,7 +1227,6 @@ ar:
1227
1227
  past: الماضي
1228
1228
  filters_small_view:
1229
1229
  filter: منقي
1230
- filter_and_search: التصفية والبحث
1231
1230
  filter_by: مصنف بواسطة
1232
1231
  results:
1233
1232
  view_all: عرض الكل (%{count})
@@ -1455,7 +1454,6 @@ ar:
1455
1454
  links:
1456
1455
  back: الى الخلف
1457
1456
  forgot_your_password: نسيت رقمك السري؟
1458
- log_in: تسجيل الدخول
1459
1457
  log_in_with_provider: تسجيل الدخول باستخدام %{provider}
1460
1458
  sign_up: انشئ حسابًا
1461
1459
  minimum_password_length:
@@ -1616,13 +1614,11 @@ ar:
1616
1614
  decidim_logo: شعار Decidim
1617
1615
  decidim_title: Decidim
1618
1616
  download_open_data: تحميل ملفات البيانات المفتوحة
1619
- log_in: تسجيل الدخول
1620
1617
  made_with_open_source: موقع تم إنشاؤه <a target="_blank" href="https://github.com/decidim/decidim">بالبرمجيات الحرة</a>.
1621
1618
  resources: الموارد
1622
1619
  sign_up: انشئ حسابًا
1623
1620
  terms_and_conditions: الشروط والأحكام
1624
1621
  header:
1625
- log_in: تسجيل الدخول
1626
1622
  main_menu: القائمة الرئيسية
1627
1623
  user_menu: قائمة المستخدم
1628
1624
  impersonation_warning: