decidim-participatory_processes 0.21.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/_all_processes.erb +4 -1
  3. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +5 -9
  4. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +10 -5
  5. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +1 -1
  6. data/app/cells/decidim/participatory_processes/process_filters/show.erb +2 -2
  7. data/app/cells/decidim/participatory_processes/process_group_m/footer.erb +4 -5
  8. data/app/cells/decidim/participatory_processes/process_m/data.erb +1 -1
  9. data/app/cells/decidim/participatory_processes/process_m/footer.erb +5 -6
  10. data/app/cells/decidim/participatory_processes/process_m/tags.erb +2 -2
  11. data/app/cells/decidim/participatory_processes/process_m_cell.rb +2 -0
  12. data/app/cells/decidim/participatory_processes/statistics/show.erb +2 -2
  13. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_admin.rb +2 -1
  14. data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +22 -0
  15. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_admin.rb +3 -1
  16. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +11 -2
  17. data/app/events/decidim/participatory_process_role_assigned_event.rb +28 -0
  18. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +2 -2
  19. data/app/queries/decidim/participatory_processes/stats_participants_count.rb +2 -2
  20. data/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +1 -1
  21. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +3 -2
  22. data/app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb +8 -3
  23. data/app/views/decidim/participatory_processes/participatory_processes/_metrics.html.erb +1 -1
  24. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +7 -5
  25. data/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +0 -0
  26. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +23 -11
  27. data/app/views/layouts/decidim/_process_header.html.erb +1 -1
  28. data/app/views/layouts/decidim/_process_header_steps.html.erb +1 -1
  29. data/config/locales/bg-BG.yml +19 -0
  30. data/config/locales/ca.yml +19 -1
  31. data/config/locales/cs.yml +26 -8
  32. data/config/locales/da-DK.yml +1 -0
  33. data/config/locales/de.yml +49 -0
  34. data/config/locales/el.yml +452 -0
  35. data/config/locales/en.yml +19 -1
  36. data/config/locales/es-MX.yml +18 -0
  37. data/config/locales/es-PY.yml +18 -0
  38. data/config/locales/es.yml +18 -0
  39. data/config/locales/et-EE.yml +1 -0
  40. data/config/locales/fi-plain.yml +18 -0
  41. data/config/locales/fi.yml +90 -72
  42. data/config/locales/fr-CA.yml +453 -0
  43. data/config/locales/fr.yml +26 -0
  44. data/config/locales/ga-IE.yml +1 -0
  45. data/config/locales/hr-HR.yml +1 -0
  46. data/config/locales/it.yml +28 -2
  47. data/config/locales/ja-JP.yml +445 -0
  48. data/config/locales/lt-LT.yml +1 -0
  49. data/config/locales/lv-LV.yml +445 -0
  50. data/config/locales/mt-MT.yml +1 -0
  51. data/config/locales/nl.yml +26 -0
  52. data/config/locales/no.yml +147 -136
  53. data/config/locales/pl.yml +54 -5
  54. data/config/locales/pt-BR.yml +1 -1
  55. data/config/locales/pt.yml +169 -120
  56. data/config/locales/ro-RO.yml +461 -0
  57. data/config/locales/sk-SK.yml +451 -0
  58. data/config/locales/sk.yml +451 -0
  59. data/config/locales/sl.yml +5 -0
  60. data/config/locales/sr-CS.yml +33 -0
  61. data/config/locales/sv.yml +151 -112
  62. data/db/migrate/20200320105908_index_foreign_keys_in_decidim_attachments.rb +7 -0
  63. data/db/migrate/20200320105924_index_foreign_keys_in_decidim_participatory_process_user_roles.rb +7 -0
  64. data/db/migrate/20200320105925_index_foreign_keys_in_decidim_participatory_processes.rb +8 -0
  65. data/db/seeds/city.jpeg +0 -0
  66. data/db/seeds/city2.jpeg +0 -0
  67. data/lib/decidim/participatory_processes/participatory_space.rb +5 -1
  68. data/lib/decidim/participatory_processes/version.rb +1 -1
  69. metadata +29 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d739759631aca0408a7ae0aba4ff332eae1e0f2f0da9687baa753fdecfb1882
4
- data.tar.gz: 5db3ca8acfbc423b83176a45dd67bc6b24083824264b367ccdc7b603b1b8bb68
3
+ metadata.gz: 4c87d3748ed5ddda107431eccbde08c257a669a9b0b6b87010cfc6dd1f6f5450
4
+ data.tar.gz: 5a984b08e37fb702a0f8cc425189782e7acc298fe0f933d02b68c2f171ec9106
5
5
  SHA512:
