decidim-system 0.21.0 → 0.23.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-system might be problematic. Click here for more details.

Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/system/application.js.es6 +2 -0
  3. data/app/assets/stylesheets/decidim/system/_forms.scss +36 -0
  4. data/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +1 -0
  5. data/app/assets/stylesheets/decidim/system/_sidebar.scss +0 -2
  6. data/app/assets/stylesheets/decidim/system/application.scss +1 -0
  7. data/app/commands/decidim/system/create_default_content_blocks.rb +1 -1
  8. data/app/commands/decidim/system/create_oauth_application.rb +37 -0
  9. data/app/commands/decidim/system/destroy_oauth_application.rb +39 -0
  10. data/app/commands/decidim/system/register_organization.rb +2 -1
  11. data/app/commands/decidim/system/update_oauth_application.rb +39 -0
  12. data/app/commands/decidim/system/update_organization.rb +4 -0
  13. data/app/controllers/decidim/system/oauth_applications_controller.rb +84 -0
  14. data/app/controllers/decidim/system/organizations_controller.rb +8 -1
  15. data/app/forms/decidim/system/file_upload_settings_form.rb +70 -0
  16. data/app/forms/decidim/system/oauth_application_form.rb +35 -0
  17. data/app/forms/decidim/system/update_organization_form.rb +13 -1
  18. data/app/views/decidim/system/oauth_applications/_form.html.erb +26 -0
  19. data/app/views/decidim/system/oauth_applications/edit.html.erb +13 -0
  20. data/app/views/decidim/system/oauth_applications/index.html.erb +41 -0
  21. data/app/views/decidim/system/oauth_applications/new.html.erb +13 -0
  22. data/app/views/decidim/system/oauth_applications/show.html.erb +27 -0
  23. data/app/views/decidim/system/organizations/_file_upload_settings.erb +56 -0
  24. data/app/views/decidim/system/organizations/_omniauth_provider.html.erb +4 -0
  25. data/app/views/decidim/system/organizations/_smtp_settings.html.erb +7 -3
  26. data/app/views/decidim/system/organizations/edit.html.erb +1 -0
  27. data/app/views/decidim/system/organizations/new.html.erb +1 -0
  28. data/app/views/layouts/decidim/system/_header.html.erb +1 -0
  29. data/app/views/layouts/decidim/system/_js_configuration.html.erb +9 -0
  30. data/app/views/layouts/decidim/system/application.html.erb +2 -0
  31. data/config/locales/am-ET.yml +1 -0
  32. data/config/locales/bg-BG.yml +8 -0
  33. data/config/locales/bg.yml +8 -0
  34. data/config/locales/ca.yml +92 -0
  35. data/config/locales/cs.yml +95 -3
  36. data/config/locales/da-DK.yml +1 -0
  37. data/config/locales/da.yml +1 -0
  38. data/config/locales/de.yml +108 -1
  39. data/config/locales/el.yml +97 -0
  40. data/config/locales/en.yml +92 -0
  41. data/config/locales/eo.yml +1 -0
  42. data/config/locales/es-MX.yml +92 -0
  43. data/config/locales/es-PY.yml +92 -0
  44. data/config/locales/es.yml +92 -0
  45. data/config/locales/et-EE.yml +1 -0
  46. data/config/locales/et.yml +1 -0
  47. data/config/locales/fi-plain.yml +92 -0
  48. data/config/locales/fi.yml +92 -0
  49. data/config/locales/fr-CA.yml +182 -0
  50. data/config/locales/fr.yml +106 -0
  51. data/config/locales/ga-IE.yml +1 -0
  52. data/config/locales/gl.yml +118 -11
  53. data/config/locales/hr-HR.yml +1 -0
  54. data/config/locales/hr.yml +1 -0
  55. data/config/locales/hu.yml +4 -0
  56. data/config/locales/is.yml +55 -0
  57. data/config/locales/it.yml +9 -1
  58. data/config/locales/ja-JP.yml +101 -0
  59. data/config/locales/ja.yml +171 -0
  60. data/config/locales/ko-KR.yml +1 -0
  61. data/config/locales/ko.yml +1 -0
  62. data/config/locales/lt-LT.yml +1 -0
  63. data/config/locales/lt.yml +1 -0
  64. data/config/locales/lv.yml +98 -0
  65. data/config/locales/mt-MT.yml +1 -0
  66. data/config/locales/mt.yml +1 -0
  67. data/config/locales/nl.yml +25 -0
  68. data/config/locales/no.yml +11 -1
  69. data/config/locales/om-ET.yml +1 -0
  70. data/config/locales/pl.yml +123 -21
  71. data/config/locales/pt-BR.yml +1 -1
  72. data/config/locales/pt.yml +47 -24
  73. data/config/locales/ro-RO.yml +98 -0
  74. data/config/locales/si-LK.yml +1 -0
  75. data/config/locales/sk-SK.yml +90 -0
  76. data/config/locales/sk.yml +95 -0
  77. data/config/locales/sl.yml +51 -0
  78. data/config/locales/so-SO.yml +1 -0
  79. data/config/locales/sr-CS.yml +26 -0
  80. data/config/locales/sv.yml +64 -0
  81. data/config/locales/sw-KE.yml +1 -0
  82. data/config/locales/ti-ER.yml +1 -0
  83. data/config/locales/tr-TR.yml +108 -2
  84. data/config/locales/vi-VN.yml +1 -0
  85. data/config/locales/vi.yml +1 -0
  86. data/config/locales/zh-CN.yml +171 -0
  87. data/config/locales/zh-TW.yml +1 -0
  88. data/config/routes.rb +2 -0
  89. data/lib/decidim/system/engine.rb +5 -0
  90. data/lib/decidim/system/test/factories.rb +11 -0
  91. data/lib/decidim/system/version.rb +1 -1
  92. metadata +66 -21
