decidim-participatory_processes 0.6.8 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +4 -2
  3. data/app/commands/decidim/participatory_processes/admin/deactivate_participatory_process_step.rb +3 -1
  4. data/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +4 -1
  5. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +1 -0
  6. data/app/constraints/decidim/participatory_processes/current_participatory_process.rb +7 -1
  7. data/app/controllers/concerns/decidim/participatory_processes/needs_participatory_process.rb +5 -1
  8. data/app/controllers/decidim/participatory_processes/admin/participatory_process_attachments_controller.rb +1 -1
  9. data/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +7 -2
  10. data/app/controllers/decidim/participatory_processes/participatory_process_widgets_controller.rb +1 -1
  11. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +6 -0
  12. data/app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb +2 -2
  13. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +3 -3
  14. data/app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb +1 -0
  15. data/app/models/decidim/participatory_process.rb +5 -1
  16. data/app/views/decidim/participatory_process_groups/_participatory_process_group.html.erb +1 -1
  17. data/app/views/decidim/participatory_processes/_participatory_process.html.erb +1 -1
  18. data/app/views/decidim/participatory_processes/admin/participatory_process_copies/_form.html.erb +4 -1
  19. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +4 -1
  20. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +1 -1
  21. data/app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb +1 -1
  22. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +1 -1
  23. data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +1 -1
  24. data/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +1 -1
  25. data/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +8 -8
  26. data/app/views/layouts/decidim/_process_header.html.erb +1 -1
  27. data/app/views/layouts/decidim/admin/participatory_process.html.erb +4 -4
  28. data/app/views/layouts/decidim/participatory_process.html.erb +1 -5
  29. data/config/locales/ca.yml +7 -2
  30. data/config/locales/en.yml +9 -4
  31. data/config/locales/es.yml +7 -2
  32. data/config/locales/eu.yml +46 -41
  33. data/config/locales/fi.yml +16 -11
  34. data/config/locales/fr.yml +26 -21
  35. data/config/locales/it.yml +9 -4
  36. data/config/locales/nl.yml +9 -4
  37. data/config/locales/pl.yml +9 -4
  38. data/config/locales/ru.yml +287 -0
  39. data/config/locales/uk.yml +12 -7
  40. data/db/migrate/20170220110740_remove_steps_short_description.rb +1 -1
  41. data/lib/decidim/participatory_processes/admin_engine.rb +4 -4
  42. data/lib/decidim/participatory_processes/engine.rb +13 -2
  43. data/lib/decidim/participatory_processes/participatory_space.rb +4 -6
  44. data/lib/decidim/participatory_processes/test/factories.rb +2 -2
  45. data/lib/decidim/participatory_processes/version.rb +10 -0
  46. metadata +12 -25
  47. data/app/views/decidim/participatory_processes/participatory_processes/_no_processes_yet.html.erb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98ab48f7bee8d5ef841aaa5ca5636623dea2e1d3
4
- data.tar.gz: 002c3fe44756d5178e346cbd82815767eaaf5abc
3
+ metadata.gz: 02b9c17611f48b363023d86b9649d135fdc4b314
4
+ data.tar.gz: 92217fba53f0febda74b31ba5510379c07c2441c
5
5
  SHA512:
6
- metadata.gz: 8673b9de25032d4fd31490f1d8c40c7468213e64ef4246da4513d2ceca61be988dad0c12e92084eaa87654f79e04703c0653deb16623dd7f55ce94e4d98347ef
7
- data.tar.gz: e5c439c075754fb8bae6e8fc887967d1425e97fc56b604300b22c9e00ee79896707503078d3bdd2623e502053794c3086713d54a6f7d5c5eaf9141135b9d4528
6
+ metadata.gz: 88173b1eb06fcfbcb9daf6ff7d1fa585966f76931a0054f90a2645758299af37686deec205b4e1162885b5efe2c2fd523f5458587391829a097d7441a3bd44cb
7
+ data.tar.gz: 00ae74a8697aa2d7e64aff5cd8e0e58f2bf5383c77cde80fcef91e3cc4b5d34c981fc3b270aa26b2644412190cf34aaff4946da280f414375ab759d24ff7276a
@@ -34,11 +34,13 @@ module Decidim
34
34
  attr_reader :step