6
- metadata.gz: 71fd380d50a0bf51fac1e84ee82de34dae3c8412ddac11e7f102d91809f928af6c6d62e58c2809649067aeabcdbf8fb4992831a37876567f372901d177809b06
7
- data.tar.gz: c33eca9c58ce8cb093178232584a70916ccc314920de56443475abf129363d94e0f8cd86840ad1ae29536cbadbb8252b490ddaa93ce88002e613fd6432d00e97
6
+ metadata.gz: 04cb2351dd62f27e32155fe620953c7524216925686bef5be09d6fe30bfdebcdc12d45a79e577f414438c06cee0bc0a7f8396976386058bc2f40a21e5e21baa5
7
+ data.tar.gz: 30dbc6a09f4f3f5c5f417b0a1c9be50c4bca044b415aea17364dd9623bd86f4c188635528e87f74a9d4ed97a0cb8a0f8142eed1706415f3264118d9237585eb7
@@ -1,6 +1,9 @@
1
1
  <div class="row" id="see-all-processes">
2
2
  <div class="columns small-centered small-12
3
3
  smallmedium-8 medium-6 large-4">
4
- <%= link_to t("see_all_processes", scope: i18n_scope), decidim_participatory_processes.participatory_processes_path, class: "button expanded hollow button--sc home-section__cta" %>
4
+ <%= link_to t("see_all_processes", scope: i18n_scope),
5
+ decidim_participatory_processes.participatory_processes_path,
6
+ class: "button expanded hollow button--sc home-section__cta",
7
+ title: t("processes_button_title", scope: i18n_scope) %>
5
8
  </div>
6
9
  </div>
@@ -6,15 +6,11 @@
6
6
  large-up-4 card-grid">
7
7
  <% highlighted_processes.each do |process| %>
8
8
  <div class="column">
9
- <article class="card card--process card--mini">
10
- <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "card__link" do %>
11
- <div class="card__image-top"
12
- style="background-image:url(<%= process.hero_image.url %>)"></div>
13
- <% end %>
9
+ <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "card card--process card--mini" do %>
10
+ <div aria-hidden="true" class="card__image-top"
11
+ style="background-image:url(<%= process.hero_image.url %>)"></div>
14
12
  <div class="card__content">
15
- <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "card__link" do %>
16
- <h4 class="card__title"><%= translated_attribute process.title %></h4>
17
- <% end %>
13
+ <span class="card__title card__link"><%= translated_attribute process.title %></span>
18
14
  <% if process.active_step %>
19
15
  <span class="card--process__small">
20
16
  <%= t("active_step", scope: i18n_scope) %>
@@ -22,7 +18,7 @@
22
18
  </span>
23
19
  <% end %>
24
20
  </div>
25
- </article>
21
+ <% end %>
26
22
  </div>
27
23
  <% end %>
28
24
  </div>
@@ -1,17 +1,21 @@
1
1
  <% process = highlighted_processes.first %>
2
+ <% title_id = "process_title" %>
2
3
  <section class="wrapper-home home-section">
3
4
  <div class="row" id="highlighted-processes">
4
5
  <h3 class="section-heading"><%= t("active_processes", scope: i18n_scope) %></h3>
5
6
  <div class="row collapse">
6
- <article class="card card--full card--process">
7
+ <div class="card card--full card--process">
7
8
  <div class="row collapse card--process__row">
8
9
  <div class="column large-6 card--process__column">
9
10
  <div class="card__content">
10
11
  <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "card__link" do %>
11
- <h2 class="card__title"><%= translated_attribute process.title %></h2>
12
+ <h2 class="card__title" id="<%= title_id %>"><%= decidim_html_escape(translated_attribute(process.title)) %></h2>
12
13
  <% end %>
13
14
  <%= decidim_sanitize translated_attribute(process.short_description) %>
14
- <%= link_to t("more_information", scope: i18n_scope), decidim_participatory_processes.participatory_process_path(process), class: "button secondary small hollow" %>
15
+ <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "button small hollow" do %>
16
+ <span class="show-for-sr"><%= decidim_html_escape(translated_attribute(process.title)) %></span>
17
+ <%= t("more_information", scope: i18n_scope) %>
18
+ <% end %>
15
19
  </div>