@@ -20,6 +20,8 @@ module Decidim
20
20
  attribute :users_registration_mode, String
21
21
  jsonb_attribute :smtp_settings, [
22
22
  [:from, String],
23
+ [:from_email, String],
24
+ [:from_label, String],
23
25
  [:user_name, String],
24
26
  [:encrypted_password, String],
25
27
  [:address, String],
@@ -27,8 +29,9 @@ module Decidim
27
29
  [:authentication, String],
28
30
  [:enable_starttls_auto, Boolean]
29
31
  ]
32
+ attribute :file_upload_settings, FileUploadSettingsForm
30
33
 
31
- OMNIATH_PROVIDERS_ATTRIBUTES = Decidim::User.omniauth_providers.map do |provider|
34
+ OMNIATH_PROVIDERS_ATTRIBUTES = Decidim::OmniauthProvider.available.keys.map do |provider|
32
35
  Rails.application.secrets.dig(:omniauth, provider).keys.map do |setting|
33
36
  if setting == :enabled
34
37
  ["omniauth_settings_#{provider}_enabled".to_sym, Boolean]
@@ -51,6 +54,7 @@ module Decidim
51
54
  self.omniauth_settings = Hash[(model.omniauth_settings || []).map do |k, v|
52
55
  [k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.decrypt(v) : v]
53
56
  end]
57
+ self.file_upload_settings = FileUploadSettingsForm.from_model(model.file_upload_settings)
54
58
  end
55
59
 
56
60
  def clean_secondary_hosts
@@ -70,9 +74,17 @@ module Decidim
70
74
  end
71
75
 
72
76
  def encrypted_smtp_settings
77
+ smtp_settings["from"] = set_from
78
+
73
79
  smtp_settings.merge(encrypted_password: Decidim::AttributeEncryptor.encrypt(@password))
74
80
  end
75
81
 
82
+ def set_from
83
+ return from_email if from_label.blank?
84
+
85
+ "#{from_label} <#{from_email}>"
86
+ end
87
+
76
88
  def encrypted_omniauth_settings
77
89
  Hash[omniauth_settings.map do |k, v|
78
90
  [k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.encrypt(v) : v]
@@ -0,0 +1,26 @@
1
+ <div class="row column">
2
+ <%= form.text_field :name %>
3
+ </div>
4
+
5
+ <div class="row column">
6
+ <%= form.text_field :redirect_uri %>
7
+ </div>
8
+
9
+ <div class="row column">
10
+ <%= form.select :decidim_organization_id,
11
+ Decidim::Organization.pluck(:name, :id),
12
+ { include_blank: t(".select_organization") },
13
+ { multiple: false } %>
14
+ </div>
15
+
16
+ <div class="row column">
17
+ <%= form.text_field :organization_name %>
18
+ </div>
19
+
20
+ <div class="row column">
21
+ <%= form.text_field :organization_url %>
22
+ </div>
23
+
24
+ <div class="row column">
25
+ <%= form.upload :organization_logo %>
26
+ </div>
@@ -0,0 +1,13 @@
1
+ <%= decidim_form_for(@form, html: { class: "form edit_oauth_application" }) do |f| %>
2
+ <div class="card">
3
+ <div class="card-divider">
4
+ <h2 class="card-title"><%= t ".title" %></h2>
5
+ </div>
6
+ <div class="card-section">
7
+ <%= render partial: "form", object: f %>
8
+ </div>
9
+ </div>
10
+ <div class="button--double form-general-submit">
11
+ <%= f.submit t(".save") %>
12
+ </div>
13
+ <% end %>
@@ -0,0 +1,41 @@
1
+ <% provide :title do %>
2
+ <h2><%= t ".title" %></h2>
3
+ <% end %>
4
+
5
+ <div class="actions title">
6
+ <%= link_to t("actions.new", scope: "decidim.system", name: t("models.oauth_application.name", scope: "decidim.system")), ["new", "oauth_application"], class: "new" %>
7
+ </div>
8
+
9
+ <table class="stack">
10
+ <thead>
11
+ <tr>
12
+ <th></th>
13
+ <th><%= t("models.oauth_application.fields.name", scope: "decidim.system") %></th>
14
+ <th><%= t("models.oauth_application.fields.organization_name", scope: "decidim.system") %></th>
15
+ <th><%= t("models.oauth_application.fields.created_at", scope: "decidim.system") %></th>
16
+ <th class="actions"><%= t("actions.title", scope: "decidim.system") %></th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <% @oauth_applications.each do |oauth_application| %>
21
+ <tr>
22
+ <td>
23
+ <%= image_tag oauth_application.organization_logo.url %>
24
+ </td>
25
+ <td>
26
+ <%= link_to oauth_application.name, oauth_application %><br>
27
+ </td>
28
+ <td>
29
+ <%= link_to oauth_application.organization_name, oauth_application.organization %><br>
30
+ </td>
31
+ <td>
32
+ <%= l oauth_application.created_at, format: :short %>
33
+ </td>
34
+ <td class="actions">
35
+ <%= link_to t("actions.edit", scope: "decidim.system"), ["edit", oauth_application] %>
36
+ <%= link_to t("actions.destroy", scope: "decidim.system"), oauth_application, method: :delete, class: "small alert button", data: { confirm: t(".confirm_delete") } %>
37
+ </td>
38
+ </tr>
39
+ <% end %>
40
+ </tbody>
41
+ </table>
@@ -0,0 +1,13 @@
1
+ <%= decidim_form_for(@form, html: { class: "form new_oauth_application" }) do |f| %>
2
+ <div class="card">
3
+ <div class="card-divider">
4
+ <h2 class="card-title"><%= t ".title" %></h2>
5
+ </div>
6
+ <div class="card-section">
7
+ <%= render partial: "form", object: f %>
8
+ </div>
9
+ </div>
10
+ <div class="button--double form-general-submit">
11
+ <%= f.submit t(".save") %>
12
+ </div>
13
+ <% end %>
@@ -0,0 +1,27 @@
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title"><%= @oauth_application.name %></h2>
4
+ </div>
5
+ <div class="card-section">
6
+ <dl>
7
+ <%= display_for @oauth_application,
8
+ { uid: :client_id },
9
+ { secret: :client_secret },
10
+ :organization_name,
11
+ :organization_url,
12
+ :redirect_uri %>
13
+
14
+ <dt><%= display_label(@oauth_application, :authorize_url) %></dt>
15
+ <dd><%= decidim.oauth_authorization_url(host: @oauth_application.owner.host) %></dd>
16
+
17
+ <dt><%= display_label(@oauth_application, :site) %></dt>
18
+ <dd><%= decidim.root_url(host: @oauth_application.owner.host) %></dd>
19
+
20
+ <dt><%= display_label(@oauth_application, :authorized_tokens) %></dt>
21
+ <dd><%= @oauth_application.authorized_tokens.count %></dd>
22
+
23
+ <dt><%= display_label(@oauth_application, :authorization_url) %></dt>
24
+ <dd><%= decidim.oauth_authorization_url(host: @oauth_application.owner.host, client_id: @oauth_application.uid, redirect_uri: @oauth_application.redirect_uri, response_type: "code") %></dd>
25
+ </dl>
26
+ </div>
27
+ </div>
@@ -0,0 +1,56 @@
1
+ <div class="fieldset">
2
+ <h4><%= t("decidim.system.models.organization.fields.file_upload_settings") %></h4>
3
+ <p><%= t(".intro") %></p>
4
+
5
+ <%= f.fields_for :file_upload_settings, f.object.file_upload_settings do |settings_form| %>
6
+ <%= settings_form.fields_for :allowed_file_extensions, OpenStruct.new(settings_form.object.allowed_file_extensions) do |extensions_form| %>
7
+ <% i18n_scope = "#{f.object.class.i18n_scope}.attributes.#{settings_form.object.model_name.i18n_key}.allowed_file_extensions" %>
8
+
9
+ <h5><%= t(".file_extensions.title") %></h5>
10
+
11
+ <div class="field">
12
+ <%= extensions_form.text_field :default, class: "js-tags-container", label: t("default", scope: i18n_scope) %>
13
+ <p class="help-text"><%= t(".file_extensions.default_hint") %></p>
14
+ </div>
15
+ <div class="field">
16
+ <%= extensions_form.text_field :image, class: "js-tags-container", label: t("image", scope: i18n_scope) %>
17
+ <p class="help-text"><%= t(".file_extensions.image_hint") %></p>
18
+ </div>
19
+ <div class="field">
20
+ <%= extensions_form.text_field :admin, class: "js-tags-container", label: t("admin", scope: i18n_scope) %>
21
+ <p class="help-text"><%= t(".file_extensions.admin_hint") %></p>
22
+ </div>
23
+ <% end %>
24
+
25
+ <%= settings_form.fields_for :allowed_content_types, OpenStruct.new(settings_form.object.allowed_content_types) do |extensions_form| %>
26
+ <% i18n_scope = "#{f.object.class.i18n_scope}.attributes.#{settings_form.object.model_name.i18n_key}.allowed_content_types" %>
27
+
28
+ <h5><%= t(".content_types.title") %></h5>
29
+ <p><%= t(".content_types.intro_html") %></p>
30
+
31
+ <div class="field">
32
+ <%= extensions_form.text_field :default, class: "js-tags-container", label: t("default", scope: i18n_scope) %>
33
+ <p class="help-text"><%= t(".content_types.default_hint") %></p>
34
+ </div>
35
+ <div class="field">
36
+ <%= extensions_form.text_field :admin, class: "js-tags-container", label: t("admin", scope: i18n_scope) %>
37
+ <p class="help-text"><%= t(".content_types.admin_hint") %></p>
38
+ </div>
39
+ <% end %>
40
+
41
+ <%= settings_form.fields_for :maximum_file_size, OpenStruct.new(settings_form.object.maximum_file_size) do |extensions_form| %>
42
+ <% i18n_scope = "#{f.object.class.i18n_scope}.attributes.#{settings_form.object.model_name.i18n_key}.maximum_file_size" %>
43
+
44
+ <h5><%= t(".file_sizes.title") %></h5>
45
+
46
+ <div class="field">
47
+ <%= extensions_form.number_field :default, step: 0.1, min: 0, label: t("default", scope: i18n_scope) %>
48
+ <p class="help-text"><%= t(".file_sizes.default_hint") %></p>
49
+ </div>
50
+ <div class="field">
51
+ <%= extensions_form.number_field :avatar, step: 0.1, min: 0, label: t("avatar", scope: i18n_scope) %>
52
+ <p class="help-text"><%= t(".file_sizes.avatar_hint") %></p>
53
+ </div>
54
+ <% end %>
55
+ <% end %>
56
+ </div>
@@ -3,6 +3,10 @@
3
3
  <div class="card">
4
4
  <h5><%= provider_name(provider) %></h5>
5
5
 
6
+ <% if provider_enabled?(provider) %>
7
+ <p class="help-text"><%= t("enabled_by_default", scope: i18n_scope) %></p>
8
+ <% end %>
9
+
6
10
  <div class="card-section">
7
11
  <%= f.check_box(
8
12
  "omniauth_settings_#{provider}_enabled",
@@ -1,9 +1,13 @@
1
1
  <div class="fieldset">
2
2
  <h4><%= t("decidim.system.models.organization.fields.smtp_settings") %></h4>
3
3
  <%= f.fields_for :smtp_settings do %>
4
- <div class="field">
5
- <%= f.email_field :from %>
6
- </div>
4
+ <fieldset class="fieldset">
5
+ <legend><%= t(".fieldsets.sender") %></legend>
6
+ <%= f.email_field :from_email, placeholder: t(".placeholder.from_email") %>
7
+ <%= f.text_field :from_label, placeholder: t(".placeholder.from_label") %>
8
+ <p class="help-text"><%= t(".instructions.from_label") %></p>
9
+ </fieldset>
10
+
7
11
  <div class="field">
8
12
  <%= f.text_field :user_name %>
9
13
  </div>
@@ -32,6 +32,7 @@
32
32
 
33
33
  <%= render partial: "smtp_settings", locals: { f: f } %>
34
34
  <%= render partial: "omniauth_settings", locals: { f: f } %>
35
+ <%= render partial: "file_upload_settings", locals: { f: f } %>
35
36
 
36
37
  <div class="actions">
37
38
  <%= f.submit t("decidim.system.actions.save") %>
@@ -73,6 +73,7 @@
73
73
 
74
74
  <%= render partial: "smtp_settings", locals: { f: f } %>
75
75
  <%= render partial: "omniauth_settings", locals: { f: f } %>
76
+ <%= render partial: "file_upload_settings", locals: { f: f } %>
76
77
 
77
78
  <div class="actions">
78
79
  <%= f.submit t("decidim.system.models.organization.actions.save_and_invite") %>
@@ -1,4 +1,5 @@
1
1
  <meta name="viewport" content="width=device-width, initial-scale=1">
2
2
  <%= csrf_meta_tags %>
3
3
  <%= stylesheet_link_tag "decidim/system/application", media: "all" %>
4
+ <%= javascript_include_tag "decidim/confirm" %>
4
5
  <%= javascript_include_tag "decidim/system/application" %>
@@ -0,0 +1,9 @@
1
+ <%
2
+ js_configs = {
3
+ icons_path: image_path("decidim/icons.svg")
4
+ }
5
+ %>
6
+
7
+ <script>
8
+ Decidim.config.set(<%== js_configs.to_json %>);
9
+ </script>
@@ -36,5 +36,7 @@
36
36
  </div>
37
37
  </div>
38
38
  </div>
39
+ <%= render partial: "decidim/shared/confirm_modal" %>
40
+ <%= render partial: "layouts/decidim/system/js_configuration" %>
39
41
  </body>
40
42
  </html>
@@ -0,0 +1 @@
1
+ am:
@@ -0,0 +1,8 @@
1
+ bg:
2
+ decidim:
3
+ system:
4
+ actions:
5
+ confirm_destroy: Сигурни ли сте, че желаете да изтриете това?
6
+ destroy: Изтрий
7
+ edit: Редактирай
8
+ new: Нов
@@ -0,0 +1,8 @@
1
+ bg:
2
+ decidim:
3
+ system:
4
+ actions:
5
+ confirm_destroy: Сигурни ли сте, че желаете да изтриете това?
6
+ destroy: Изтрий
7
+ edit: Редактирай
8
+ new: Нов
@@ -1,4 +1,36 @@
1
1
  ca:
2
+ activemodel:
3
+ attributes:
4
+ oauth_application:
5
+ name: Nom de l'aplicació OAuth
6
+ organization_logo: Logo de l'organització (quadrat)
7
+ organization_name: Organització
8
+ organization_url: URL de l'organització
9
+ redirect_uri: URI de redirecció
10
+ organization:
11
+ address: Nom del servidor SMTP
12
+ from_email: Adreça de correu electrònic
13
+ from_label: Etiqueta
14
+ password: Contrasenya
15
+ port: Port
16
+ user_name: Nom d'usuari
17
+ organization_file_uploads:
18
+ allowed_content_types:
19
+ admin: Tipus MIME del panell de administració
20
+ default: Tipus MIME per defecte
21
+ allowed_file_extensions:
22
+ admin: Extensions d'arxiu del panell d'administració
23
+ default: Extensions d'arxiu per defecte
24
+ image: Extensions d'arxiu d'imatge
25
+ maximum_file_size:
26
+ avatar: Mida d'imatge de l'avatar
27
+ default: Mida d'arxiu per defecte
28
+ errors:
29
+ models:
30
+ oauth_application:
31
+ attributes:
32
+ redirect_uri:
33
+ must_be_ssl: L'URI de redirecció ha de ser una URI SSL
2
34
  decidim:
3
35
  system:
4
36
  actions:
@@ -32,6 +64,7 @@ ca:
32
64
  menu:
33
65
  admins: Administradores
34
66
  dashboard: Tauler d'administració
67
+ oauth_applications: Aplicacions OAuth
35
68
  organizations: Organitzacions
36
69
  models:
37
70
  admin:
@@ -41,21 +74,67 @@ ca:
41
74
  name: Administradora
42
75
  validations:
43
76
  email_uniqueness: ja existeix una altra administradora amb aquest correu electrònic
77
+ oauth_application:
78
+ fields:
79
+ created_at: Creat el
80
+ name: Nom de l'aplicació OAuth
81
+ organization_name: Organització
82
+ name: Aplicació OAuth
44
83
  organization:
45
84
  actions:
46
85
  save_and_invite: Crear organització i convidar l'administradora
47
86
  fields:
48
87
  created_at: Data de creació
88
+ file_upload_settings: Configuració de pujada d'arxius
49
89
  name: Nom
50
90
  omniauth_settings: Configuració de l'Omniauth
51
91
  smtp_settings: Configuració d'SMTP
52
92
  name: Organització
93
+ oauth_applications:
94
+ create:
95
+ error: S'ha produït un error en crear aquesta aplicació.
96
+ success: L'aplicació s'ha creat correctament.
97
+ destroy:
98
+ error: S'ha produït un error en eliminar aquesta aplicació.
99
+ success: S'ha eliminat l'aplicació correctament.
100
+ edit:
101
+ save: Guardar
102
+ title: Editar aplicació
103
+ form:
104
+ select_organization: Seleccionar una organització
105
+ index:
106
+ confirm_delete: Segur que vols eliminar aquesta aplicació?
107
+ title: Aplicacions OAuth
108
+ new:
109
+ save: Guardar
110
+ title: Nova aplicació
111
+ update:
112
+ error: S'ha produït un error en actualitzar aquesta aplicació.
113
+ success: S'ha actualitzat l'aplicació correctament.
53
114
  organizations:
54
115
  create:
55
116
  error: S'ha produït un error en crear una nova organització.
56
117
  success: L'organització s'ha creat correctament.
57
118
  edit:
58
119
  secondary_hosts_hint: Introdueix cada un d'ells en una nova línia
120
+ file_upload_settings:
121
+ content_types:
122
+ admin_hint: Aquests tipus MIME estan permesos per a pujar-se des del panell d'administració. Les persones administradores han de ser conscients dels riscos en pujar alguns formats de documents, per la qual cosa cal esperar que siguin més cauteloses amb les pujades d'arxius.
123
+ default_hint: Aquests tipus MIME estan permesos per defecte per a totes les usuàries.
124
+ intro_html: Pots afegir comodins amb el caràcter asterisc per als tipus MIME, per exemple, <code>image/*</code>.
125
+ title: Tipus MIME permesos
126
+ file_extensions:
127
+ admin_hint: Aquestes extensions d'arxiu estan permeses per pujades des del panell d'administració. Les persones administradores han de ser conscients dels riscos en pujar alguns formats de documents, per la qual cosa cal esperar que siguin més cauteloses amb les pujades d'arxius.
128
+ default_hint: Aquestes extensions d'arxiu estan permeses per defecte per a totes les usuàries.
129
+ image_hint: Aquestes extensions d'arxiu estan permeses per a qualsevol pujada d'imatges.
130
+ title: Extensions d'arxiu permeses
131
+ file_sizes:
132
+ avatar_hint: Megabytes (MB). Aquest límit de mida d'arxiu s'utilitza per pujar imatges d'avatar.
133
+ default_hint: Megabytes (MB). Aquest límit de mida d'arxiu és el predeterminat que s'utilitza per a totes les pujades d'arxius tret que s'especifiqui el contrari.
134
+ title: Mida màxima d'arxius
135
+ intro: |
136
+ Si us plau, vés en compte en considerar canviar aquests ajustos. Com menys opcions permetis, millor.
137
+ Permetre extensions d'arxius específiques o tipus MIME pot exposar a les usuàries del sistema a riscos de seguretat i també pot afectar l'accessibilitat del lloc web.
59
138
  index:
60
139
  title: Organitzacions
61
140
  new:
@@ -63,7 +142,12 @@ ca:
63
142
  secondary_hosts_hint: Introdueix cada un d'ells en una nova línia
64
143
  title: Nova organització
65
144
  omniauth_settings:
145
+ decidim:
146
+ client_id: ID del client
147
+ client_secret: Secret del client
148
+ site_url: URL del lloc web
66
149
  enabled: Habilitat
150
+ enabled_by_default: Aquest proveïdor està habilitat per defecte. Es pot editar però no es pot desactivar.
67
151
  facebook:
68
152
  app_id: App ID
69
153
  app_secret: App secret
@@ -75,6 +159,14 @@ ca:
75
159
  twitter:
76
160
  api_key: Clau de l'API
77
161
  api_secret: Clau secreta de l'API
162
+ smtp_settings:
163
+ fieldsets:
164
+ sender: Remitent
165
+ instructions:
166
+ from_label: 'El remitent de correu electrònic serà: "la-teva-organitzacio <your-organization@example.org>". Deixa-ho en blanc per a usar l''adreça de correu com a etiqueta'
167
+ placeholder:
168
+ from_email: la-teva-organitzacio@example.org
169
+ from_label: el-nom-de-la-vostra-organitzacio
78
170
  update:
79
171
  error: S'ha produït un error en actualitzar aquesta organització.
80
172
  success: L'organització s'ha actualitzat correctament.