decidim-admin 0.27.0 → 0.27.2
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/commands/decidim/admin/unblock_user.rb +1 -1
- data/app/controllers/decidim/admin/block_user_controller.rb +3 -3
- data/app/controllers/decidim/admin/newsletter_templates_controller.rb +1 -1
- data/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_controller.rb +1 -0
- data/app/forms/decidim/admin/block_user_form.rb +2 -2
- data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +3 -1
- data/app/forms/decidim/admin/user_group_csv_verification_form.rb +10 -0
- data/app/helpers/decidim/admin/bulk_actions_helper.rb +1 -6
- data/app/models/decidim/admin/fake_newsletter.rb +20 -0
- data/app/packs/stylesheets/decidim/admin/extra/_quill.scss +7 -0
- data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +0 -1
- data/app/permissions/decidim/admin/permissions.rb +32 -2
- data/app/views/decidim/admin/dashboard/show.html.erb +1 -1
- data/app/views/decidim/admin/imports/new.html.erb +1 -1
- data/app/views/decidim/admin/moderated_users/index.html.erb +1 -1
- data/app/views/decidim/admin/moderations/index.html.erb +8 -4
- data/app/views/decidim/admin/moderations/reports/index.html.erb +5 -1
- data/config/locales/ar.yml +17 -13
- data/config/locales/ca.yml +26 -6
- data/config/locales/cs.yml +23 -3
- data/config/locales/de.yml +14 -4
- data/config/locales/el.yml +0 -1
- data/config/locales/en.yml +21 -1
- data/config/locales/es-MX.yml +23 -3
- data/config/locales/es-PY.yml +23 -3
- data/config/locales/es.yml +26 -6
- data/config/locales/eu.yml +42 -11
- data/config/locales/fi-plain.yml +24 -4
- data/config/locales/fi.yml +26 -6
- data/config/locales/fr-CA.yml +23 -3
- data/config/locales/fr.yml +23 -3
- data/config/locales/gl.yml +0 -1
- data/config/locales/gn-PY.yml +1 -0
- data/config/locales/hu.yml +2 -2
- data/config/locales/id-ID.yml +4 -1
- data/config/locales/is-IS.yml +4 -1
- data/config/locales/it.yml +1 -2
- data/config/locales/ja.yml +22 -2
- data/config/locales/ka-GE.yml +1 -0
- data/config/locales/lb.yml +0 -1
- data/config/locales/lo-LA.yml +1 -0
- data/config/locales/lt.yml +1 -2
- data/config/locales/lv.yml +1 -1
- data/config/locales/nl.yml +1 -2
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/pt-BR.yml +1 -2
- data/config/locales/pt.yml +0 -1
- data/config/locales/ro-RO.yml +47 -5
- data/config/locales/ru.yml +4 -1
- data/config/locales/sk.yml +1 -1
- data/config/locales/sr-CS.yml +8 -0
- data/config/locales/sv.yml +23 -3
- data/config/locales/tr-TR.yml +2 -1
- data/config/locales/uk.yml +4 -1
- data/config/locales/zh-CN.yml +1 -1
- data/lib/decidim/admin/engine.rb +11 -1
- data/lib/decidim/admin/test/manage_moderations_examples.rb +79 -1
- data/lib/decidim/admin/version.rb +1 -1
- metadata +12 -10
- data/app/packs/stylesheets/decidim/admin/modules/_import_result.scss +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 96f7bcf42a9c331fbef56cee041ad7950157b1f5d1a3080fdcb0c144e812608e
|
|
4
|
+
data.tar.gz: 98476b2e39ac843d547b06c8a13727f1b2a3b53b7cca810aeab9a288ae5b9c19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d1b7a5302a53fc2ae93cd6ed4c47665b317f8ff8ad049057d8df7c15574ed6e9ac6af8d16356cb8c31611532c46352b69d2e4c4efa1c1551b11f7f1a8a8f567d
|
|
7
|
+
data.tar.gz: 86b7067f4605ba15733b3c29873563c94d2c51023d92c309119c73a9a50acb5cdebbc9277c0927616250c3a54b1fc293aed8c3d0d33e4f58d2bcf5f43742a79f
|
|
@@ -39,7 +39,7 @@ module Decidim
|
|
|
39
39
|
@blocked_user.blocked = false
|
|
40
40
|
@blocked_user.blocked_at = nil
|
|
41
41
|
@blocked_user.block_id = nil
|
|
42
|
-
@blocked_user.name = @blocked_user.user_name
|
|
42
|
+
@blocked_user.name = @blocked_user.extended_data["user_name"]
|
|
43
43
|
@blocked_user.save!
|
|
44
44
|
end
|
|
45
45
|
end
|
|
@@ -21,7 +21,7 @@ module Decidim
|
|
|
21
21
|
BlockUser.call(@form) do
|
|
22
22
|
on(:ok) do
|
|
23
23
|
flash[:notice] = I18n.t("officializations.block.success", scope: "decidim.admin")
|
|
24
|
-
redirect_to
|
|
24
|
+
redirect_to moderated_users_path(blocked: true)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
on(:invalid) do
|
|
@@ -44,13 +44,13 @@ module Decidim
|
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
redirect_to
|
|
47
|
+
redirect_to moderated_users_path(blocked: false)
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
private
|
|
51
51
|
|
|
52
52
|
def user
|
|
53
|
-
@user ||= Decidim::
|
|
53
|
+
@user ||= Decidim::UserBaseEntity.find_by(
|
|
54
54
|
id: params[:user_id],
|
|
55
55
|
organization: current_organization
|
|
56
56
|
)
|
|
@@ -15,7 +15,7 @@ module Decidim
|
|
|
15
15
|
def show; end
|
|
16
16
|
|
|
17
17
|
def preview
|
|
18
|
-
email = NewsletterMailer.newsletter(current_user, fake_newsletter)
|
|
18
|
+
email = NewsletterMailer.newsletter(current_user, fake_newsletter, preview: true)
|
|
19
19
|
Premailer::Rails::Hook.perform(email)
|
|
20
20
|
render html: email.html_part.body.decoded.html_safe
|
|
21
21
|
end
|
|
@@ -28,7 +28,7 @@ module Decidim
|
|
|
28
28
|
def preview
|
|
29
29
|
enforce_permission_to :read, :newsletter, newsletter: newsletter
|
|
30
30
|
|
|
31
|
-
email = NewsletterMailer.newsletter(current_user, newsletter)
|
|
31
|
+
email = NewsletterMailer.newsletter(current_user, newsletter, preview: true)
|
|
32
32
|
Premailer::Rails::Hook.perform(email)
|
|
33
33
|
render html: email.html_part.body.decoded.html_safe
|
|
34
34
|
end
|
|
@@ -15,6 +15,7 @@ module Decidim
|
|
|
15
15
|
def update
|
|
16
16
|
enforce_permission_to :update, :organization, organization: current_organization
|
|
17
17
|
@form = form(OrganizationForm).from_params(params)
|
|
18
|
+
@form.id = current_organization.id
|
|
18
19
|
|
|
19
20
|
UpdateOrganization.call(current_organization, @form) do
|
|
20
21
|
on(:ok) do
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Admin
|
|
5
|
-
# A form object used to
|
|
5
|
+
# A form object used to block users or user groups on the admin dashboard.
|
|
6
6
|
class BlockUserForm < Form
|
|
7
7
|
attribute :user_id, Integer
|
|
8
8
|
attribute :justification, String
|
|
@@ -15,7 +15,7 @@ module Decidim
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def user
|
|
18
|
-
@user ||= Decidim::
|
|
18
|
+
@user ||= Decidim::UserBaseEntity.find_by(
|
|
19
19
|
id: user_id,
|
|
20
20
|
organization: current_organization
|
|
21
21
|
)
|
|
@@ -21,10 +21,12 @@ module Decidim
|
|
|
21
21
|
return if file.blank?
|
|
22
22
|
|
|
23
23
|
process_file_locally(file) do |file_path|
|
|
24
|
-
CSV.foreach(file_path) do |_email, user_name|
|
|
24
|
+
CSV.foreach(file_path, encoding: "BOM|UTF-8") do |_email, user_name|
|
|
25
25
|
errors.add(:user_name, :invalid) unless user_name.match?(UserBaseEntity::REGEXP_NAME)
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
|
+
rescue CSV::MalformedCSVError
|
|
29
|
+
errors.add(:file, :malformed)
|
|
28
30
|
end
|
|
29
31
|
end
|
|
30
32
|
end
|
|
@@ -6,10 +6,20 @@ module Decidim
|
|
|
6
6
|
#
|
|
7
7
|
class UserGroupCsvVerificationForm < Form
|
|
8
8
|
include Decidim::HasUploadValidations
|
|
9
|
+
include Decidim::ProcessesFileLocally
|
|
9
10
|
|
|
10
11
|
attribute :file, Decidim::Attributes::Blob
|
|
11
12
|
|
|
12
13
|
validates :file, presence: true, file_content_type: { allow: ["text/csv"] }
|
|
14
|
+
validate :validate_csv, unless: ->(f) { f.file.blank? }
|
|
15
|
+
|
|
16
|
+
def validate_csv
|
|
17
|
+
process_file_locally(file) do |file_path|
|
|
18
|
+
CSV.open(file_path, &:readline)
|
|
19
|
+
end
|
|
20
|
+
rescue CSV::MalformedCSVError
|
|
21
|
+
errors.add(:file, :malformed)
|
|
22
|
+
end
|
|
13
23
|
end
|
|
14
24
|
end
|
|
15
25
|
end
|
|
@@ -10,9 +10,8 @@ module Decidim
|
|
|
10
10
|
# Returns a String.
|
|
11
11
|
def bulk_categories_select(collection)
|
|
12
12
|
categories = bulk_categories_for_select collection
|
|
13
|
-
disabled = bulk_disabled_categories_for collection
|
|
14
13
|
prompt = t("decidim.proposals.admin.proposals.index.change_category")
|
|
15
|
-
select(:category, :id, options_for_select(categories, selected: []
|
|
14
|
+
select(:category, :id, options_for_select(categories, selected: []), prompt: prompt)
|
|
16
15
|
end
|
|
17
16
|
|
|
18
17
|
def bulk_categories_for_select(scope)
|
|
@@ -35,10 +34,6 @@ module Decidim
|
|
|
35
34
|
end
|
|
36
35
|
end
|
|
37
36
|
|
|
38
|
-
def bulk_disabled_categories_for(scope)
|
|
39
|
-
scope.first_class.joins(:subcategories).pluck(:id)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
37
|
# Public: Generates a select field with the components.
|
|
43
38
|
#
|
|
44
39
|
# siblings - A collection of components.
|
|
@@ -41,6 +41,26 @@ module Decidim
|
|
|
41
41
|
nil
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
+
def draft?
|
|
45
|
+
true
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def url(**_)
|
|
49
|
+
"#"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def notifications_settings_url(**_)
|
|
53
|
+
"#"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def unsubscribe_newsletters_url(**_)
|
|
57
|
+
"#"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def organization_official_url
|
|
61
|
+
"#"
|
|
62
|
+
end
|
|
63
|
+
|
|
44
64
|
private
|
|
45
65
|
|
|
46
66
|
attr_reader :organization, :manifest
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
@import "stylesheets/decidim/admin/modules/agenda";
|
|
31
31
|
@import "stylesheets/decidim/admin/modules/draggable-list";
|
|
32
32
|
@import "stylesheets/decidim/admin/modules/loading-spinner";
|
|
33
|
-
@import "stylesheets/decidim/admin/modules/import_result";
|
|
34
33
|
@import "stylesheets/decidim/admin/modules/reveal";
|
|
35
34
|
@import "stylesheets/decidim/admin/modules/upload_modal";
|
|
36
35
|
|
|
@@ -29,12 +29,14 @@ module Decidim
|
|
|
29
29
|
read_admin_dashboard_action?
|
|
30
30
|
apply_newsletter_permissions_for_admin!
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
apply_global_moderations_permission_for_admin!
|
|
33
33
|
|
|
34
34
|
if user.admin? && admin_terms_accepted?
|
|
35
35
|
allow! if read_admin_log_action?
|
|
36
|
+
allow! if read_user_statistics_action?
|
|
36
37
|
allow! if read_metrics_action?
|
|
37
38
|
allow! if static_page_action?
|
|
39
|
+
allow! if templates_action?
|
|
38
40
|
allow! if organization_action?
|
|
39
41
|
allow! if user_action?
|
|
40
42
|
|
|
@@ -77,6 +79,23 @@ module Decidim
|
|
|
77
79
|
toggle_allow(user.admin? || space_allows_admin_access_to_current_action?)
|
|
78
80
|
end
|
|
79
81
|
|
|
82
|
+
def apply_global_moderations_permission_for_admin!
|
|
83
|
+
return unless admin_terms_accepted?
|
|
84
|
+
return unless permission_action.subject == :global_moderation
|
|
85
|
+
return allow! if user.admin?
|
|
86
|
+
|
|
87
|
+
return allow! if Decidim.participatory_space_manifests.flat_map.any? do |manifest|
|
|
88
|
+
Decidim
|
|
89
|
+
.find_participatory_space_manifest(manifest.name)
|
|
90
|
+
.participatory_spaces
|
|
91
|
+
.call(user.organization)&.any? do |space|
|
|
92
|
+
space.respond_to?(:user_roles) && space.user_roles(:admin).where(user: user).or(space.user_roles(:moderator).where(user: user)).any?
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
disallow!
|
|
97
|
+
end
|
|
98
|
+
|
|
80
99
|
def apply_newsletter_permissions_for_admin!
|
|
81
100
|
return unless admin_terms_accepted?
|
|
82
101
|
return unless permission_action.subject == :newsletter
|
|
@@ -102,6 +121,11 @@ module Decidim
|
|
|
102
121
|
end
|
|
103
122
|
end
|
|
104
123
|
|
|
124
|
+
def read_user_statistics_action?
|
|
125
|
+
permission_action.subject == :users_statistics &&
|
|
126
|
+
permission_action.action == :read
|
|
127
|
+
end
|
|
128
|
+
|
|
105
129
|
def read_metrics_action?
|
|
106
130
|
permission_action.subject == :metrics &&
|
|
107
131
|
permission_action.action == :read
|
|
@@ -129,6 +153,11 @@ module Decidim
|
|
|
129
153
|
end
|
|
130
154
|
end
|
|
131
155
|
|
|
156
|
+
def templates_action?
|
|
157
|
+
permission_action.subject == :templates &&
|
|
158
|
+
permission_action.action == :read
|
|
159
|
+
end
|
|
160
|
+
|
|
132
161
|
def organization_action?
|
|
133
162
|
return unless permission_action.subject == :organization
|
|
134
163
|
return unless permission_action.action == :update
|
|
@@ -140,6 +169,7 @@ module Decidim
|
|
|
140
169
|
return unless permission_action.subject == :managed_user
|
|
141
170
|
return user_manager_permissions if user_manager?
|
|
142
171
|
return unless user&.admin?
|
|
172
|
+
return unless user&.admin_terms_accepted?
|
|
143
173
|
|
|
144
174
|
case permission_action.action
|
|
145
175
|
when :create
|
|
@@ -184,7 +214,7 @@ module Decidim
|
|
|
184
214
|
|
|
185
215
|
def space_allows_admin_access_to_current_action?(require_admin_terms_accepted: false)
|
|
186
216
|
Decidim.participatory_space_manifests.any? do |manifest|
|
|
187
|
-
next if
|
|
217
|
+
next if require_admin_terms_accepted && !admin_terms_accepted?
|
|
188
218
|
|
|
189
219
|
new_permission_action = Decidim::PermissionAction.new(
|
|
190
220
|
action: permission_action.action,
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<% end %>
|
|
13
13
|
|
|
14
14
|
<div class="grid-x grid-margin-x">
|
|
15
|
-
<% if
|
|
15
|
+
<% if allowed_to? :read, :users_statistics %>
|
|
16
16
|
<div class="cell small-12 medium-6 large-4">
|
|
17
17
|
<%= render(
|
|
18
18
|
partial: "decidim/admin/users_statistics/users_count",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<legend>
|
|
35
35
|
<%= t(".file_legend", valid_mime_types: mime_types.values.join(", ")).html_safe %>
|
|
36
36
|
<div class="guidance">
|
|
37
|
-
<%= import_manifest.message(:help, self) %>
|
|
37
|
+
<%= import_manifest.message(:help, self).html_safe %>
|
|
38
38
|
</div>
|
|
39
39
|
</legend>
|
|
40
40
|
<div class="row column">
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
</td>
|
|
61
61
|
|
|
62
62
|
<td class="actions">
|
|
63
|
-
<% if allowed_to?(:unreport, :moderate_users) %>
|
|
63
|
+
<% if !moderation.user.blocked? && allowed_to?(:unreport, :moderate_users) %>
|
|
64
64
|
<%= icon_link_to "action-undo", ignore_moderated_user_path(id: moderation), t(".actions.unreport"), class: "action-icon--unreport", method: :put %>
|
|
65
65
|
<% end %>
|
|
66
66
|
<% if allowed_to?(:block, :moderate_users) %>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<tr data-id="<%= moderation.id %>">
|
|
38
38
|
<td><%= moderation.reportable.id %></td>
|
|
39
39
|
<td>
|
|
40
|
-
<%= moderation.reportable.class.
|
|
40
|
+
<%= moderation.reportable.class.model_name.human %>
|
|
41
41
|
</td>
|
|
42
42
|
<% if !respond_to?(:current_participatory_space) %>
|
|
43
43
|
<td>
|
|
@@ -48,9 +48,13 @@
|
|
|
48
48
|
<%= moderation.report_count %>
|
|
49
49
|
</td>
|
|
50
50
|
<td>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
<% if (reportable_url = moderation.reportable.reported_content_url) %>
|
|
52
|
+
<%=
|
|
53
|
+
link_to t("models.moderation.fields.visit_url", scope: "decidim.moderations"), reportable_url, data: { tooltip: true }, title: strip_tags(reported_content_excerpt_for(moderation.reportable, limit: 250))
|
|
54
|
+
%>
|
|
55
|
+
<% else %>
|
|
56
|
+
<%= t("models.moderation.fields.deleted_resource", scope: "decidim.moderations") %>
|
|
57
|
+
<% end %>
|
|
54
58
|
</td>
|
|
55
59
|
<td>
|
|
56
60
|
<% reports = moderation.reports.map { |report| render "report", report: report } %>
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
<dl>
|
|
14
14
|
<dt><%= t("models.moderation.fields.reported_content_url", scope: "decidim.moderations") %></dt>
|
|
15
|
-
|
|
15
|
+
<% if (reportable_url = moderation.reportable.reported_content_url) %>
|
|
16
|
+
<dd><%= link_to moderation.reportable.reported_content_url, reportable_url, target: "_blank" %></dd>
|
|
17
|
+
<% else %>
|
|
18
|
+
<dd><%= t("models.moderation.fields.deleted_resource", scope: "decidim.moderations") %></dd>
|
|
19
|
+
<% end %>
|
|
16
20
|
|
|
17
21
|
<dt><%= t("models.moderation.fields.reportable_id", scope: "decidim.moderations") %></dt>
|
|
18
22
|
<dd><%= moderation.reportable.id %></dd>
|
data/config/locales/ar.yml
CHANGED
|
@@ -11,34 +11,41 @@ ar:
|
|
|
11
11
|
organization: المنظمة
|
|
12
12
|
plural: صيغة الجمع
|
|
13
13
|
attachment:
|
|
14
|
-
attachment_collection_id:
|
|
14
|
+
attachment_collection_id: الحافظة
|
|
15
15
|
description: الوصف
|
|
16
16
|
file: ملف
|
|
17
17
|
title: المُرفق أو اسم الصورة
|
|
18
|
+
weight: موضع الطلب
|
|
18
19
|
attachment_collection:
|
|
19
20
|
description: الوصف
|
|
20
21
|
name: اسم
|
|
22
|
+
weight: موضع الطلب
|
|
21
23
|
category:
|
|
22
24
|
description: الوصف
|
|
23
25
|
name: اسم
|
|
24
|
-
parent_id:
|
|
26
|
+
parent_id: الأصل
|
|
27
|
+
weight: موضع الطلب
|
|
25
28
|
component:
|
|
26
29
|
name: اسم
|
|
27
|
-
published_at:
|
|
30
|
+
published_at: نشر في
|
|
28
31
|
weight: موضع الطلب
|
|
29
|
-
|
|
32
|
+
external_domain:
|
|
33
|
+
value: القيمة
|
|
34
|
+
help_section:
|
|
35
|
+
content: المحتوى
|
|
36
|
+
id: المعرف ID
|
|
30
37
|
import:
|
|
31
|
-
user_group_id: إنشاء
|
|
38
|
+
user_group_id: إنشاء الاستيرادات ك
|
|
32
39
|
newsletter:
|
|
33
|
-
body:
|
|
40
|
+
body: النص
|
|
34
41
|
subject: الموضوع
|
|
35
42
|
organization:
|
|
36
43
|
admin_terms_of_use_body: نص شروط الاستخدام للمدير
|
|
37
44
|
alert_color: تنبيه
|
|
38
45
|
available_authorizations: التراخيص المتاحة
|
|
39
46
|
badges_enabled: تمكين الشارات
|
|
40
|
-
comments_max_length: الحد الأقصى لطول التعليقات (اترك 0 لاستعمال
|
|
41
|
-
cta_button_path: دعوة إلى العمل
|
|
47
|
+
comments_max_length: الحد الأقصى لطول التعليقات (اترك 0 لاستعمال القيمة الافتراضية)
|
|
48
|
+
cta_button_path: مسار زر دعوة إلى العمل call to action
|
|
42
49
|
cta_button_text: نص زر Call To Action
|
|
43
50
|
customize_welcome_notification: تخصيص إشعار الترحيب
|
|
44
51
|
default_locale: اللغة الافتراضية
|
|
@@ -160,7 +167,6 @@ ar:
|
|
|
160
167
|
accept:
|
|
161
168
|
success: رائع! لقد قمت بالموافقة على شروط الإستخدام للمدير.
|
|
162
169
|
actions:
|
|
163
|
-
accept: أوافق على شروط الإستخدام التالية
|
|
164
170
|
refuse: ارفض شروط المدير
|
|
165
171
|
title: وافق على شروط وأحكام الإستخدام
|
|
166
172
|
required_review:
|
|
@@ -743,7 +749,7 @@ ar:
|
|
|
743
749
|
title: مشارك جديد الفضاء الخاص المشارك.
|
|
744
750
|
participatory_space_private_users_csv_imports:
|
|
745
751
|
create:
|
|
746
|
-
invalid: حدثت مشكلة
|
|
752
|
+
invalid: حدثت مشكلة في قراءة ملف CSV.
|
|
747
753
|
new:
|
|
748
754
|
destroy:
|
|
749
755
|
button: حذف جميع المشاركين الخاصين
|
|
@@ -940,7 +946,7 @@ ar:
|
|
|
940
946
|
report_count: عد
|
|
941
947
|
reportable_type: النوع
|
|
942
948
|
reported_content_url: تم الإبلاغ عن عنوان URL للمحتوى
|
|
943
|
-
reports:
|
|
949
|
+
reports: التقارير
|
|
944
950
|
visit_url: زيارة العنوان الشبكي
|
|
945
951
|
report:
|
|
946
952
|
fields:
|
|
@@ -953,8 +959,6 @@ ar:
|
|
|
953
959
|
layouts:
|
|
954
960
|
decidim:
|
|
955
961
|
admin:
|
|
956
|
-
global_moderations:
|
|
957
|
-
title: مُشرف عام
|
|
958
962
|
newsletters:
|
|
959
963
|
title: النشرات الإخبارية
|
|
960
964
|
settings:
|
data/config/locales/ca.yml
CHANGED
|
@@ -15,17 +15,24 @@ ca:
|
|
|
15
15
|
description: Descripció
|
|
16
16
|
file: Arxiu
|
|
17
17
|
title: Nom de l'adjunt o imatge
|
|
18
|
+
weight: Ordre de posició
|
|
18
19
|
attachment_collection:
|
|
19
20
|
description: Descripció
|
|
20
21
|
name: Nom
|
|
22
|
+
weight: Ordre de posició
|
|
21
23
|
category:
|
|
22
24
|
description: Descripció
|
|
23
25
|
name: Nom
|
|
24
26
|
parent_id: Pare
|
|
27
|
+
weight: Ordre de posició
|
|
25
28
|
component:
|
|
26
29
|
name: Nom
|
|
27
30
|
published_at: Publicat el
|
|
28
31
|
weight: Ordre de posició
|
|
32
|
+
external_domain:
|
|
33
|
+
value: Valor
|
|
34
|
+
help_section:
|
|
35
|
+
content: Contingut
|
|
29
36
|
id: ID
|
|
30
37
|
import:
|
|
31
38
|
user_group_id: Importar com
|
|
@@ -78,7 +85,7 @@ ca:
|
|
|
78
85
|
organization_admin_name: Nom de l'administradora de l'organització
|
|
79
86
|
organization_locales: Idiomes de l'organització
|
|
80
87
|
primary_color: Primària
|
|
81
|
-
reference_prefix:
|
|
88
|
+
reference_prefix: Prefix de referència
|
|
82
89
|
rich_text_editor_in_public_views: Habilitar l'editor de text enriquit
|
|
83
90
|
secondary_color: Secundari
|
|
84
91
|
secondary_hosts: Hosts secundaris
|
|
@@ -93,6 +100,9 @@ ca:
|
|
|
93
100
|
welcome_notification_body: Cos de la notificació de benvinguda
|
|
94
101
|
welcome_notification_subject: Assumpte de la notificació de benvinguda
|
|
95
102
|
youtube_handler: Nom d'usuària de YouTube
|
|
103
|
+
participatory_space_private_user:
|
|
104
|
+
email: Correu electrònic
|
|
105
|
+
name: Nom
|
|
96
106
|
scope:
|
|
97
107
|
code: Codi
|
|
98
108
|
name: Nom
|
|
@@ -114,6 +124,7 @@ ca:
|
|
|
114
124
|
show_in_footer: Mostra al peu de pàgina
|
|
115
125
|
slug: Nom curt d'URL
|
|
116
126
|
title: Títol
|
|
127
|
+
topic_id: Assumpte
|
|
117
128
|
weight: Ordre de posició
|
|
118
129
|
static_page_topic:
|
|
119
130
|
description: Descripció
|
|
@@ -134,6 +145,14 @@ ca:
|
|
|
134
145
|
allowed_file_content_types: Fitxer d'imatge no vàlid
|
|
135
146
|
official_img_header:
|
|
136
147
|
allowed_file_content_types: Fitxer d'imatge no vàlid
|
|
148
|
+
participatory_space_private_user_csv_import:
|
|
149
|
+
attributes:
|
|
150
|
+
file:
|
|
151
|
+
malformed: Arxiu d'importació mal formatat, si us plau, llegeix les instruccions curosament i assegura't que l'arxiu està codificat en UTF-8.
|
|
152
|
+
user_group_csv_verification:
|
|
153
|
+
attributes:
|
|
154
|
+
file:
|
|
155
|
+
malformed: Arxiu d'importació mal formatat, si us plau, llegeix les instruccions curosament i assegura't que l'arxiu està codificat en UTF-8.
|
|
137
156
|
new_import:
|
|
138
157
|
attributes:
|
|
139
158
|
file:
|
|
@@ -185,7 +204,7 @@ ca:
|
|
|
185
204
|
error: S'ha produït un error en acceptar els Termes i Condicions dell panell d'administració.
|
|
186
205
|
success: Genial! Has acceptat els Termes i Condicions del panell d'administració.
|
|
187
206
|
actions:
|
|
188
|
-
accept: Estic d'acord amb els termes
|
|
207
|
+
accept: Estic d'acord amb els termes
|
|
189
208
|
are_you_sure: Segur que vols rebutjar els termes i condicions del panell d'administració?
|
|
190
209
|
refuse: Rebutjar els termes
|
|
191
210
|
title: Accepto els Termes i Condicions d'Administració
|
|
@@ -707,7 +726,7 @@ ca:
|
|
|
707
726
|
select_recipients_to_deliver:
|
|
708
727
|
all_spaces: Totes
|
|
709
728
|
all_users_help: Envia el butlletí a tots els usuaris confimats.
|
|
710
|
-
confirm_deliver:
|
|
729
|
+
confirm_deliver: Segur que vols enviar aquest butlletí? Aquesta acció no es pot desfer.
|
|
711
730
|
deliver: Enviar butlletí
|
|
712
731
|
followers_help: Envia el butlletí a tots els usuaris confirmats que segueixin qualsevol dels espais participatius seleccionats a la llista.
|
|
713
732
|
none: Cap
|
|
@@ -819,7 +838,7 @@ ca:
|
|
|
819
838
|
inactive_content_blocks: Blocs de contingut inactiu
|
|
820
839
|
organization_homepage_content_blocks:
|
|
821
840
|
edit:
|
|
822
|
-
update:
|
|
841
|
+
update: Actualitzar
|
|
823
842
|
participatory_space_private_users:
|
|
824
843
|
create:
|
|
825
844
|
error: S'ha produït un error en afegir una participant privada a aquest espai de participació.
|
|
@@ -840,7 +859,7 @@ ca:
|
|
|
840
859
|
new:
|
|
841
860
|
destroy:
|
|
842
861
|
button: Esborrar totes les participants privades
|
|
843
|
-
confirm:
|
|
862
|
+
confirm: Segur que vols esborrar totes les participants privades? Aquesta acció no es pot desfer, no podràs recuperar-les.
|
|
844
863
|
empty: No hi ha participants privades.
|
|
845
864
|
explanation: Hi ha %{count} participant/s privada/ades.
|
|
846
865
|
title: Esborrar les participants privades
|
|
@@ -1057,13 +1076,14 @@ ca:
|
|
|
1057
1076
|
moderation:
|
|
1058
1077
|
fields:
|
|
1059
1078
|
created_at: Data de creació
|
|
1079
|
+
deleted_resource: Recurs eliminat
|
|
1060
1080
|
hidden_at: Data d'ocultació
|
|
1061
1081
|
participatory_space: Espai de participació
|
|
1062
1082
|
report_count: Recompte
|
|
1063
1083
|
reportable_id: ID
|
|
1064
1084
|
reportable_type: Tipus
|
|
1065
1085
|
reported_content_url: URL contingut del contingut reportat
|
|
1066
|
-
reports:
|
|
1086
|
+
reports: Informes
|
|
1067
1087
|
visit_url: Visiteu l'URL
|
|
1068
1088
|
report:
|
|
1069
1089
|
fields:
|
data/config/locales/cs.yml
CHANGED
|
@@ -15,17 +15,24 @@ cs:
|
|
|
15
15
|
description: Popis
|
|
16
16
|
file: Soubor
|
|
17
17
|
title: Název přílohy nebo obrázku
|
|
18
|
+
weight: Pozice v řazení
|
|
18
19
|
attachment_collection:
|
|
19
20
|
description: Popis
|
|
20
21
|
name: Název
|
|
22
|
+
weight: Pozice v řazení
|
|
21
23
|
category:
|
|
22
24
|
description: Popis
|
|
23
25
|
name: Název
|
|
24
26
|
parent_id: Nadřazená
|
|
27
|
+
weight: Pozice v řazení
|
|
25
28
|
component:
|
|
26
29
|
name: Název
|
|
27
30
|
published_at: Publikováno v
|
|
28
31
|
weight: Pozice v řazení
|
|
32
|
+
external_domain:
|
|
33
|
+
value: Hodnota
|
|
34
|
+
help_section:
|
|
35
|
+
content: Obsah
|
|
29
36
|
id: ID
|
|
30
37
|
import:
|
|
31
38
|
user_group_id: Vytvořit importy jako
|
|
@@ -93,6 +100,9 @@ cs:
|
|
|
93
100
|
welcome_notification_body: Tělo uvítacího oznámení
|
|
94
101
|
welcome_notification_subject: Předmět uvítacího oznámení
|
|
95
102
|
youtube_handler: YouTube handler
|
|
103
|
+
participatory_space_private_user:
|
|
104
|
+
email: E-mail
|
|
105
|
+
name: Název
|
|
96
106
|
scope:
|
|
97
107
|
code: Kód
|
|
98
108
|
name: Název
|
|
@@ -114,6 +124,7 @@ cs:
|
|
|
114
124
|
show_in_footer: Zobrazit v zápatí
|
|
115
125
|
slug: URL slug
|
|
116
126
|
title: Titul
|
|
127
|
+
topic_id: Téma
|
|
117
128
|
weight: Pozice v řazení
|
|
118
129
|
static_page_topic:
|
|
119
130
|
description: Popis
|
|
@@ -134,6 +145,14 @@ cs:
|
|
|
134
145
|
allowed_file_content_types: Neplatný soubor s obrázkem
|
|
135
146
|
official_img_header:
|
|
136
147
|
allowed_file_content_types: Neplatný soubor s obrázkem
|
|
148
|
+
participatory_space_private_user_csv_import:
|
|
149
|
+
attributes:
|
|
150
|
+
file:
|
|
151
|
+
malformed: Chybný importní soubor, přečtěte si pozorně pokyny a ujistěte se, že soubor je kódovaný UTF-8.
|
|
152
|
+
user_group_csv_verification:
|
|
153
|
+
attributes:
|
|
154
|
+
file:
|
|
155
|
+
malformed: Chybný importní soubor, přečtěte si pozorně pokyny a ujistěte se, že soubor je kódovaný UTF-8.
|
|
137
156
|
new_import:
|
|
138
157
|
attributes:
|
|
139
158
|
file:
|
|
@@ -185,7 +204,7 @@ cs:
|
|
|
185
204
|
error: Při přijímání správcovských podmínek použití došlo k chybě.
|
|
186
205
|
success: Skvělé! Přijali jste administrátorské podmínky použití.
|
|
187
206
|
actions:
|
|
188
|
-
accept: Souhlasím s
|
|
207
|
+
accept: Souhlasím s podmínkami
|
|
189
208
|
are_you_sure: Opravdu chcete odmítnout Podmínky použití pro správce?
|
|
190
209
|
refuse: Odmítnout administrátorské podmínky
|
|
191
210
|
title: Souhlasit s podmínkami používání
|
|
@@ -1066,14 +1085,15 @@ cs:
|
|
|
1066
1085
|
models:
|
|
1067
1086
|
moderation:
|
|
1068
1087
|
fields:
|
|
1069
|
-
created_at: Datum
|
|
1088
|
+
created_at: Datum vzniku
|
|
1089
|
+
deleted_resource: Smazaný dokument
|
|
1070
1090
|
hidden_at: Skryté u
|
|
1071
1091
|
participatory_space: Participativní prostor
|
|
1072
1092
|
report_count: Spočítat
|
|
1073
1093
|
reportable_id: ID
|
|
1074
1094
|
reportable_type: Typ
|
|
1075
1095
|
reported_content_url: Oznámená adresa URL obsahu
|
|
1076
|
-
reports:
|
|
1096
|
+
reports: Hlášení
|
|
1077
1097
|
visit_url: Navštívit URL
|
|
1078
1098
|
report:
|
|
1079
1099
|
fields:
|