35
35
 
36
36
  def deactivate_active_steps
37
- step.participatory_process.steps.where(active: true).update_all(active: false)
37
+ step.participatory_process.steps.where(active: true).each do |step|
38
+ step.update_attributes!(active: false)
39
+ end
38
40
  end
39
41
 
40
42
  def activate_step
41
- step.update_attribute(:active, true)
43
+ step.update_attributes!(active: true)
42
44
  end
43
45
  end
44
46
  end
@@ -30,7 +30,9 @@ module Decidim
30
30
  attr_reader :step
31
31
 
32
32
  def deactivate_active_steps
33
- step.participatory_process.steps.where(active: true).update_all(active: false)
33
+ step.participatory_process.steps.where(active: true).each do |step|
34
+ step.update_attributes!(active: false)
35
+ end
34
36
  end
35
37
  end
36
38
  end
@@ -21,7 +21,7 @@ module Decidim
21
21
  #
22
22
  # Returns nothing.
23
23
  def call
24
- return broadcast(:invalid) unless order.present?
24
+ return broadcast(:invalid) if order.blank?
25
25
 
26
26
  reorder_steps
27
27
  broadcast(:ok)
@@ -36,11 +36,14 @@ module Decidim
36
36
  hash.update(id => { position: index })
37
37
  end
38
38
 
39
+ # rubocop:disable Rails/SkipsModelValidations
39
40
  ParticipatoryProcessStep.transaction do
40
41
  collection.update_all(position: nil)
41
42
  collection.reload
42
43
  collection.update(data.keys, data.values)
44
+ collection.each(&:save!)
43
45
  end
46
+ # rubocop:enable Rails/SkipsModelValidations
44
47
  end
45
48
 
46
49
  def order
@@ -46,6 +46,7 @@ module Decidim
46
46
  {
47
47
  name: form.name,
48
48
  hero_image: form.hero_image,
49
+ remove_hero_image: form.remove_hero_image,
49
50
  description: form.description,
50
51
  participatory_processes: participatory_processes
51
52
  }
@@ -30,7 +30,13 @@ module Decidim
30
30
  end
31
31
 
32
32
  def detect_current_participatory_process(params)
33
- OrganizationParticipatoryProcesses.new(@organization).query.find_by_id(params["participatory_process_id"])
33
+ organization_processes.where(slug: params["participatory_process_slug"]).or(
34
+ organization_processes.where(id: params["participatory_process_id"])
35
+ ).first!
36
+ end
37
+
38
+ def organization_processes
39
+ @organization_processes ||= OrganizationParticipatoryProcesses.new(@organization).query
34
40
  end
35
41
  end
36
42
  end
@@ -42,7 +42,11 @@ module Decidim
42
42
 
43
43
  def detect_participatory_process
44
44
  request.env["current_participatory_process"] ||
45
- OrganizationParticipatoryProcesses.new(current_organization).query.find(params[:participatory_process_id] || params[:id])
45
+ organization_processes.find_by!(slug: params[:participatory_process_slug] || params[:slug])
46
+ end
47
+
48
+ def organization_processes
49
+ @organization_processes ||= OrganizationParticipatoryProcesses.new(current_organization).query
46
50
  end
47
51
  end
48
52
  end
@@ -11,7 +11,7 @@ module Decidim
11
11
  include Decidim::Admin::Concerns::HasAttachments
12
12
 
13
13
  def after_destroy_path
14
- participatory_process_attachments_path(current_participatory_process.id)
14
+ participatory_process_attachments_path(current_participatory_process)
15
15
  end
16
16
 
17
17
  def attached_to
@@ -47,7 +47,10 @@ module Decidim
47
47
 
48
48
  def update
49
49
  authorize! :update, current_participatory_process
50
- @form = form(ParticipatoryProcessForm).from_params(participatory_process_params)
50
+ @form = form(ParticipatoryProcessForm).from_params(
51
+ participatory_process_params,
52
+ process_id: current_participatory_process.id
53
+ )
51
54
 
52
55
  UpdateParticipatoryProcess.call(current_participatory_process, @form) do
53
56
  on(:ok) do |participatory_process|
@@ -78,7 +81,9 @@ module Decidim
78
81
  private
79
82
 
80
83
  def current_participatory_process
81
- @current_participatory_process ||= collection.find(params[:id]) if params[:id]
84
+ @current_participatory_process ||= collection.where(slug: params[:slug]).or(
85
+ collection.where(id: params[:slug])
86
+ ).first
82
87
  end
83
88
 
84
89
  def collection
@@ -6,7 +6,7 @@ module Decidim
6
6
  private
7
7
 
8
8
  def model
9
- @model ||= ParticipatoryProcess.find(params[:participatory_process_id])
9
+ @model ||= ParticipatoryProcess.where(slug: params[:participatory_process_slug]).first
10
10
  end
11
11
 
12
12
  def current_participatory_space
@@ -18,6 +18,8 @@ module Decidim
18
18
  helper_method :collection, :promoted_participatory_processes, :participatory_processes, :stats, :filter
19
19
 
20
20
  def index
21
+ redirect_to "/404" if published_processes.none?
22
+
21
23
  authorize! :read, ParticipatoryProcess
22
24
  authorize! :read, ParticipatoryProcessGroup
23
25
  end
@@ -28,6 +30,10 @@ module Decidim
28
30
 
29
31
  private
30
32
 
33
+ def published_processes
34
+ @published_processes ||= OrganizationPublishedParticipatoryProcesses.new(current_organization)
35
+ end
36
+
31
37
  def collection
32
38
  @collection ||= (participatory_processes.to_a + participatory_process_groups).flatten
33
39
  end
@@ -18,9 +18,9 @@ module Decidim
18
18
  attribute :copy_categories, Boolean
19
19
  attribute :copy_features, Boolean
20
20
 
21
- validates :slug, presence: true
21
+ validates :slug, presence: true, format: { with: Decidim::ParticipatoryProcess.slug_format }
22
22
  validates :title, translatable_presence: true
23
- validate :slug, :slug_uniqueness
23
+ validate :slug_uniqueness
24
24
 
25
25
  private
26
26
 
@@ -37,11 +37,11 @@ module Decidim
37
37
  attribute :participatory_process_group_id, Integer
38
38
  attribute :show_statistics, Boolean
39
39
 
40
- validates :slug, presence: true
40
+ validates :slug, presence: true, format: { with: Decidim::ParticipatoryProcess.slug_format }
41
41
  validates :title, :subtitle, :description, :short_description, translatable_presence: true
42
42
  validates :scope, presence: true, if: proc { |object| object.scope_id.present? }
43
43
 
44
- validate :slug, :slug_uniqueness
44
+ validate :slug_uniqueness
45
45
 
46
46
  validates :hero_image, file_size: { less_than_or_equal_to: ->(_record) { Decidim.maximum_attachment_size } }, file_content_type: { allow: ["image/jpeg", "image/png"] }
47
47
  validates :banner_image, file_size: { less_than_or_equal_to: ->(_record) { Decidim.maximum_attachment_size } }, file_content_type: { allow: ["image/jpeg", "image/png"] }
@@ -62,7 +62,7 @@ module Decidim
62
62
  private
63
63
 
64
64
  def slug_uniqueness
65
- return unless OrganizationParticipatoryProcesses.new(current_organization).query.where(slug: slug).where.not(id: id).any?
65
+ return unless OrganizationParticipatoryProcesses.new(current_organization).query.where(slug: slug).where.not(id: context[:process_id]).any?
66
66
 
67
67
  errors.add(:slug, :taken)
68
68
  end
@@ -16,6 +16,7 @@ module Decidim
16
16
  mimic :participatory_process_group
17
17
 
18
18
  attribute :hero_image
19
+ attribute :remove_hero_image
19
20
 
20
21
  validates :name, :description, translatable_presence: true
21
22
 
@@ -42,8 +42,8 @@ module Decidim
42
42
 
43
43
  attr_readonly :active_step
44
44
 
45
- validates :slug, presence: true
46
45
  validates :slug, uniqueness: { scope: :organization }
46
+ validates :slug, presence: true, format: { with: Decidim::ParticipatoryProcess.slug_format }
47
47
 
48
48
  mount_uploader :hero_image, Decidim::HeroImageUploader
49
49
  mount_uploader :banner_image, Decidim::BannerImageUploader
@@ -58,5 +58,9 @@ module Decidim
58
58
  def hashtag
59
59
  attributes["hashtag"].to_s.delete("#")
60
60
  end
61
+
62
+ def to_param
63
+ slug
64
+ end
61
65
  end
62
66
  end
@@ -8,7 +8,7 @@
8
8
  <%= link_to participatory_process_group_path(participatory_process_group), class: "card__link" do %>
9
9
  <h4 class="card__title"><%= translated_attribute participatory_process_group.name %></h4>
10
10
  <% end %>
11
- <p class="card__desc"><%== html_truncate(translated_attribute(participatory_process_group.description), length: 630, separator: '...') %></p>
11
+ <p class="card__desc"><%= sanitize html_truncate(translated_attribute(participatory_process_group.description), length: 630, separator: '...') %></p>
12
12
  </div>
13
13
  <div class="card__footer">
14
14
  <div class="card__support">
@@ -8,7 +8,7 @@
8
8
  <%= link_to participatory_process_path(participatory_process), class: "card__link" do %>
9
9
  <h4 class="card__title"><%= translated_attribute participatory_process.title %></h4>
10
10
  <% end %>
11
- <p class="card__desc"><%== html_truncate(translated_attribute(participatory_process.short_description), length: 630, separator: '...') %></p>
11
+ <p class="card__desc"><%= sanitize html_truncate(translated_attribute(participatory_process.short_description), length: 630, separator: '...') %></p>
12
12
  </div>
13
13
  <div class="card__footer">
14
14
  <div class="card__support">
@@ -1,3 +1,5 @@
1
+ <%= javascript_include_tag "decidim/slug_form" %>
2
+
1
3
  <div class="card" id="processes">
2
4
  <div class="card-divider">
3
5
  <h2 class="card-title"><%= title %></h2>
@@ -9,8 +11,9 @@
9
11
  <div class="column xlarge-8">
10
12
  <%= form.translated :text_field, :title, autofocus: true %>
11
13
  </div>
12
- <div class="column xlarge-4">
14
+ <div class="column xlarge-4 slug">
13
15
  <%= form.text_field :slug %>
16
+ <p class="help-text"><%== t(".slug_help", url: decidim_form_slug_url(:processes, form.object.slug)) %></p>
14
17
  </div>
15
18
  </div>
16
19
  <div class="card">
@@ -1,3 +1,5 @@
1
+ <%= javascript_include_tag "decidim/slug_form" %>
2
+
1
3
  <div class="card">
2
4
  <div class="card-divider">
3
5
  <h2 class="card-title"><%= t "participatory_processes.form.title", scope: "decidim.admin" %></h2>
@@ -13,8 +15,9 @@
13
15
  </div>
14
16
 
15
17
  <div class="row">
16
- <div class="columns xlarge-6">
18
+ <div class="columns xlarge-6 slug">
17
19
  <%= form.text_field :slug %>
20
+ <p class="help-text"><%== t(".slug_help", url: decidim_form_slug_url(:processes, form.object.slug)) %></p>
18
21
  </div>
19
22
 
20
23
  <div class="columns xlarge-6">
@@ -5,7 +5,7 @@
5
5
  <h1 class="section-heading"><%= t("participatory_process_groups.show.group_participatory_processes", scope: "decidim", group: translated_attribute(group.name)) %></h1>
6
6
  <%= render partial: "decidim/participatory_processes/order_by_processes", locals: { include_filter: false } %>
7
7
  <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
8
- <%= render participatory_processes || render(partial: "no_processes_yet") %>
8
+ <%= render participatory_processes %>
9
9
  </div>
10
10
  </section>
11
11
  </main>
@@ -1,6 +1,6 @@
1
1
  <% content_for(:header, "false") %>
2
2
  <% content_for(:title, translated_attribute(model.title)) %>
3
- <p class="card__desc"><%== html_truncate(translated_attribute(model.short_description), length: 630, separator: '...') %></p>
3
+ <p class="card__desc"><%= sanitize html_truncate(translated_attribute(model.short_description), length: 630, separator: '...') %></p>
4
4
  <% content_for(:footer) do %>
5
5
  <div class="card__support">
6
6
  <% if model.active_step %>
@@ -5,7 +5,7 @@
5
5
  <%= link_to participatory_process_path(promoted_process), class: "card__link" do %>
6
6
  <h2 class="card__title"><%= translated_attribute promoted_process.title %></h2>
7
7
  <% end %>
8
- <%== html_truncate(translated_attribute(promoted_process.short_description), length: 630, separator: '...') %>
8
+ <%= sanitize html_truncate(translated_attribute(promoted_process.short_description), length: 630, separator: '...') %>
9
9
  <%= link_to participatory_process_path(promoted_process), class: "button secondary small hollow card__button" do %>
10
10
  <%= t("participatory_processes.promoted_process.more_info", scope: "layouts.decidim") %>
11
11
  <% end %>
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
  <p class="loading"><%= t('.loading') %></p>
16
16
  <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
17
- <%= render(collection) || render(partial: "no_processes_yet") %>
17
+ <%= render(collection) %>
18
18
  </div>
19
19
  </section>
20
20
  </main>
@@ -1,6 +1,6 @@
1
1
  const $grid = $('#processes-grid');
2
2
  const $loading = $grid.find('.loading');
3
3
 
4
- $grid.find('.card-grid').html('<%= j(render(collection) || render(partial: "no_processes_yet")).strip.html_safe %>');
4
+ $grid.find('.card-grid').html('<%= j(render(collection)).strip.html_safe %>');
5
5
  $grid.find('.processes-grid-order-by').html('<%= j(render(partial: "decidim/participatory_processes/order_by_processes", locals: { include_filter: true })).strip.html_safe %>');
6
6
  $loading.hide();
@@ -15,9 +15,9 @@
15
15
  <div class="columns medium-7 mediumlarge-8">
16
16
  <div class="section">
17
17
  <div class="lead">
18
- <%== translated_attribute(current_participatory_process.short_description) %>
18
+ <%= sanitize translated_attribute(current_participatory_process.short_description) %>
19
19
  </div>
20
- <%== translated_attribute(current_participatory_process.description) %>
20
+ <%= sanitize translated_attribute(current_participatory_process.description) %>
21
21
  </div>
22
22
  <%= attachments_for current_participatory_process %>
23
23
  </div>
@@ -26,7 +26,7 @@
26
26
  <% if translated_attribute(current_participatory_process.meta_scope).present? %>
27
27
  <div class="definition-data__item scope">
28
28
  <span class="definition-data__title"><%= t("participatory_processes.show.scope", scope: "decidim") %></span>
29
- <%== translated_attribute(current_participatory_process.meta_scope) %>
29
+ <%= translated_attribute(current_participatory_process.meta_scope) %>
30
30
  </div>
31
31
  <% end %>
32
32
 
@@ -47,35 +47,35 @@
47
47
  <% if translated_attribute(current_participatory_process.developer_group).present? %>
48
48
  <div class="definition-data__item developer-group">
49
49
  <span class="definition-data__title"><%= t("participatory_processes.show.developer_group", scope: "decidim") %></span>
50
- <%== translated_attribute(current_participatory_process.developer_group) %>
50
+ <%= translated_attribute(current_participatory_process.developer_group) %>
51
51
  </div>
52
52
  <% end %>
53
53
 
54
54
  <% if translated_attribute(current_participatory_process.local_area).present? %>
55
55
  <div class="definition-data__item local_area">
56
56
  <span class="definition-data__title"><%= t("participatory_processes.show.local_area", scope: "decidim") %></span>
57
- <%== translated_attribute(current_participatory_process.local_area) %>
57
+ <%= translated_attribute(current_participatory_process.local_area) %>
58
58
  </div>
59
59
  <% end %>
60
60
 
61
61
  <% if translated_attribute(current_participatory_process.target).present? %>
62
62
  <div class="definition-data__item target">
63
63
  <span class="definition-data__title"><%= t("participatory_processes.show.target", scope: "decidim") %></span>
64
- <%== translated_attribute(current_participatory_process.target) %>
64
+ <%= translated_attribute(current_participatory_process.target) %>
65
65
  </div>
66
66
  <% end %>
67
67
 
68
68
  <% if translated_attribute(current_participatory_process.participatory_scope).present? %>
69
69
  <div class="definition-data__item participatory_scope">
70
70
  <span class="definition-data__title"><%= t("participatory_processes.show.participatory_scope", scope: "decidim") %></span>
71
- <%== translated_attribute(current_participatory_process.participatory_scope) %>
71
+ <%= translated_attribute(current_participatory_process.participatory_scope) %>
72
72
  </div>
73
73
  <% end %>
74
74
 
75
75
  <% if translated_attribute(current_participatory_process.participatory_structure).present? %>
76
76
  <div class="definition-data__item participatory_structure">
77
77
  <span class="definition-data__title"><%= t("participatory_processes.show.participatory_structure", scope: "decidim") %></span>
78
- <%== translated_attribute(current_participatory_process.participatory_structure) %>
78
+ <%= translated_attribute(current_participatory_process.participatory_structure) %>
79
79
  </div>
80
80
  <% end %>
81
81
  </div>
@@ -40,7 +40,7 @@
40
40
  <div class="row column process-nav__content is-active" id="process-nav-content" data-toggler=".is-active">
41
41
  <ul>
42
42
  <li class="<%= "is-active" if is_active_link?(decidim_participatory_processes.participatory_process_path(current_participatory_process), :exclusive) %>">
43
- <%= active_link_to decidim_participatory_processes.participatory_process_path(current_participatory_process), active: :exact, class: "process-nav__link", class_active: "is-active" do %>
43
+ <%= active_link_to decidim_participatory_processes.participatory_process_path(current_participatory_process), active: :exclusive, class: "process-nav__link", class_active: "is-active" do %>
44
44
  <%= external_icon "decidim/participatory_processes/process.svg" %>
45
45
  <%= t ".process_menu_item" %>
46
46
  <% end %>
@@ -36,8 +36,8 @@
36
36
  </li>
37
37
  <% end %>
38
38
  <% if can? :read, Decidim::Attachment %>
39
- <li <% if is_active_link?(decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_process.id)) %> class="is-active" <% end %>>
40
- <%= aria_selected_link_to t("attachments", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_process.id) %>
39
+ <li <% if is_active_link?(decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_process)) %> class="is-active" <% end %>>
40
+ <%= aria_selected_link_to t("attachments", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin_participatory_processes.participatory_process_attachments_path(current_participatory_process) %>
41
41
  </li>
42
42
  <% end %>
43
43
  <% if can? :read, Decidim::ParticipatoryProcessUserRole %>
@@ -46,8 +46,8 @@
46
46
  </li>
47
47
  <% end %>
48
48
  <% if can? :read, Decidim::Moderation %>
49
- <li <% if is_active_link?(decidim_admin_participatory_processes.moderations_path(current_participatory_process.id)) %> class="is-active" <% end %>>
50
- <%= aria_selected_link_to t("moderations", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin_participatory_processes.moderations_path(current_participatory_process.id) %>
49
+ <li <% if is_active_link?(decidim_admin_participatory_processes.moderations_path(current_participatory_process)) %> class="is-active" <% end %>>
50
+ <%= aria_selected_link_to t("moderations", scope: "decidim.admin.menu.participatory_processes_submenu"), decidim_admin_participatory_processes.moderations_path(current_participatory_process) %>
51
51
  </li>
52
52
  <% end %>
53
53
  </ul>
@@ -19,12 +19,8 @@
19
19
  </div>
20
20
  </div>
21
21
  <% end %>
22
- <% end %>
23
22
 
24
- <% if try(:current_feature) %>
25
- <% current_feature.manifest.actions.each do |action| %>
26
- <%= action_authorization_modal(action) %>
27
- <% end %>
23
+ <%= render "layouts/decidim/feature_authorization_modals" %>
28
24
  <% end %>
29
25
 
30
26
  <% provide :meta_image_url, current_participatory_process.banner_image.url %>