decidim-assemblies 0.21.0 → 0.22.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.
- 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
|