decidim-assemblies 0.23.6 → 0.24.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assembly_m_cell.rb +2 -0
  3. data/app/cells/decidim/assemblies/statistic/show.erb +9 -0
  4. data/app/cells/decidim/assemblies/statistic_cell.rb +20 -0
  5. data/app/cells/decidim/assemblies/statistics/show.erb +17 -0
  6. data/app/cells/decidim/assemblies/statistics_cell.rb +18 -0
  7. data/app/commands/decidim/assemblies/admin/create_assembly.rb +1 -0
  8. data/app/commands/decidim/assemblies/admin/update_assembly.rb +2 -1
  9. data/app/controllers/decidim/assemblies/admin/imports_controller.rb +14 -0
  10. data/app/controllers/decidim/assemblies/admin/moderations/reports_controller.rb +14 -0
  11. data/app/controllers/decidim/assemblies/assemblies_controller.rb +1 -1
  12. data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -0
  13. data/app/helpers/decidim/assemblies/admin/assemblies_admin_menu_helper.rb +15 -0
  14. data/app/models/decidim/assembly.rb +3 -3
  15. data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +35 -25
  16. data/app/queries/decidim/assemblies/organization_assemblies.rb +1 -1
  17. data/app/queries/decidim/assemblies/organization_published_assemblies.rb +1 -1
  18. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -0
  19. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +4 -0
  20. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +11 -1
  21. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +1 -1
  22. data/app/views/decidim/assemblies/assemblies/show.html.erb +1 -1
  23. data/app/views/layouts/decidim/admin/assemblies.html.erb +2 -20
  24. data/app/views/layouts/decidim/admin/assembly.html.erb +2 -1
  25. data/config/locales/ar.yml +0 -1
  26. data/config/locales/ca.yml +1 -4
  27. data/config/locales/cs.yml +11 -5
  28. data/config/locales/de.yml +9 -3
  29. data/config/locales/el.yml +0 -4
  30. data/config/locales/en.yml +9 -3
  31. data/config/locales/es-MX.yml +0 -4
  32. data/config/locales/es-PY.yml +0 -4
  33. data/config/locales/es.yml +0 -4
  34. data/config/locales/eu.yml +0 -1
  35. data/config/locales/fi-plain.yml +9 -3
  36. data/config/locales/fi.yml +9 -3
  37. data/config/locales/fr-CA.yml +9 -3
  38. data/config/locales/fr.yml +9 -3
  39. data/config/locales/gl.yml +0 -57
  40. data/config/locales/hu.yml +0 -4
  41. data/config/locales/id-ID.yml +0 -1
  42. data/config/locales/is-IS.yml +0 -1
  43. data/config/locales/it.yml +0 -4
  44. data/config/locales/ja.yml +0 -4
  45. data/config/locales/lv.yml +0 -4
  46. data/config/locales/nl.yml +9 -3
  47. data/config/locales/no.yml +0 -4
  48. data/config/locales/pl.yml +16 -10
  49. data/config/locales/pt-BR.yml +0 -1
  50. data/config/locales/pt.yml +0 -4
  51. data/config/locales/ro-RO.yml +101 -135
  52. data/config/locales/ru.yml +1 -2
  53. data/config/locales/sk.yml +0 -3
  54. data/config/locales/sl.yml +0 -1
  55. data/config/locales/sr-CS.yml +0 -3
  56. data/config/locales/sv.yml +1 -7
  57. data/config/locales/tr-TR.yml +0 -4
  58. data/config/locales/uk.yml +1 -2
  59. data/config/locales/zh-CN.yml +0 -4
  60. data/db/migrate/20210204152393_add_weight_field_to_assembly.rb +7 -0
  61. data/lib/decidim/api/assemblies_type_type.rb +16 -0
  62. data/lib/decidim/api/assembly_member_type.rb +28 -0
  63. data/lib/decidim/api/assembly_type.rb +64 -0
  64. data/lib/decidim/assemblies/admin_engine.rb +31 -1
  65. data/lib/decidim/assemblies/api.rb +9 -0
  66. data/lib/decidim/assemblies/engine.rb +3 -5
  67. data/lib/decidim/assemblies/participatory_space.rb +38 -38
  68. data/lib/decidim/assemblies/query_extensions.rb +39 -20
  69. data/lib/decidim/assemblies/test/factories.rb +5 -4
  70. data/lib/decidim/assemblies/version.rb +1 -1
  71. data/lib/decidim/assemblies.rb +1 -0
  72. metadata +24 -16
  73. data/app/types/decidim/assemblies/assemblies_type_type.rb +0 -17
  74. data/app/types/decidim/assemblies/assembly_member_type.rb +0 -29
  75. data/app/types/decidim/assemblies/assembly_type.rb +0 -67
  76. data/app/views/decidim/assemblies/assemblies/_statistics.html.erb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28af71d22b7b6abcb9496f730e23917772684417ed62c75713941a7bfdff9868
4
- data.tar.gz: dfaaff802b733d4c13724c1941e4f8d7335fb5e18ca0702f06b033e7ecf3bd5c
3
+ metadata.gz: 0ead440c8f3b5d034d6a9543e6e270a098b8e097d933d2dde4104d51b82dbe32
4
+ data.tar.gz: 5454b831fbd31c4e0e09377f48b1f7ae2f504de3bc78ab7a7ac170799c84adf0
5
5
  SHA512:
6
- metadata.gz: 122167890546c95472cd8cf2d2fdb3a981cce466c2e55e007f0c2ac62fd58c95422c14c4e0fb9f8ff7a42858973007701334d223d7762d2c0a72a2595ce76135
7
- data.tar.gz: e1fee111f814243d17db99fa91bec9e5a0ec70d2a9345d503858e2a4b5b4615477e8c98201636e5cca472aa4bd830f17afe38764ddd11494a51007f5aa01b45a
6
+ metadata.gz: 2fefbfa56da79a25cf65f8e28568ab8cef5c0d6f55c5eac710a2998cb7a3ca23ca7fc2736a0efa11df7e11d65457af7a02de35ace044440f784e862533cfdd31
7
+ data.tar.gz: e97a8b08f7f6f52d45ea8d5010af6a60b1bff32223136bb79e355f2feedf467cc5373f3f67cb5351907fd3b95cfc62701219aa353f80c4cfd208119a3c295a64
@@ -41,10 +41,12 @@ module Decidim
41
41
  end
42
42
 
43
43
  def children_count_status
44
+ # rubocop: disable Style/StringConcatenation
44
45
  content_tag(
45
46
  :strong,
46
47
  t("layouts.decidim.assemblies.index.children")
47
48
  ) + " " + children_assemblies_visible_for_user
49
+ # rubocop: enable Style/StringConcatenation
48
50
  end
49
51
 
50
52
  def children_assemblies_visible_for_user
@@ -0,0 +1,9 @@
1
+ <div class="space-stats__data">
2
+ <span class="space-stats__number">
3
+ <%= stat_number %>
4
+ </span>
5
+
6
+ <h4 class="space-stats__title">
7
+ <%= stat_title %>
8
+ </h4>
9
+ </div>
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ # This cell renders a Statistic of a Assemblies
6
+ class StatisticCell < Decidim::ViewModel
7
+ include ActionView::Helpers::NumberHelper
8
+
9
+ private
10
+
11
+ def stat_number
12
+ number_with_delimiter(model[:stat_number])
13
+ end
14
+
15
+ def stat_title
16
+ t(model[:stat_title], scope: "decidim.assemblies.statistics")
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ <section class="row statistics" id="participatory_process-statistics">
2
+ <div class="columns large-8">
3
+ <div class="row column">
4
+ <h3 class="section-heading">
5
+ <%= stats_heading %>
6
+ </h3>
7
+
8
+ <div class="space-stats">
9
+ <% if model.present? %>
10
+ <%= cell("decidim/assemblies/statistic", collection: model) %>
11
+ <% else %>
12
+ <span class="muted"><%= no_stats %></span>
13
+ <% end %>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </section>
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ # This cell renders the Statistics of an Assembly
6
+ class StatisticsCell < Decidim::ViewModel
7
+ private
8
+
9
+ def stats_heading
10
+ t("statistics.headline", scope: "decidim.assemblies")
11
+ end
12
+
13
+ def no_stats
14
+ t("statistics.no_stats", scope: "decidim.assemblies")
15
+ end
16
+ end
17
+ end
18
+ end
@@ -45,6 +45,7 @@ module Decidim
45
45
  organization: form.current_organization,
46
46
  title: form.title,
47
47
  subtitle: form.subtitle,
48
+ weight: form.weight,
48
49
  slug: form.slug,
49
50
  hashtag: form.hashtag,
50
51
  description: form.description,
@@ -94,7 +94,8 @@ module Decidim
94
94
  facebook_handler: form.facebook_handler,
95
95
  instagram_handler: form.instagram_handler,
96
96
  youtube_handler: form.youtube_handler,
97
- github_handler: form.github_handler
97
+ github_handler: form.github_handler,
98
+ weight: form.weight
98
99
  }.merge(uploader_attributes)
99
100
  end
100
101
 
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ module Admin
6
+ # This controller allows importing things.
7
+ # It is targeted for customizations for importing things that lives under
8
+ # an assembly.
9
+ class ImportsController < Decidim::Admin::ImportsController
10
+ include Concerns::AssemblyAdmin
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ module Admin
6
+ module Moderations
7
+ # This controller allows admins to manage moderation reports in an assembly.
8
+ class ReportsController < Decidim::Admin::Moderations::ReportsController
9
+ include Concerns::AssemblyAdmin
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -77,7 +77,7 @@ module Decidim
77
77
  end
78
78
 
79
79
  def parent_assemblies
80
- search.results.parent_assemblies.order(promoted: :desc)
80
+ search.results.parent_assemblies.order(weight: :asc, promoted: :desc)
81
81
  end
82
82
 
83
83
  def stats
@@ -45,6 +45,7 @@ module Decidim
45
45
  attribute :parent_id, Integer
46
46
  attribute :participatory_processes_ids, Array[Integer]
47
47
  attribute :scope_id, Integer
48
+ attribute :weight, Integer
48
49
 
49
50
  attribute :is_transparent, Boolean
50
51
  attribute :promoted, Boolean
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Assemblies
5
+ module Admin
6
+ module AssembliesAdminMenuHelper
7
+ include Decidim::Admin::SidebarMenuHelper
8
+
9
+ def admin_assemblies_menu
10
+ @admin_assemblies_menu ||= sidebar_menu(:admin_assemblies_menu)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -67,7 +67,7 @@ module Decidim
67
67
  has_many :components, as: :participatory_space, dependent: :destroy
68
68
 
69
69
  has_many :children, foreign_key: "parent_id", class_name: "Decidim::Assembly", inverse_of: :parent, dependent: :destroy
70
- belongs_to :parent, foreign_key: "parent_id", class_name: "Decidim::Assembly", inverse_of: :children, optional: true, counter_cache: :children_count
70
+ belongs_to :parent, class_name: "Decidim::Assembly", inverse_of: :children, optional: true, counter_cache: :children_count
71
71
 
72
72
  validates_upload :hero_image
73
73
  mount_uploader :hero_image, Decidim::HeroImageUploader
@@ -215,9 +215,9 @@ module Decidim
215
215
  # rubocop:disable Rails/SkipsModelValidations
216
216
  def update_children_paths
217
217
  self.class.where(
218
- ["#{self.class.table_name}.parents_path <@ :old_path AND #{self.class.table_name}.id != :id", old_path: parents_path_before_last_save, id: id]
218
+ ["#{self.class.table_name}.parents_path <@ :old_path AND #{self.class.table_name}.id != :id", { old_path: parents_path_before_last_save, id: id }]
219
219
  ).update_all(
220
- ["parents_path = :new_path || subpath(parents_path, nlevel(:old_path))", new_path: parents_path, old_path: parents_path_before_last_save]
220
+ ["parents_path = :new_path || subpath(parents_path, nlevel(:old_path))", { new_path: parents_path, old_path: parents_path_before_last_save }]
221
221
  )
222
222
  end
223
223
  # rubocop:enable Rails/SkipsModelValidations
@@ -2,46 +2,56 @@
2
2
 
3
3
  module Decidim
4
4
  module Assemblies
5
- # A presenter to render statistics in the homepage.
5
+ # A presenter to render statistics in an Assembly.
6
6
  class AssemblyStatsPresenter < Rectify::Presenter
7
7
  attribute :assembly, Decidim::Assembly
8
- include IconHelper
8
+ include Decidim::IconHelper
9
9
 
10
- # Public: Render a collection of primary stats.
11
- def highlighted
12
- highlighted_stats = component_stats(priority: StatsRegistry::HIGH_PRIORITY)
13
- highlighted_stats = highlighted_stats.concat(component_stats(priority: StatsRegistry::MEDIUM_PRIORITY))
10
+ # Public: returns a collection of stats (Hash) for the Assembly Home.
11
+ def collection
12
+ highlighted_stats = assembly_participants_stats
13
+ highlighted_stats.concat(assembly_followers_stats(priority: StatsRegistry::HIGH_PRIORITY))
14
+ highlighted_stats.concat(component_stats(priority: StatsRegistry::HIGH_PRIORITY))
15
+ highlighted_stats.concat(component_stats(priority: StatsRegistry::MEDIUM_PRIORITY))
14
16
  highlighted_stats = highlighted_stats.reject(&:empty?)
15
- highlighted_stats = highlighted_stats.reject { |_manifest, _name, data| data.zero? }
16
- grouped_highlighted_stats = highlighted_stats.group_by { |stats| stats.first.name }
17
-
18
- safe_join(
19
- grouped_highlighted_stats.map do |_manifest_name, stats|
20
- content_tag :div, class: "process_stats-item" do
21
- safe_join(
22
- stats.each_with_index.map do |stat, index|
23
- render_stats_data(stat[0], stat[1], stat[2], index)
24
- end
25
- )
17
+ highlighted_stats = highlighted_stats.reject { |_stat_manifest, _stat_title, stat_number| stat_number.zero? }
18
+ grouped_highlighted_stats = highlighted_stats.group_by(&:first)
19
+
20
+ statistics = []
21
+ grouped_highlighted_stats.each do |_manifest_name, stats|
22
+ stats.each_with_index.each do |stat, _index|
23
+ stat.each_with_index.map do |_item, subindex|
24
+ next unless (subindex % 3).zero?
25
+ next if stat[subindex + 2].zero?
26
+
27
+ statistics << { stat_title: stat[subindex + 1], stat_number: stat[subindex + 2] }
26
28
  end
27
29
  end
28
- )
30
+ end
31
+ statistics
29
32
  end
30
33
 
31
34
  private
32
35
 
36
+ def assembly_participants_stats
37
+ Decidim.stats.only([:participants_count]).with_context(assembly)
38
+ .map { |stat_title, stat_number| [assembly.manifest.name, stat_title, stat_number] }
39
+ end
40
+
33
41
  def component_stats(conditions)
34
42
  Decidim.component_manifests.map do |component_manifest|
35
- component_manifest.stats.filter(conditions).with_context(published_components).map { |name, data| [component_manifest, name, data] }.flatten
43
+ component_manifest.stats.except([:proposals_accepted])
44
+ .filter(conditions)
45
+ .with_context(published_components)
46
+ .map { |stat_title, stat_number| [component_manifest.name, stat_title, stat_number] }.flatten
36
47
  end
37
48
  end
38
49
 
39
- def render_stats_data(component_manifest, name, data, index)
40
- safe_join([
41
- index.zero? ? manifest_icon(component_manifest, role: "img", "aria-hidden": true) : " /&nbsp".html_safe,
42
- content_tag(:span, "#{number_with_delimiter(data)} " + I18n.t(name, scope: "decidim.assemblies.statistics"),
43
- class: "#{name} process_stats-text")
44
- ])
50
+ def assembly_followers_stats(conditions)
51
+ Decidim.stats.only([:followers_count])
52
+ .filter(conditions)
53
+ .with_context(assembly)
54
+ .map { |stat_title, stat_number| [assembly.manifest.name, stat_title, stat_number] }
45
55
  end
46
56
 
47
57
  def published_components
@@ -9,7 +9,7 @@ module Decidim
9
9
  end
10
10
 
11
11
  def query
