decidim-participatory_processes 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 %>