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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/admin/unblock_user.rb +1 -1
  3. data/app/controllers/decidim/admin/block_user_controller.rb +3 -3
  4. data/app/controllers/decidim/admin/newsletter_templates_controller.rb +1 -1
  5. data/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
  6. data/app/controllers/decidim/admin/organization_controller.rb +1 -0
  7. data/app/forms/decidim/admin/block_user_form.rb +2 -2
  8. data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +3 -1
  9. data/app/forms/decidim/admin/user_group_csv_verification_form.rb +10 -0
  10. data/app/helpers/decidim/admin/bulk_actions_helper.rb +1 -6
  11. data/app/models/decidim/admin/fake_newsletter.rb +20 -0
  12. data/app/packs/stylesheets/decidim/admin/extra/_quill.scss +7 -0
  13. data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +0 -1
  14. data/app/permissions/decidim/admin/permissions.rb +32 -2
  15. data/app/views/decidim/admin/dashboard/show.html.erb +1 -1
  16. data/app/views/decidim/admin/imports/new.html.erb +1 -1
  17. data/app/views/decidim/admin/moderated_users/index.html.erb +1 -1
  18. data/app/views/decidim/admin/moderations/index.html.erb +8 -4
  19. data/app/views/decidim/admin/moderations/reports/index.html.erb +5 -1
  20. data/config/locales/ar.yml +17 -13
  21. data/config/locales/ca.yml +26 -6
  22. data/config/locales/cs.yml +23 -3
  23. data/config/locales/de.yml +14 -4
  24. data/config/locales/el.yml +0 -1
  25. data/config/locales/en.yml +21 -1
  26. data/config/locales/es-MX.yml +23 -3
  27. data/config/locales/es-PY.yml +23 -3
  28. data/config/locales/es.yml +26 -6
  29. data/config/locales/eu.yml +42 -11
  30. data/config/locales/fi-plain.yml +24 -4
  31. data/config/locales/fi.yml +26 -6
  32. data/config/locales/fr-CA.yml +23 -3
  33. data/config/locales/fr.yml +23 -3
  34. data/config/locales/gl.yml +0 -1
  35. data/config/locales/gn-PY.yml +1 -0
  36. data/config/locales/hu.yml +2 -2
  37. data/config/locales/id-ID.yml +4 -1
  38. data/config/locales/is-IS.yml +4 -1
  39. data/config/locales/it.yml +1 -2
  40. data/config/locales/ja.yml +22 -2
  41. data/config/locales/ka-GE.yml +1 -0
  42. data/config/locales/lb.yml +0 -1
  43. data/config/locales/lo-LA.yml +1 -0
  44. data/config/locales/lt.yml +1 -2
  45. data/config/locales/lv.yml +1 -1
  46. data/config/locales/nl.yml +1 -2
  47. data/config/locales/no.yml +0 -1
  48. data/config/locales/pl.yml +1 -1
  49. data/config/locales/pt-BR.yml +1 -2
  50. data/config/locales/pt.yml +0 -1
  51. data/config/locales/ro-RO.yml +47 -5
  52. data/config/locales/ru.yml +4 -1
  53. data/config/locales/sk.yml +1 -1
  54. data/config/locales/sr-CS.yml +8 -0
  55. data/config/locales/sv.yml +23 -3
  56. data/config/locales/tr-TR.yml +2 -1
  57. data/config/locales/uk.yml +4 -1
  58. data/config/locales/zh-CN.yml +1 -1
  59. data/lib/decidim/admin/engine.rb +11 -1
  60. data/lib/decidim/admin/test/manage_moderations_examples.rb +79 -1
  61. data/lib/decidim/admin/version.rb +1 -1
  62. metadata +12 -10
  63. 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: dc8f2bdfb3acada1320a043d5b9feeccb17ee49860ea145b5606a652503e7b7b
4
- data.tar.gz: 402c102b7f08cba051c128ee90c1ea9b3e0793f8eef5024e5dfd5b05cc6ee4d5
3
+ metadata.gz: 96f7bcf42a9c331fbef56cee041ad7950157b1f5d1a3080fdcb0c144e812608e
4
+ data.tar.gz: 98476b2e39ac843d547b06c8a13727f1b2a3b53b7cca810aeab9a288ae5b9c19
5
5
  SHA512:
6
- metadata.gz: 843f0985b07c3772dbee767ce8450e25c004b98399e65bc5a9008f73af8fe04784e181242ed26fdd8ff748c49f50986fcbde4f2533e4abc62f29dd2a6492a5a4
7
- data.tar.gz: 91af28d7637755f6dd55dcafb33bd224182dd133cea3019dac951b6113c4c36c9ce185d81417e1643aa4d5ddc0710685bc289ef4d0b8365639f1b2cf532c7980
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 officializations_path(q: { name_or_nickname_or_email_cont: user.name }), notice: notice
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 officializations_path(q: { name_or_nickname_or_email_cont: user.name }), notice: notice
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::User.find_by(
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 officialize users from the admin dashboard.
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::User.find_by(
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: [], disabled: disabled), prompt: prompt)
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
@@ -3,3 +3,10 @@
3
3
  background: #eee;
4
4
  }
5
5
  }
6
+
7
+ .editor-container{
8
+ ul,
9
+ ol{
10
+ margin-bottom: 1rem;
11
+ }
12
+ }
@@ -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
- allow! if permission_action.subject == :global_moderation
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 manifest.name != :initiatives && require_admin_terms_accepted && !admin_terms_accepted?
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 current_user.admin? && current_user.organization&.id == current_organization.id %>
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.name.demodulize %>
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
- link_to t("models.moderation.fields.visit_url", scope: "decidim.moderations"), moderation.reportable.reported_content_url, data: { tooltip: true }, title: strip_tags(reported_content_excerpt_for(moderation.reportable, limit: 250))
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
- <dd><%= link_to moderation.reportable.reported_content_url, moderation.reportable.reported_content_url, target: "_blank" %></dd>
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>
@@ -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
- id: هوية شخصية
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: حدثت مشكلة أثناء قراءة ملف CSV.
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:
@@ -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: prefix de referència
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 següents
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: Estàs segura que vols enviar aquest butlletí? Aquesta acció no es pot desfer.
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: Actualitza
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: Estàs segura que vols esborrar totes les participants privades? Aquesta acció no es pot desfer, no podràs recuperar-les.
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: Denúncies
1086
+ reports: Informes
1067
1087
  visit_url: Visiteu l'URL
1068
1088
  report:
1069
1089
  fields:
@@ -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 následujícími podmínkami
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 vytvoření
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: Zprávy
1096
+ reports: Hlášení
1077
1097
  visit_url: Navštívit URL
1078
1098
  report:
1079
1099
  fields: