decidim-assemblies 0.21.0 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/decidim/assemblies/assembly.svg +1 -3
- data/app/assets/javascripts/decidim/assemblies/orgchart.js.es6 +698 -0
- data/app/cells/decidim/assemblies/assembly_m/footer.erb +2 -2
- data/app/cells/decidim/assemblies/assembly_m_cell.rb +4 -0
- data/app/cells/decidim/assemblies/assembly_member/show.erb +4 -4
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +10 -11
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +1 -0
- data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +2 -1
- data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +12 -3
- data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +22 -0
- data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +46 -0
- data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +2 -1
- data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +49 -0
- data/app/controllers/decidim/assemblies/assemblies_controller.rb +5 -1
- data/app/events/decidim/assemblies/create_assembly_member_event.rb +17 -0
- data/app/events/decidim/role_assigned_to_assembly_event.rb +28 -0
- data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +14 -0
- data/app/forms/decidim/assemblies/admin/assembly_form.rb +14 -4
- data/app/helpers/decidim/assemblies/assemblies_helper.rb +6 -3
- data/app/models/decidim/assemblies_setting.rb +17 -0
- data/app/permissions/decidim/assemblies/permissions.rb +30 -1
- data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +27 -0
- data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +1 -1
- data/app/queries/decidim/assemblies/parent_assemblies_for_select.rb +20 -1
- data/app/views/decidim/assemblies/_filter_by_type.html.erb +11 -9
- data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +3 -2
- data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +10 -0
- data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +6 -0
- data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +2 -2
- data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +2 -2
- data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +3 -3
- data/app/views/decidim/assemblies/assemblies/index.html.erb +11 -8
- data/app/views/decidim/assemblies/assemblies/show.html.erb +9 -8
- data/app/views/decidim/assemblies/assembly_members/index.html.erb +1 -1
- data/app/views/layouts/decidim/admin/assemblies.html.erb +5 -0
- data/config/locales/bg-BG.yml +7 -0
- data/config/locales/ca.yml +46 -0
- data/config/locales/cs.yml +76 -30
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/de.yml +69 -0
- data/config/locales/el.yml +455 -0
- data/config/locales/en.yml +46 -0
- data/config/locales/es-MX.yml +46 -0
- data/config/locales/es-PY.yml +46 -0
- data/config/locales/es.yml +46 -0
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/fi-plain.yml +46 -0
- data/config/locales/fi.yml +47 -1
- data/config/locales/fr-CA.yml +456 -0
- data/config/locales/fr.yml +67 -0
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hu.yml +35 -2
- data/config/locales/it.yml +134 -76
- data/config/locales/ja-JP.yml +452 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lv-LV.yml +454 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/nl.yml +58 -0
- data/config/locales/no.yml +57 -10
- data/config/locales/pl.yml +212 -143
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +188 -119
- data/config/locales/ro-RO.yml +422 -0
- data/config/locales/sk-SK.yml +168 -0
- data/config/locales/sk.yml +172 -0
- data/config/locales/sl.yml +132 -0
- data/config/locales/sr-CS.yml +73 -0
- data/config/locales/sv.yml +156 -89
- data/db/migrate/20200320105906_index_foreign_keys_in_decidim_assemblies.rb +7 -0
- data/db/migrate/20200320105907_index_foreign_keys_in_decidim_assembly_user_roles.rb +7 -0
- data/db/migrate/20200416132109_remove_legacy_decidim_assembly_type.rb +8 -0
- data/db/migrate/20200430202456_create_decidim_assemblies_settings.rb +10 -0
- data/db/seeds/city.jpeg +0 -0
- data/db/seeds/city2.jpeg +0 -0
- data/lib/decidim/assemblies/admin_engine.rb +1 -0
- data/lib/decidim/assemblies/participatory_space.rb +6 -1
- data/lib/decidim/assemblies/test/factories.rb +5 -0
- data/lib/decidim/assemblies/version.rb +1 -1
- metadata +38 -8
@@ -30,8 +30,10 @@ module Decidim
|
|
30
30
|
return permission_action unless permission_action.scope == :admin
|
31
31
|
|
32
32
|
user_can_read_assembly_list?
|
33
|
+
user_can_list_assembly_list?
|
33
34
|
user_can_read_current_assembly?
|
34
35
|
user_can_create_assembly?
|
36
|
+
user_can_read_assemblies_setting?
|
35
37
|
|
36
38
|
# org admins and space admins can do everything in the admin section
|
37
39
|
org_admin_action?
|
@@ -165,6 +167,13 @@ module Decidim
|
|
165
167
|
toggle_allow(user.admin?)
|
166
168
|
end
|
167
169
|
|
170
|
+
def user_can_read_assemblies_setting?
|
171
|
+
return unless permission_action.action == :read &&
|
172
|
+
permission_action.subject == :assemblies_setting
|
173
|
+
|
174
|
+
toggle_allow(user.admin?)
|
175
|
+
end
|
176
|
+
|
168
177
|
# Everyone can read the assembly list
|
169
178
|
def user_can_read_assembly_list?
|
170
179
|
return unless read_assembly_list_permission_action?
|
@@ -172,6 +181,25 @@ module Decidim
|
|
172
181
|
toggle_allow(user.admin? || has_manageable_assemblies?)
|
173
182
|
end
|
174
183
|
|
184
|
+
# Checks whether the user can list the current given assembly or not.
|
185
|
+
#
|
186
|
+
# In case of user being admin of child assembly even parent assembly
|
187
|
+
# should be listed to be able to navigate to child assembly
|
188
|
+
def user_can_list_assembly_list?
|
189
|
+
return unless permission_action.action == :list &&
|
190
|
+
permission_action.subject == :assembly
|
191
|
+
|
192
|
+
toggle_allow(user.admin? || allowed_list_of_assemblies?)
|
193
|
+
end
|
194
|
+
|
195
|
+
def allowed_list_of_assemblies?
|
196
|
+
assemblies = AssembliesWithUserRole.for(user)
|
197
|
+
parent_assemblies = assemblies.flat_map { |assembly| [assembly.id] + assembly.ancestors.pluck(:id) }
|
198
|
+
|
199
|
+
allowed_list_of_assemblies = Decidim::Assembly.where(id: assemblies + parent_assemblies)
|
200
|
+
allowed_list_of_assemblies.uniq.member?(assembly)
|
201
|
+
end
|
202
|
+
|
175
203
|
def user_can_read_current_assembly?
|
176
204
|
return unless read_assembly_list_permission_action?
|
177
205
|
return if permission_action.subject == :assembly_list
|
@@ -239,7 +267,8 @@ module Decidim
|
|
239
267
|
:assembly,
|
240
268
|
:assembly_user_role,
|
241
269
|
:assembly_member,
|
242
|
-
:space_private_user
|
270
|
+
:space_private_user,
|
271
|
+
:assemblies_setting
|
243
272
|
].include?(permission_action.subject)
|
244
273
|
allow! if is_allowed
|
245
274
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Assemblies
|
5
|
+
module AdminLog
|
6
|
+
# This class holds the logic to present a `Decidim::AssembliesSetting`
|
7
|
+
# for the `AdminLog` log.
|
8
|
+
#
|
9
|
+
# Usage should be automatic and you shouldn't need to call this class
|
10
|
+
# directly, but here's an example:
|
11
|
+
#
|
12
|
+
# action_log = Decidim::ActionLog.last
|
13
|
+
# view_helpers # => this comes from the views
|
14
|
+
# AssembliesSettingPresenter.new(action_log, view_helpers).present
|
15
|
+
class AssembliesSettingPresenter < Decidim::Log::BasePresenter
|
16
|
+
private
|
17
|
+
|
18
|
+
def action_string
|
19
|
+
case action
|
20
|
+
when "update"
|
21
|
+
"decidim.admin_log.assembly_setting.#{action}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -38,7 +38,7 @@ module Decidim
|
|
38
38
|
|
39
39
|
def render_stats_data(component_manifest, name, data, index)
|
40
40
|
safe_join([
|
41
|
-
index.zero? ? manifest_icon(component_manifest) : " / ".html_safe,
|
41
|
+
index.zero? ? manifest_icon(component_manifest, role: "img", "aria-hidden": true) : " / ".html_safe,
|
42
42
|
content_tag(:span, "#{number_with_delimiter(data)} " + I18n.t(name, scope: "decidim.assemblies.statistics"),
|
43
43
|
class: "#{name} process_stats-text")
|
44
44
|
])
|
@@ -15,8 +15,27 @@ module Decidim
|
|
15
15
|
@assembly = assembly
|
16
16
|
end
|
17
17
|
|
18
|
+
# Finds the available assemblies
|
19
|
+
#
|
20
|
+
# Returns an ActiveRecord::Relation.
|
18
21
|
def query
|
19
|
-
Assembly.where(organization: @organization).where.not(id: @assembly)
|
22
|
+
available_assemblies = Assembly.where(organization: @organization).where.not(id: @assembly)
|
23
|
+
|
24
|
+
return available_assemblies if @assembly.blank?
|
25
|
+
|
26
|
+
available_assemblies.where.not(id: descendant_ids)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def descendant_ids
|
32
|
+
recursive_children(@assembly).flatten
|
33
|
+
end
|
34
|
+
|
35
|
+
def recursive_children(model)
|
36
|
+
model.children.map do |child|
|
37
|
+
[recursive_children(child), child.id]
|
38
|
+
end
|
20
39
|
end
|
21
40
|
end
|
22
41
|
end
|
@@ -1,17 +1,19 @@
|
|
1
1
|
<div id="assemblies-filter" class="inline-filters">
|
2
2
|
<% if available_filters.any? %>
|
3
|
+
<div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
|
4
|
+
<ul class="list-reset">
|
5
|
+
<% available_filters.each do |title, id| %>
|
6
|
+
<li>
|
7
|
+
<%= link_to filter_link(id), remote: true do %>
|
8
|
+
<%= title %>
|
9
|
+
<% end %>
|
10
|
+
</li>
|
11
|
+
<% end %>
|
12
|
+
</ul>
|
13
|
+
</div>
|
3
14
|
<label>
|
4
15
|
<span><%= help_text %></span>
|
5
16
|
<button id="button-text" data-toggle="inline-filter-sort"><%= current_filter_name %></button>
|
6
|
-
<div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
|
7
|
-
<ul class="list-reset">
|
8
|
-
<% available_filters.each do |title, id| %>
|
9
|
-
<%= link_to filter_link(id), remote: true do %>
|
10
|
-
<li><%= title %></li>
|
11
|
-
<% end %>
|
12
|
-
<% end %>
|
13
|
-
</ul>
|
14
|
-
</div>
|
15
17
|
</label>
|
16
18
|
<% end %>
|
17
19
|
</div>
|
@@ -38,11 +38,12 @@
|
|
38
38
|
</thead>
|
39
39
|
<tbody>
|
40
40
|
<% @assemblies.each do |assembly| %>
|
41
|
+
<% next unless allowed_to? :list, :assembly, assembly: assembly %>
|
41
42
|
<tr>
|
42
43
|
<td>
|
43
44
|
<% if assembly.promoted? %>
|
44
45
|
<span data-tooltip class="icon-state icon-highlight" aria-haspopup="true" data-disable-hover="false" title="<%= t("models.assembly.fields.promoted", scope: "decidim.admin") %>">
|
45
|
-
<%= icon "star" %>
|
46
|
+
<%= icon "star", role: "img", "aria-hidden": true %>
|
46
47
|
</span>
|
47
48
|
<% end %>
|
48
49
|
<% if allowed_to? :update, :assembly, assembly: assembly %>
|
@@ -58,7 +59,7 @@
|
|
58
59
|
<% end %>
|
59
60
|
</td>
|
60
61
|
<td>
|
61
|
-
<%= l(assembly.
|
62
|
+
<%= l(assembly.creation_date, format: :decidim_short) if assembly.creation_date %>
|
62
63
|
</td>
|
63
64
|
<td class="table-list__state">
|
64
65
|
<% if assembly.private_space? %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<%= decidim_form_for(@form, html: { class: "form edit_assemblies_settings" }, url: assemblies_settings_path, method: :put) do |f| %>
|
2
|
+
<%= render partial: "form", object: f %>
|
3
|
+
<div class="button--double form-general-submit">
|
4
|
+
<%= f.submit t(".update") %>
|
5
|
+
</div>
|
6
|
+
<% end %>
|
@@ -35,8 +35,8 @@
|
|
35
35
|
<%= search_field_tag :q, @query,label: false, class: "input-group-field", placeholder: t(".search") %>
|
36
36
|
<%= hidden_field_tag :status, @status %>
|
37
37
|
<div class="input-group-button">
|
38
|
-
<button type="submit" class="button
|
39
|
-
<%= icon "magnifying-glass", aria_label: t(".search") %>
|
38
|
+
<button type="submit" class="button">
|
39
|
+
<%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
|
40
40
|
</button>
|
41
41
|
</div>
|
42
42
|
</div>
|
@@ -1,9 +1,9 @@
|
|
1
1
|
<section id="parent-assemblies" class="section row collapse">
|
2
2
|
<div class="row column">
|
3
3
|
<div class="flex--sbe">
|
4
|
-
<
|
4
|
+
<h3 id="assemblies-count" class="section-heading collapse">
|
5
5
|
<%= render partial: "count" %>
|
6
|
-
</
|
6
|
+
</h3>
|
7
7
|
<%= render partial: "decidim/assemblies/filter_by_type" %>
|
8
8
|
</div>
|
9
9
|
<hr class="reset mt-s mb-s">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<
|
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">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<h2 class="card__title"><%= translated_attribute promoted_assembly.title %></h2>
|
7
7
|
<% end %>
|
8
8
|
<%= decidim_sanitize html_truncate(translated_attribute(promoted_assembly.short_description), length: 630, separator: "...") %>
|
9
|
-
<%= link_to assembly_path(promoted_assembly), class: "button
|
9
|
+
<%= link_to assembly_path(promoted_assembly), class: "button small hollow card__button" do %>
|
10
10
|
<%= t("assemblies.promoted_assembly.more_info", scope: "layouts.decidim") %>
|
11
11
|
<% end %>
|
12
12
|
</div>
|
@@ -24,4 +24,4 @@
|
|
24
24
|
</div>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
|
-
</
|
27
|
+
</div>
|
@@ -18,13 +18,16 @@ edit_link(
|
|
18
18
|
|
19
19
|
<%= render partial: "parent_assemblies" %>
|
20
20
|
|
21
|
-
|
22
|
-
<
|
23
|
-
<
|
24
|
-
|
25
|
-
<
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
<% if current_assemblies_settings.enable_organization_chart %>
|
22
|
+
<section id="assemblies-chart" class="row column section">
|
23
|
+
<div class="row column">
|
24
|
+
<h3 class="section-heading"><%= t("assemblies.index.organizational_chart", scope: "layouts.decidim") %></h3>
|
25
|
+
<div id="orgchart-<%= SecureRandom.hex(5) %>" class="card orgchart js-orgchart absolutes" data-url="<%= decidim_assemblies.assemblies_path(format: :json) %>">
|
26
|
+
<button class="medium-1 m-s top left button small hollow invisible js-reset-orgchart"><%= t("assemblies.index.reset_chart", scope: "layouts.decidim") %></button>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</section>
|
30
|
+
<% end %>
|
29
31
|
<% end %>
|
30
32
|
<%= javascript_include_tag "decidim/filters" %>
|
33
|
+
<%= javascript_include_tag "decidim/assemblies/orgchart" %>
|
@@ -47,44 +47,45 @@ edit_link(
|
|
47
47
|
translated_attribute(current_participatory_space.internal_organisation).present? ||
|
48
48
|
translated_attribute(current_participatory_space.composition).present? %>
|
49
49
|
<div class="show-more">
|
50
|
-
<button class="button
|
50
|
+
<button class="button hollow small"><%= t("read_more", scope: "decidim.assemblies.show") %></button>
|
51
51
|
</div>
|
52
52
|
|
53
53
|
<div class="hide show-more-panel">
|
54
54
|
<% if translated_attribute(current_participatory_space.purpose_of_action).present? %>
|
55
55
|
<div class="section">
|
56
|
-
<
|
56
|
+
<h3 class="section-heading"><%= t("purpose_of_action", scope: "decidim.assemblies.show") %></h3>
|
57
57
|
<%= decidim_sanitize translated_attribute(current_participatory_space.purpose_of_action) %>
|
58
58
|
</div>
|
59
59
|
<% end %>
|
60
60
|
|
61
61
|
<% if translated_attribute(current_participatory_space.internal_organisation).present? %>
|
62
62
|
<div class="section">
|
63
|
-
<
|
63
|
+
<h3 class="section-heading"><%= t("internal_organisation", scope: "decidim.assemblies.show") %></h3>
|
64
64
|
<%= decidim_sanitize translated_attribute(current_participatory_space.internal_organisation) %>
|
65
65
|
</div>
|
66
66
|
<% end %>
|
67
67
|
|
68
68
|
<% if translated_attribute(current_participatory_space.composition).present? %>
|
69
69
|
<div class="section">
|
70
|
-
<
|
70
|
+
<h3 class="section-heading"><%= t("composition", scope: "decidim.assemblies.show") %></h3>
|
71
71
|
<%= decidim_sanitize translated_attribute(current_participatory_space.composition) %>
|
72
72
|
</div>
|
73
73
|
<% end %>
|
74
74
|
<div class="section text-center">
|
75
75
|
<div class="hide-more">
|
76
|
-
<button class="button
|
76
|
+
<button class="button hollow small"><%= t("read_less", scope: "decidim.assemblies.show") %></button>
|
77
77
|
</div>
|
78
78
|
</div>
|
79
79
|
</div>
|
80
80
|
<% end %>
|
81
81
|
|
82
|
-
<%= render_hook(:current_participatory_space_meetings) %>
|
83
|
-
|
84
82
|
<%= attachments_for current_participatory_space %>
|
83
|
+
|
84
|
+
<%= render_hook(:participatory_space_highlighted_elements) %>
|
85
|
+
|
85
86
|
<% if current_participatory_space.children.visible_for(current_user).count.positive? %>
|
86
87
|
<section id="assemblies-grid" class="section row collapse">
|
87
|
-
<
|
88
|
+
<h3 class="section-heading"><%= t("children", scope: "decidim.assemblies.show") %></h3>
|
88
89
|
<div class="row small-up-1 medium-up-2 large-up-2 card-grid">
|
89
90
|
<%= render partial: "decidim/assemblies/assembly", collection: current_participatory_space.children.visible_for(current_user).published %>
|
90
91
|
</div>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<div class="section row column">
|
4
4
|
<div class="flex--sbe">
|
5
|
-
<
|
5
|
+
<h3 class="section-heading"><%= t(".members") %> <span class="text-muted">(<%= collection.size %>)</span></h3>
|
6
6
|
</div>
|
7
7
|
<div id="assembly_members-grid" class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
8
8
|
<%= render(collection) %>
|
@@ -11,6 +11,11 @@
|
|
11
11
|
<%= aria_selected_link_to I18n.t("menu.assemblies_types", scope: "decidim.admin"), decidim_admin_assemblies.assemblies_types_path %>
|
12
12
|
</li>
|
13
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 %>
|
14
19
|
</ul>
|
15
20
|
</div>
|
16
21
|
<% end %>
|
data/config/locales/ca.yml
CHANGED
@@ -101,6 +101,10 @@ ca:
|
|
101
101
|
create:
|
102
102
|
error: S'ha produït un error en duplicar aquesta assemblea.
|
103
103
|
success: L'assemblea s'ha duplicat correctament.
|
104
|
+
assemblies_settings:
|
105
|
+
update:
|
106
|
+
error: Hi ha hagut un problema actualitzant la configuració.
|
107
|
+
success: Configuració actualitzada amb èxit.
|
104
108
|
assemblies_types:
|
105
109
|
create:
|
106
110
|
error: S'ha produït un error en crear una nova assemblea.
|
@@ -161,6 +165,7 @@ ca:
|
|
161
165
|
success: L'administradora s'ha actualitzat correctament per a aquesta assemblea.
|
162
166
|
menu:
|
163
167
|
assemblies: Assemblees
|
168
|
+
assemblies_settings: Configuració
|
164
169
|
assemblies_submenu:
|
165
170
|
assembly_admins: Administradores de l'assemblea
|
166
171
|
assembly_members: Membres
|
@@ -222,6 +227,8 @@ ca:
|
|
222
227
|
create: "%{user_name} ha afegit el membre %{resource_name} a l'assemblea %{space_name}"
|
223
228
|
delete: "%{user_name} esborrat el membre %{resource_name} de l'assemblea %{space_name}"
|
224
229
|
update: "%{user_name} ha actualitzat el membre %{resource_name} de l'assemblea %{space_name}"
|
230
|
+
assembly_setting:
|
231
|
+
update: "%{user_name} ha actualitzat la configuració de les assemblees"
|
225
232
|
assembly_type:
|
226
233
|
create: "%{user_name} ha creat l'assemblea %{resource_name}"
|
227
234
|
delete: "%{user_name} ha eliminat el component %{resource_name} de l'espai %{space_name}"
|
@@ -251,6 +258,11 @@ ca:
|
|
251
258
|
social_handlers: Social
|
252
259
|
title: Informació general
|
253
260
|
visbility: Visibilitat
|
261
|
+
assemblies_settings:
|
262
|
+
edit:
|
263
|
+
update: Actualitzar
|
264
|
+
form:
|
265
|
+
title: Configuració de les assemblees
|
254
266
|
assemblies_types:
|
255
267
|
form:
|
256
268
|
title: Títol
|
@@ -310,6 +322,7 @@ ca:
|
|
310
322
|
home:
|
311
323
|
highlighted_assemblies:
|
312
324
|
active_assemblies: Assemblees actives
|
325
|
+
assemblies_button_title: Enllaç a la pàgina d'Assemblees mostrant totes les assemblees
|
313
326
|
see_all_assemblies: Veure totes les assemblees
|
314
327
|
user_profile:
|
315
328
|
member_of:
|
@@ -340,6 +353,7 @@ ca:
|
|
340
353
|
related_participatory_processes: Processos participatius relacionats
|
341
354
|
scope: Àmbit
|
342
355
|
social_networks: Xarxes socials
|
356
|
+
social_networks_title: Compartir aquesta assemblea a
|
343
357
|
target: Qui participa
|
344
358
|
statistics:
|
345
359
|
answers_count: Respostes
|
@@ -351,6 +365,7 @@ ca:
|
|
351
365
|
meetings_count: Trobades
|
352
366
|
orders_count: Suports
|
353
367
|
pages_count: Pàgines
|
368
|
+
posts_count: Publicacions
|
354
369
|
projects_count: Projectes
|
355
370
|
proposals_count: Propostes
|
356
371
|
results_count: Resultats
|
@@ -362,6 +377,24 @@ ca:
|
|
362
377
|
designated_on: Designat a
|
363
378
|
index:
|
364
379
|
title: Membres
|
380
|
+
conferences:
|
381
|
+
pages:
|
382
|
+
home:
|
383
|
+
highlighted_conferences:
|
384
|
+
conferences_button_title: Enllaç a la pàgina de Jornades mostrant totes les jornades
|
385
|
+
events:
|
386
|
+
assemblies:
|
387
|
+
create_assembly_member:
|
388
|
+
email_intro: Una administradora de la assemblea <a href="%{resource_url}">%{resource_name}</a> t'ha afegit com a un dels seus membres.
|
389
|
+
email_outro: Reps aquesta notificació perquè t'han convidat a una assemblea. Entra en <a href="%{resource_path}">assembly page</a> per a contribuir-hi!
|
390
|
+
email_subject: T'han convidat a ser membre de l'assemblea %{resource_name}!
|
391
|
+
notification_title: T'han registrat com a membre de l'assemblea <a href="%{resource_path}">%{resource_name}</a>. Entra a <a href="%{resource_path}">assembly page</a> per a contribuir-hi!
|
392
|
+
assembly:
|
393
|
+
role_assigned:
|
394
|
+
email_intro: T'han assignat el rol de %{role} a l'assemblea "%{resource_title}".
|
395
|
+
email_outro: Reps aquesta notificació perquè se t'ha assignat el rol de %{role} a l'assemblea "%{resource_title}".
|
396
|
+
email_subject: Se t'ha assignat el rol de %{role} a "%{resource_title}".
|
397
|
+
notification_title: Se t'ha assignat el rol de %{role} a l'assemblea <a href="%{resource_url}">%{resource_title}</a>.
|
365
398
|
help:
|
366
399
|
participatory_spaces:
|
367
400
|
assemblies:
|
@@ -381,6 +414,19 @@ ca:
|
|
381
414
|
description: Nombre d'assemblees creades
|
382
415
|
object: assemblees
|
383
416
|
title: Assemblees
|
417
|
+
pages:
|
418
|
+
home:
|
419
|
+
hero:
|
420
|
+
participate_title: Participa als processos de la plataforma
|
421
|
+
sub_hero:
|
422
|
+
register_title: Registra't per crear un compte a la plataforma
|
423
|
+
participatory_processes:
|
424
|
+
pages:
|
425
|
+
home:
|
426
|
+
highlighted_processes:
|
427
|
+
processes_button_title: Enllaç a la pàgina de Processos mostrant tots els processos
|
428
|
+
show:
|
429
|
+
related_assemblies: Assemblees relacionades
|
384
430
|
errors:
|
385
431
|
messages:
|
386
432
|
cannot_be_blank: no es pot estar en blanc
|