16
20
  </div>
17
21
  <div class="column large-6 card--process__column">
@@ -19,7 +23,8 @@
19
23
  <div class="card__content row collapse">
20
24
  <div class="large-6 large-offset-6 columns">
21
25
  <%= link_to decidim_participatory_processes.participatory_process_path(process), class: "button expanded button--sc" do %>
22
- <%= t("participate", scope: i18n_scope) %>
26
+ <span class="show-for-sr"><%= t("participate_in", resource_name: translated_attribute(process.title), scope: i18n_scope) %></span>
27
+ <span aria-hidden="true"><%= t("participate", scope: i18n_scope) %></span>
23
28
  <% if process.active_step %>
24
29
  <span class="button__info">
25
30
  <%= t("active_step", scope: i18n_scope) %>
@@ -32,7 +37,7 @@
32
37
  </div>
33
38
  </div>
34
39
  </div>
35
- </article>
40
+ </div>
36
41
  </div>
37
42
  </div>
38
43
  <%= render "_all_processes" %>
@@ -29,7 +29,7 @@ module Decidim
29
29
  OrganizationPublishedParticipatoryProcesses.new(current_organization, current_user) |
30
30
  HighlightedParticipatoryProcesses.new |
31
31
  FilteredParticipatoryProcesses.new("active")
32
- ).query.limit(max_results)
32
+ ).query.includes([:organization]).limit(max_results)
33
33
  end
34
34
 
35
35
  def i18n_scope
@@ -1,8 +1,8 @@
1
1
  <div class="row collapse order-by">
2
- <h2 class="order-by__text section-heading">
2
+ <h3 class="order-by__text section-heading">
3
3
  <%= title %>
4
4
  <%= render :filter_tabs %>
5
- </h2>
5
+ </h3>
6
6
  </div>
7
7
  <% if process_count_by_filter["active"] == 0 && process_count_by_filter["upcoming"] == 0 %>
8
8
  <div class="row column">
@@ -1,9 +1,8 @@
1
1
  <div class="card__footer card__footer--spaces">
2
2
  <div class="card__support">
3
- <%= link_to(
4
- t("layouts.decidim.participatory_process_groups.participatory_process_group.browse"),
5
- resource_path,
6
- class: "card__button button button--sc secondary light small"
7
- ) %>
3
+ <%= link_to(resource_path, class: "card__button button button--sc small") do %>
4
+ <span class="show-for-sr"><%= t("browse_resource", resource_name: title, scope: "layouts.decidim.participatory_process_groups.participatory_process_group") %></span>
5
+ <%= t("layouts.decidim.participatory_process_groups.participatory_process_group.browse") %>
6
+ <% end %>
8
7
  </div>
9
8
  </div>
@@ -1,7 +1,7 @@
1
1
  <div class="card__icondata">
2
2
  <ul class="card-data">
3
3
  <li class="card-data__item">
4
- <%= icon "datetime", class: "icon--big" %>
4
+ <%= icon "datetime", class: "icon--big", role: "img", aria_label: t("decidim.participatory_processes.show.dates") %>
5
5
  </li>
6
6
  <li class="card-data__item">
7
7
  <div class="card-data__item--centerblock">
@@ -2,14 +2,13 @@
2
2
  <div class="card__support">
3
3
  <% if has_step? %>
4
4
  <div class="card__support__data--left">
5
- <div class="text-uppercase"><%= t("layouts.decidim.participatory_processes.participatory_process.active_step") %></div>
5
+ <div><%= t("layouts.decidim.participatory_processes.participatory_process.active_step") %></div>
6
6
  <div class="text-ellipsis"><strong><%= step_title %></strong></div>
7
7
  </div>
8
8
  <% end %>
9
- <%= link_to(
10
- t(model.cta_button_text_key, scope: "layouts.decidim.participatory_processes.participatory_process"),
11
- resource_path,
12
- class: "card__button button button--sc secondary light small"
13
- ) %>
9
+ <%= link_to(resource_path, class: "card__button button button--sc small") do %>
10
+ <span class="show-for-sr"><%= t(model.cta_button_text_key_accessible, resource_name: title, scope: "layouts.decidim.participatory_processes.participatory_process") %></span>
11
+ <%= t(model.cta_button_text_key, scope: "layouts.decidim.participatory_processes.participatory_process") %>
12
+ <% end %>
14
13
  </div>
15
14
  </div>
@@ -1,7 +1,7 @@
1
1
  <% if model.hashtag.present? %>
2
2
  <%= link_to(
3
- "##{model.hashtag}",
4
- "https://twitter.com/hashtag/#{model.hashtag}",
3
+ "##{decidim_html_escape(model.hashtag)}",
4
+ "https://twitter.com/hashtag/#{decidim_html_escape(model.hashtag)}",
5
5
  class: "card__text--category",
6
6
  target: "_blank"
7
7
  ) %>
@@ -5,6 +5,8 @@ module Decidim
5
5
  # This cell renders the Medium (:m) process card
6
6
  # for an given instance of a Process
7
7
  class ProcessMCell < Decidim::CardMCell
8
+ include Decidim::SanitizeHelper
9
+
8
10
  private
9
11
 
10
12
  def has_image?
@@ -1,9 +1,9 @@
1
1
  <section class="row statistics" id="participatory_process-statistics">
2
2
  <div class="columns large-8">
3
3
  <div class="row column">
4
- <h4 class="section-heading">
4
+ <h3 class="section-heading">
5
5
  <%= stats_heading %>
6
- </h4>
6
+ </h3>
7
7
 
8
8
  <div class="process-stats">
9
9
  <% if model.present? %>
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # A command with all the business logic when creating a new participatory
7
7
  # process admin in the system.
8
- class CreateParticipatoryProcessAdmin < Rectify::Command
8
+ class CreateParticipatoryProcessAdmin < NotifyRoleAssignedToParticipatoryProcess
9
9
  # Public: Initializes the command.
10
10
  #
11
11
  # form - A form object with the params.
@@ -61,6 +61,7 @@ module Decidim
61
61
  role_params,
62
62
  extra_info
63
63
  )
64
+ send_notification user
64
65
  end
65
66
 
66
67
  def existing_role
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module ParticipatoryProcesses
5
+ module Admin
6
+ # A command to notify users when a role is assigned for a participatory process
7
+ class NotifyRoleAssignedToParticipatoryProcess < Rectify::Command
8
+ def send_notification(user)
9
+ Decidim::EventsManager.publish(
10
+ event: "decidim.events.participatory_process.role_assigned",
11
+ event_class: Decidim::ParticipatoryProcessRoleAssignedEvent,
12
+ resource: form.current_participatory_space,
13
+ affected_users: [user],
14
+ extra: {
15
+ role: form.role
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # A command with all the business logic when updated a participatory
7
7
  # process admin in the system.
8
- class UpdateParticipatoryProcessAdmin < Rectify::Command
8
+ class UpdateParticipatoryProcessAdmin < NotifyRoleAssignedToParticipatoryProcess
9
9
  # Public: Initializes the command.
10
10
  #
11
11
  # form - A form object with the params.
@@ -47,6 +47,8 @@ module Decidim
47
47
  { role: form.role },
48
48
  extra_info
49
49
  )
50
+
51
+ send_notification user_role.user
50
52
  end
51
53
  end
52
54
  end
@@ -15,7 +15,8 @@ module Decidim
15
15
  :stats,
16
16
  :metrics,
17
17
  :default_date_filter,
18
- :related_processes
18
+ :related_processes,
19
+ :linked_assemblies
19
20
 
20
21
  def index
21
22
  raise ActionController::RoutingError, "Not Found" if published_processes.none?
@@ -29,7 +30,11 @@ module Decidim
29
30
  end
30
31
 
31
32
  def all_metrics
32
- enforce_permission_to :read, :process, process: current_participatory_space
33
+ if current_participatory_space.show_statistics
34
+ enforce_permission_to :read, :process, process: current_participatory_space
35
+ else
36
+ render status: :not_found
37
+ end
33
38
  end
34
39
 
35
40
  private
@@ -106,6 +111,10 @@ module Decidim
106
111
  .published
107
112
  .all
108
113
  end
114
+
115
+ def linked_assemblies
116
+ @linked_assemblies ||= current_participatory_space.linked_participatory_space_resources(:assembly, "included_participatory_processes").public_spaces
117
+ end
109
118
  end
110
119
  end
111
120
  end
@@ -0,0 +1,28 @@
1
+ # frozen-string_literal: true
2
+
3
+ module Decidim
4
+ class ParticipatoryProcessRoleAssignedEvent < Decidim::Events::SimpleEvent
5
+ include Decidim::Events::NotificationEvent
6
+ include Decidim::Events::AuthorEvent
7
+
8
+ def notification_title
9
+ I18n.t("notification_title", i18n_options).html_safe
10
+ end
11
+
12
+ def i18n_role
13
+ I18n.t(extra["role"], "decidim.admin.models.participatory_process_user_role.roles", default: extra["role"])
14
+ end
15
+
16
+ def i18n_options
17
+ {
18
+ resource_path: resource_path,
19
+ resource_title: resource_title,
20
+ resource_url: resource_url,
21
+ scope: event_name,
22
+ participatory_space_title: participatory_space_title,
23
+ participatory_space_url: participatory_space_url,
24
+ role: i18n_role
25
+ }
26
+ end
27
+ end
28
+ end
@@ -8,8 +8,8 @@ module Decidim
8
8
 
9
9
  def params
10
10
  capture do
11
- concat(content_tag(:input, nil, type: :hidden, id: :"metrics-space_type", value: participatory_process.class))
12
- concat(content_tag(:input, nil, type: :hidden, id: :"metrics-space_id", value: participatory_process.id))
11
+ concat(hidden_field_tag(:metrics_space_type, value: participatory_process.class, id: :"metrics-space_type"))
12
+ concat(hidden_field_tag(:metrics_space_id, value: participatory_process.id, id: :"metrics-space_id"))
13
13
  end
14
14
  end
15
15
 
@@ -49,8 +49,8 @@ module Decidim
49
49
  end
50
50
 
51
51
  def endorsements_query
52
- Decidim::Proposals::ProposalEndorsement
53
- .where(proposal: proposals_components)
52
+ Decidim::Endorsement
53
+ .where(resource: space_components)
54
54
  .pluck(:decidim_author_id)
55
55
  .uniq
56
56
  end
@@ -7,7 +7,7 @@
7
7
  <span class="timeline__date text-small">
8
8
  <%= participatory_space_helpers.step_dates(participatory_process_step) %>
9
9
  </span>
10
- <h6 class="timeline__title heading6"><%= translated_attribute(participatory_process_step.title) %></h6>
10
+ <h4 class="timeline__title heading4"><%= translated_attribute(participatory_process_step.title) %></h4>
11
11
  </div>
12
12
  <div class="timeline__content">
13
13
  <%= translated_attribute(participatory_process_step.description).html_safe %>
@@ -1,6 +1,7 @@
1
+ <% add_decidim_page_title(translated_attribute(group.name)) %>
1
2
  <% add_decidim_meta_tags(title: t("participatory_process_groups.show.title", scope: "decidim")) %>
2
3
 
3
- <main class="wrapper">
4
+ <div class="wrapper">
4
5
  <section id="processes-grid" class="section row collapse">
5
6
  <h1 class="section-heading"><%= t("participatory_process_groups.show.group_participatory_processes", scope: "decidim", count: participatory_processes.count, group: translated_attribute(group.name)) %></h1>
6
7
  <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
@@ -8,4 +9,4 @@
8
9
  </div>
9
10
  </section>
10
11
  <%= render_participatory_processes_hook(:process_group_highlighted_elements) %>
11
- </main>
12
+ </div>
@@ -1,14 +1,19 @@
1
1
  <% add_decidim_page_title(t("participatory_process_steps.index.title", scope: "decidim")) %>
2
2
 
3
- <main class="steps">
3
+ <div class="steps">
4
4
  <div class="row column">
5
5
  <div class="row">
6
6
  <div class="columns mediumlarge-9 large-7">
7
7
  <div class="section">
8
- <h4 class="section-heading"><%= t("participatory_process_steps.index.process_steps", scope: "decidim") %></h4>
8
+ <%= link_to participatory_process_path(current_participatory_space), class: "small hollow" do %>
9
+ <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
10
+ <%= t(".back_to_process") %>
11
+ <% end %>
12
+
13
+ <h3 class="section-heading"><%= t("participatory_process_steps.index.process_steps", scope: "decidim") %></h3>
9
14
  <%= render partial: "timeline" %>
10
15
  </div>
11
16
  </div>
12
17
  </div>
13
18
  </div>
14
- </main>
19
+ </div>
@@ -1,5 +1,5 @@
1
1
  <div class="section" id="metrics">
2
- <h4 class="section-heading"><%= t("decidim.pages.participatory_space.metrics.headline", name: translated_attribute(current_participatory_space.title)) %></h4>
2
+ <h3 class="section-heading"><%= t("decidim.pages.participatory_space.metrics.headline", name: translated_attribute(current_participatory_space.title)) %></h3>
3
3
  <%= metrics.params %>
4
4
  <div class="row mb-sm">
5
5
  <%= metrics.highlighted %>
@@ -1,12 +1,13 @@
1
- <article class="card card--full card--process">
1
+ <div class="card card--full card--process">
2
2
  <div class="row collapse card--process__row">
3
3
  <div class="columns mediumlarge-8 large-6 card--process__column">
4
4
  <div class="card__content">
5
5
  <%= link_to participatory_process_path(promoted_process), class: "card__link" do %>
6
- <h2 class="card__title"><%= translated_attribute promoted_process.title %></h2>
6
+ <h2 class="card__title"><%= decidim_html_escape(translated_attribute(promoted_process.title)) %></h2>
7
7
  <% end %>
8
8
  <%= decidim_sanitize html_truncate(translated_attribute(promoted_process.short_description), length: 630, separator: "...") %>
9
- <%= link_to participatory_process_path(promoted_process), class: "button secondary small hollow card__button" do %>
9
+ <%= link_to participatory_process_path(promoted_process), class: "button small hollow card__button" do %>
10
+ <span class="show-for-sr"><%= decidim_html_escape(translated_attribute(promoted_process.title)) %></span>
10
11
  <%= t("participatory_processes.promoted_process.more_info", scope: "layouts.decidim") %>
11
12
  <% end %>
12
13
  </div>
@@ -17,7 +18,8 @@
17
18
  <div class="card__content row collapse">
18
19
  <div class="large-6 large-offset-6 columns">
19
20
  <%= link_to participatory_process_path(promoted_process), class: "button expanded button--sc" do %>
20
- <%= t(promoted_process.cta_button_text_key, scope: "layouts.decidim.participatory_processes.promoted_process") %>
21
+ <span class="show-for-sr"><%= t(promoted_process.cta_button_text_key_accessible, resource_name: translated_attribute(promoted_process.title), scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
22
+ <span aria-hidden="true"><%= t(promoted_process.cta_button_text_key, scope: "layouts.decidim.participatory_processes.promoted_process") %></span>
21
23
  <% if promoted_process.active_step %>
22
24
  <span class="button__info">
23
25
  <%= t("participatory_processes.promoted_process.active_step", scope: "layouts.decidim") %> <%= translated_attribute promoted_process.active_step.title %>
@@ -29,4 +31,4 @@
29
31
  </div>
30
32
  </div>
31
33
  </div>
32
- </article>
34
+ </div>
@@ -1,17 +1,17 @@
1
1
  <% add_decidim_meta_tags({
2
- image_url: current_participatory_space.hero_image.url,
3
- description: translated_attribute(current_participatory_space.short_description),
4
- url: participatory_process_url(current_participatory_space),
5
- twitter_handler: current_organization.twitter_handler
6
- }) %>
2
+ image_url: current_participatory_space.hero_image.url,
3
+ description: translated_attribute(current_participatory_space.short_description),
4
+ url: participatory_process_url(current_participatory_space),
5
+ twitter_handler: current_organization.twitter_handler
6
+ }) %>
7
7
 
8
8
  <%
9
- edit_link(
10
- resource_locator(current_participatory_space).edit,
11
- :update,
12
- :process,
13
- process: current_participatory_space
14
- )
9
+ edit_link(
10
+ resource_locator(current_participatory_space).edit,
11
+ :update,
12
+ :process,
13
+ process: current_participatory_space
14
+ )
15
15
  %>
16
16
 
17
17
  <%= participatory_space_floating_help %>
@@ -48,6 +48,18 @@ edit_link(
48
48
  </div>
49
49
  </div>
50
50
  <% end %>
51
+
52
+ <% if linked_assemblies.any? %>
53
+ <div class="section">
54
+ <h4 class="section-heading"><%= t("participatory_process.show.related_assemblies", scope: "decidim") %></h4>
55
+ <div class="row small-up-1 medium-up-2 card-grid">
56
+ <% linked_assemblies.each do |linked_assembly| %>
57
+ <%= card_for(linked_assembly) %>
58
+ <% end %>
59
+ </div>
60
+ </div>
61
+ <% end %>
62
+
51
63
  </div>
52
64
  <div class="section columns medium-5 mediumlarge-4 large-3">
53
65
  <div class="card extra">