12
- Decidim::Assembly.where(organization: @organization)
12
+ Decidim::Assembly.where(organization: @organization).order(weight: :asc)
13
13
  end
14
14
  end
15
15
  end
@@ -14,7 +14,7 @@ module Decidim
14
14
  OrganizationAssemblies.new(@organization),
15
15
  PublishedAssemblies.new,
16
16
  VisibleAssemblies.new(@user)
17
- ).query
17
+ ).query.order(weight: :asc)
18
18
  end
19
19
  end
20
20
  end
@@ -22,6 +22,7 @@ module Decidim
22
22
  decidim_organization_id: assembly.decidim_organization_id,
23
23
  title: assembly.title,
24
24
  subtitle: assembly.subtitle,
25
+ weight: assembly.weight,
25
26
  short_description: assembly.short_description,
26
27
  description: assembly.description,
27
28
  remote_hero_image_url: Decidim::Assemblies::AssemblyPresenter.new(assembly).hero_image_url,
@@ -14,6 +14,10 @@
14
14
  <%= form.translated :text_field, :subtitle %>
15
15
  </div>
16
16
 
17
+ <div class="row column">
18
+ <%= form.number_field :weight %>
19
+ </div>
20
+
17
21
  <div class="row">
18
22
  <div class="columns xlarge-6 slug">
19
23
  <%= form.text_field :slug %>
@@ -65,7 +65,7 @@
65
65
  <% end %>
66
66
  </td>
67
67
  <td>
68
- <%= l(assembly.creation_date, format: :decidim_short) if assembly.creation_date %>
68
+ <%= l(assembly.created_at, format: :short) %>
69
69
  </td>
70
70
  <td class="table-list__state">
71
71
  <% if assembly.private_space? %>
@@ -84,14 +84,20 @@
84
84
  <td class="table-list__actions">
85
85
  <% if allowed_to? :create, :assembly, assembly: assembly %>
86
86
  <%= icon_link_to "data-transfer-download", assembly_export_path(assembly), t("actions.export", scope: "decidim.admin"), method: :post, class: "action-icon--export" %>
87
+ <% else %>
88
+ <span class="action-space icon"></span>
87
89
  <% end %>
88
90
 
89
91
  <% if allowed_to? :create, :assembly, assembly: assembly %>
90
92
  <%= icon_link_to "clipboard", new_assembly_copy_path(assembly), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
93
+ <% else %>
94
+ <span class="action-space icon"></span>
91
95
  <% end %>
92
96
 
93
97
  <% if allowed_to? :update, :assembly, assembly: assembly %>
94
98
  <%= icon_link_to "pencil", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
99
+ <% else %>
100
+ <span class="action-space icon"></span>
95
101
  <% end %>
96
102
 
97
103
  <% if assembly.children.count.positive? || allowed_to?(:create, :assembly) %>
@@ -99,10 +105,14 @@
99
105
  url_for(query_params_with(parent_id_eq: assembly.id)),
100
106
  t("decidim.admin.titles.assemblies"),
101
107
  class: "action-icon--dial #{'highlighted' if assembly.children.count.positive?}" %>
108
+ <% else %>
109
+ <span class="action-space icon"></span>
102
110
  <% end %>
103
111
 
104
112
  <% if allowed_to? :preview, :assembly, assembly: assembly %>
105
113
  <%= icon_link_to "eye", decidim_assemblies.assembly_path(assembly), t("actions.preview", scope: "decidim.admin"), class: "action-icon--preview" %>
114
+ <% else %>
115
+ <span class="action-space icon"></span>
106
116
  <% end %>
107
117
  </td>
108
118
  </tr>
@@ -3,7 +3,7 @@
3
3
  <h2 class="card-title">
4
4
  <%= t "decidim.admin.titles.assemblies_types" %>
5
5
  <%= link_to t("actions.new_assembly_type", scope: "decidim.admin"),
6
- [:new, :assemblies_type],
6
+ ["new", "assemblies_type"],
7
7
  class: "button tiny button--title" if allowed_to? :create, :assembly_type %>
8
8
  </h2>
9
9
  </div>
@@ -214,7 +214,7 @@ edit_link(
214
214
  </div>
215
215
 
216
216
  <% if current_participatory_space.show_statistics? %>
217
- <%= render partial: "statistics" %>
217
+ <%= cell "decidim/assemblies/statistics", stats.collection %>
218
218
  <% end %>
219
219
  </div>
220
220
 
@@ -1,23 +1,5 @@
1
- <% content_for :secondary_nav do %>
2
- <div class="secondary-nav secondary-nav--subnav">
3
- <ul>
4
- <% if allowed_to?(:read, :assembly_list) %>
5
- <li <% if is_active_link?(decidim_admin_assemblies.assemblies_path) %> class="is-active" <% end %>>
6
- <%= aria_selected_link_to I18n.t("menu.assemblies", scope: "decidim.admin"), decidim_admin_assemblies.assemblies_path %>
7
- </li>
8
- <% end %>
9
- <% if allowed_to?(:manage, :assemblies_type) %>
10
- <li <% if is_active_link?(decidim_admin_assemblies.assemblies_types_path) %> class="is-active" <% end %>>
11
- <%= aria_selected_link_to I18n.t("menu.assemblies_types", scope: "decidim.admin"), decidim_admin_assemblies.assemblies_types_path %>
12
- </li>
13
- <% end %>
14
- <% if allowed_to?(:read, :assemblies_setting) %>
15
- <li <% if is_active_link?(decidim_admin_assemblies.edit_assemblies_settings_path) %> class="is-active" <% end %>>
16
- <%= aria_selected_link_to I18n.t("menu.assemblies_settings", scope: "decidim.admin"), decidim_admin_assemblies.edit_assemblies_settings_path %>
17
- </li>
18
- <% end %>
19
- </ul>
20
- </div>
1
+ <% content_for :sidebar_menu_nav do %>
2
+ <%= admin_assemblies_menu.render %>
21
3
  <% end %>
22
4
 
23
5
  <%= render "layouts/decidim/admin/application" do %>
@@ -13,7 +13,7 @@
13
13
  <ul id="components-list">
14
14
  <% current_participatory_space.components.each do |component| %>
15
15
  <% if component.manifest.admin_engine && user_role_config.component_is_accessible?(component.manifest_name) %>
16
- <li <% if is_active_link?(manage_component_path(component)) || is_active_link?(decidim_admin_assemblies.edit_component_path(current_participatory_space, component)) || is_active_link?(decidim_admin_assemblies.edit_component_permissions_path(current_participatory_space, component)) %> class="is-active" <% end %>>
16
+ <li <% if is_active_link?(manage_component_path(component)) || is_active_link?(decidim_admin_assemblies.edit_component_path(current_participatory_space, component)) || is_active_link?(decidim_admin_assemblies.edit_component_permissions_path(current_participatory_space, component)) || participatory_space_active_link?(component) %> class="is-active" <% end %>>
17
17
  <%= link_to manage_component_path(component) do %>
18
18
  <%= translated_attribute component.name %>
19
19
  <% if component.primary_stat.present? %>
@@ -68,6 +68,7 @@
68
68
  <%= aria_selected_link_to t("moderations", scope: "decidim.admin.menu.assemblies_submenu"), decidim_admin_assemblies.moderations_path(current_participatory_space) %>
69
69
  </li>
70
70
  <% end %>
71
+ <%= Decidim::Admin.view_hooks.render(:admin_secondary_nav, deep_dup) %>
71
72
  </ul>
72
73
  </div>
73
74
  <% end %>
@@ -353,7 +353,6 @@ ar:
353
353
  comments_count: تعليقات
354
354
  debates_count: مناقشات
355
355
  endorsements_count: موافقات
356
- headline: نشاط
357
356
  meetings_count: اجتماعات
358
357
  orders_count: تأييدات
359
358
  pages_count: صفحات
@@ -52,6 +52,7 @@ ca:
52
52
  target: Qui participa
53
53
  title: Títol
54
54
  twitter: Twitter
55
+ weight: Pes
55
56
  youtube: YouTube
56
57
  assembly_member:
57
58
  birthday: Aniversari
@@ -249,7 +250,6 @@ ca:
249
250
  update: "%{user_name} ha actualitzat la configuració de les assemblees"
250
251
  assembly_type:
251
252
  create: "%{user_name} ha creat l'assemblea %{resource_name}"
252
- delete: "%{user_name} ha eliminat el component %{resource_name} de l'espai %{space_name}"
253
253
  publish: "%{user_name} ha publicat el tipus d'assemblea %{resource_name}"
254
254
  unpublish: "%{user_name} ha despublicat el tipus d'assemblea %{resource_name}"
255
255
  update: "%{user_name} ha actualitzat el tipus d'assemblea %{resource_name}"
@@ -386,7 +386,6 @@ ca:
386
386
  comments_count: Comentaris
387
387
  debates_count: Debats
388
388
  endorsements_count: Adhesions
389
- headline: Activitat
390
389
  meetings_count: Trobades
391
390
  orders_count: Suports
392
391
  pages_count: Pàgines
@@ -443,8 +442,6 @@ ca:
443
442
  home:
444
443
  hero:
445
444
  participate_title: Participa als processos de la plataforma
446
- sub_hero:
447
- register_title: Registra't per crear un compte a la plataforma
448
445
  participatory_processes:
449
446
  pages:
450
447
  home:
@@ -32,7 +32,7 @@ cs:
32
32
  instagram: Instagram
33
33
  internal_organisation: Vnitřní organizace
34
34
  is_transparent: Transparentní
35
- local_area: Oblast působnosti organizace
35
+ local_area: Oblast organizace
36
36
  meta_scope: Metadata Oblasti působnosti
37
37
  parent_id: Nadřazené shromáždění
38
38
  participatory_processes_ids: Související participativní procesy
@@ -52,6 +52,7 @@ cs:
52
52
  target: Kdo se účastní
53
53
  title: Titul
54
54
  twitter: Twitter
55
+ weight: Váha
55
56
  youtube: Youtube
56
57
  assembly_member:
57
58
  birthday: Narozeniny
@@ -255,7 +256,7 @@ cs:
255
256
  update: "%{user_name} aktualizoval nastavení Shromáždění"
256
257
  assembly_type:
257
258
  create: "%{user_name} vytvořil typ shromáždění %{resource_name}"
258
- delete: "%{user_name} odstranil člena %{resource_name} z typu shromáždění %{space_name}"
259
+ delete: "%{user_name} odstranil typ shromáždění %{resource_name}"
259
260
  publish: "%{user_name} publikoval typ shromáždění %{resource_name}"
260
261
  unpublish: "%{user_name} zneveřejnil typ shromáždění %{resource_name}"
261
262
  update: "%{user_name} aktualizoval typ shromáždění %{resource_name}"
@@ -374,7 +375,7 @@ cs:
374
375
  is_transparent:
375
376
  'false': neprůhledný
376
377
  'true': transparentní
377
- local_area: Oblast působnosti organizace
378
+ local_area: Oblast organizace
378
379
  participatory_scope: Co se rozhodlo
379
380
  participatory_structure: Jak se o tom rozhoduje
380
381
  private_space: Toto je soukromé shromáždění
@@ -392,14 +393,19 @@ cs:
392
393
  comments_count: Komentáře
393
394
  debates_count: Debaty
394
395
  endorsements_count: Schválení
395
- headline: Aktivita
396
+ followers_count: Sledující
397
+ headline: Statistiky
396
398
  meetings_count: Setkání
399
+ no_stats: Zatím nejsou žádné statistiky.
397
400
  orders_count: Hlasy
398
401
  pages_count: Stránky
402
+ participants_count: Účastníci
399
403
  posts_count: Příspěvky
404
+ processes_count: Procesy
400
405
  projects_count: Projekty
401
406
  proposals_count: Návrhy
402
407
  results_count: Výsledky
408
+ supports_count: Podpory
403
409
  surveys_count: Průzkumy
404
410
  users_count: Účastníci
405
411
  votes_count: Hlasy
@@ -450,7 +456,7 @@ cs:
450
456
  hero:
451
457
  participate_title: Účast na procesech platformy
452
458
  sub_hero:
453
- register_title: Přihlaste se k vytvoření účtu na platformě
459
+ register_title: Zaregistrujte se pro vytvoření účtu
454
460
  participatory_processes:
455
461
  pages:
456
462
  home:
@@ -52,6 +52,7 @@ de:
52
52
  target: Wer nimmt teil?
53
53
  title: Titel
54
54
  twitter: Twitter
55
+ weight: Gewicht
55
56
  youtube: Youtube
56
57
  assembly_member:
57
58
  birthday: Geburtstag
@@ -249,7 +250,7 @@ de:
249
250
  update: "%{user_name} hat die Gremieneinstellungen aktualisiert"
250
251
  assembly_type:
251
252
  create: "%{user_name} hat den Gremientyp %{resource_name} erstellt"
252
- delete: "%{user_name} hat das Mitglied %{resource_name} aus dem Gremientyp %{space_name} entfernt"
253
+ delete: "%{user_name} hat den Gremientyp %{resource_name} entfernt"
253
254
  publish: "%{user_name} hat den Gremientyp %{resource_name} veröffentlicht"
254
255
  unpublish: "%{user_name} hat den Gremientyp %{resource_name} auf \"unveröffentlicht\" gesetzt"
255
256
  update: "%{user_name} hat den Gremientyp %{resource_name} aktualisiert"
@@ -386,14 +387,19 @@ de:
386
387
  comments_count: Bemerkungen
387
388
  debates_count: Debatten
388
389
  endorsements_count: Empfehlungen
389
- headline: Aktivität
390
+ followers_count: Beobachter
391
+ headline: Statistiken
390
392
  meetings_count: Meetings
393
+ no_stats: Noch keine Statistik vorhanden.
391
394
  orders_count: Stimmen
392
395
  pages_count: Seiten
396
+ participants_count: Teilnehmer
393
397
  posts_count: Beiträge
398
+ processes_count: Prozesse
394
399
  projects_count: Projekte
395
400
  proposals_count: Vorschläge
396
401
  results_count: Ergebnisse
402
+ supports_count: Unterstützungen
397
403
  surveys_count: Umfragen
398
404
  users_count: Teilnehmer
399
405
  votes_count: Stimmen
@@ -444,7 +450,7 @@ de:
444
450
  hero:
445
451
  participate_title: Nehmen Sie an den Prozessen der Plattform teil
446
452
  sub_hero:
447
- register_title: Registrieren Sie sich, um ein Konto auf der Plattform zu erstellen
453
+ register_title: Benutzerkonto registrieren
448
454
  participatory_processes:
449
455
  pages:
450
456
  home:
@@ -246,7 +246,6 @@ el:
246
246
  update: "Ο χρήστης %{user_name} ενημέρωσε τις ρυθμίσεις των συνελεύσεων"
247
247
  assembly_type:
248
248
  create: "Ο χρήστης %{user_name} δημιούργησε τον τύπο συνέλευσης %{resource_name}"
249
- delete: "Ο χρήστης %{user_name} κατάργησε το μέλος %{resource_name} από τον τύπο συνέλευσης %{space_name}"
250
249
  publish: "Ο χρήστης %{user_name} δημοσίευσε τον τύπο συνέλευσης %{resource_name}"
251
250
  unpublish: "Ο χρήστης %{user_name} κατάργησε τη δημοσίευση του τύπου συνέλευσης %{resource_name}"
252
251
  update: "Ο χρήστης %{user_name} ενημέρωσε τον τύπο συνέλευσης %{resource_name}"
@@ -380,7 +379,6 @@ el:
380
379
  comments_count: Σχόλια
381
380
  debates_count: Συζητήσεις
382
381
  endorsements_count: Επιδοκιμασίες
383
- headline: Δραστηριότητα
384
382
  meetings_count: Συσκέψεις
385
383
  orders_count: Υποστηρίξεις
386
384
  pages_count: Σελίδες
@@ -437,8 +435,6 @@ el:
437
435
  home:
438
436
  hero:
439
437
  participate_title: Συμμετάσχετε στις διαδικασίες της πλατφόρμας
440
- sub_hero:
441
- register_title: Εγγραφείτε για να δημιουργήσετε έναν λογαριασμό στην πλατφόρμα
442
438
  participatory_processes:
443
439
  pages:
444
440
  home: