decidim-system 0.19.1 → 0.23.0
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/decidim/system/application.js.es6 +3 -1
- data/app/assets/stylesheets/decidim/system/_forms.scss +36 -0
- data/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +1 -0
- data/app/assets/stylesheets/decidim/system/_sidebar.scss +0 -2
- data/app/assets/stylesheets/decidim/system/application.scss +1 -0
- data/app/commands/decidim/system/create_default_content_blocks.rb +1 -1
- data/app/commands/decidim/system/create_oauth_application.rb +37 -0
- data/app/commands/decidim/system/destroy_oauth_application.rb +39 -0
- data/app/commands/decidim/system/register_organization.rb +3 -1
- data/app/commands/decidim/system/update_oauth_application.rb +39 -0
- data/app/commands/decidim/system/update_organization.rb +5 -0
- data/app/controllers/decidim/system/oauth_applications_controller.rb +84 -0
- data/app/controllers/decidim/system/organizations_controller.rb +9 -1
- data/app/forms/decidim/system/file_upload_settings_form.rb +70 -0
- data/app/forms/decidim/system/oauth_application_form.rb +35 -0
- data/app/forms/decidim/system/update_organization_form.rb +33 -0
- data/app/views/decidim/system/devise/shared/_links.html.erb +1 -1
- data/app/views/decidim/system/oauth_applications/_form.html.erb +26 -0
- data/app/views/decidim/system/oauth_applications/edit.html.erb +13 -0
- data/app/views/decidim/system/oauth_applications/index.html.erb +41 -0
- data/app/views/decidim/system/oauth_applications/new.html.erb +13 -0
- data/app/views/decidim/system/oauth_applications/show.html.erb +27 -0
- data/app/views/decidim/system/organizations/_file_upload_settings.erb +56 -0
- data/app/views/decidim/system/organizations/_omniauth_provider.html.erb +23 -0
- data/app/views/decidim/system/organizations/_omniauth_settings.html.erb +11 -0
- data/app/views/decidim/system/organizations/_smtp_settings.html.erb +5 -1
- data/app/views/decidim/system/organizations/edit.html.erb +2 -0
- data/app/views/decidim/system/organizations/new.html.erb +2 -0
- data/app/views/layouts/decidim/system/_header.html.erb +1 -0
- data/app/views/layouts/decidim/system/_js_configuration.html.erb +9 -0
- data/app/views/layouts/decidim/system/application.html.erb +2 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +11 -0
- data/config/locales/bg-BG.yml +8 -0
- data/config/locales/bg.yml +8 -0
- data/config/locales/ca.yml +97 -0
- data/config/locales/cs.yml +98 -1
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +52 -0
- data/config/locales/el-GR.yml +1 -0
- data/config/locales/el.yml +98 -0
- data/config/locales/en.yml +97 -0
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +97 -0
- data/config/locales/es-PY.yml +97 -0
- data/config/locales/es.yml +97 -0
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/et.yml +1 -0
- data/config/locales/fi-plain.yml +97 -0
- data/config/locales/fi.yml +97 -0
- data/config/locales/fr-CA.yml +173 -0
- data/config/locales/fr.yml +97 -0
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +18 -0
- data/config/locales/is-IS.yml +55 -0
- data/config/locales/is.yml +55 -0
- data/config/locales/it.yml +23 -1
- data/config/locales/ja-JP.yml +101 -0
- data/config/locales/ja.yml +173 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/lv.yml +98 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +22 -0
- data/config/locales/no.yml +60 -3
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +86 -21
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +47 -24
- data/config/locales/ro-RO.yml +98 -0
- data/config/locales/sk-SK.yml +90 -0
- data/config/locales/sk.yml +95 -0
- data/config/locales/sl.yml +51 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +26 -0
- data/config/locales/sv.yml +64 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +173 -0
- data/config/locales/zh-TW.yml +1 -0
- data/config/routes.rb +2 -0
- data/lib/decidim/system/engine.rb +5 -0
- data/lib/decidim/system/test/factories.rb +11 -0
- data/lib/decidim/system/version.rb +1 -1
- metadata +65 -17
@@ -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,6 +29,19 @@ module Decidim
|
|
27
29
|
[:authentication, String],
|
28
30
|
[:enable_starttls_auto, Boolean]
|
29
31
|
]
|
32
|
+
attribute :file_upload_settings, FileUploadSettingsForm
|
33
|
+
|
34
|
+
OMNIATH_PROVIDERS_ATTRIBUTES = Decidim::OmniauthProvider.available.keys.map do |provider|
|
35
|
+
Rails.application.secrets.dig(:omniauth, provider).keys.map do |setting|
|
36
|
+
if setting == :enabled
|
37
|
+
["omniauth_settings_#{provider}_enabled".to_sym, Boolean]
|
38
|
+
else
|
39
|
+
["omniauth_settings_#{provider}_#{setting}".to_sym, String]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end.flatten(1)
|
43
|
+
|
44
|
+
jsonb_attribute :omniauth_settings, OMNIATH_PROVIDERS_ATTRIBUTES
|
30
45
|
|
31
46
|
attr_writer :password
|
32
47
|
|
@@ -36,6 +51,10 @@ module Decidim
|
|
36
51
|
|
37
52
|
def map_model(model)
|
38
53
|
self.secondary_hosts = model.secondary_hosts.join("\n")
|
54
|
+
self.omniauth_settings = Hash[(model.omniauth_settings || []).map do |k, v|
|
55
|
+
[k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.decrypt(v) : v]
|
56
|
+
end]
|
57
|
+
self.file_upload_settings = FileUploadSettingsForm.from_model(model.file_upload_settings)
|
39
58
|
end
|
40
59
|
|
41
60
|
def clean_secondary_hosts
|
@@ -55,9 +74,23 @@ module Decidim
|
|
55
74
|
end
|
56
75
|
|
57
76
|
def encrypted_smtp_settings
|
77
|
+
smtp_settings["from"] = set_from
|
78
|
+
|
58
79
|
smtp_settings.merge(encrypted_password: Decidim::AttributeEncryptor.encrypt(@password))
|
59
80
|
end
|
60
81
|
|
82
|
+
def set_from
|
83
|
+
return smtp_settings["from_email"] if smtp_settings["from_label"].blank?
|
84
|
+
|
85
|
+
"#{smtp_settings["from_label"]} <#{smtp_settings["from_email"]}>"
|
86
|
+
end
|
87
|
+
|
88
|
+
def encrypted_omniauth_settings
|
89
|
+
Hash[omniauth_settings.map do |k, v|
|
90
|
+
[k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.encrypt(v) : v]
|
91
|
+
end]
|
92
|
+
end
|
93
|
+
|
61
94
|
private
|
62
95
|
|
63
96
|
def validate_organization_uniqueness
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<% end -%>
|
20
20
|
|
21
21
|
<%- if devise_mapping.omniauthable? %>
|
22
|
-
<%-
|
22
|
+
<%- current_organization.enabled_omniauth_providers.keys.each do |provider| %>
|
23
23
|
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br>
|
24
24
|
<% end -%>
|
25
25
|
<% end -%>
|
@@ -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>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<% i18n_scope = "decidim.system.organizations.omniauth_settings" %>
|
2
|
+
|
3
|
+
<div class="card">
|
4
|
+
<h5><%= provider_name(provider) %></h5>
|
5
|
+
|
6
|
+
<% if provider_enabled?(provider) %>
|
7
|
+
<p class="help-text"><%= t("enabled_by_default", scope: i18n_scope) %></p>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<div class="card-section">
|
11
|
+
<%= f.check_box(
|
12
|
+
"omniauth_settings_#{provider}_enabled",
|
13
|
+
label: t("enabled", scope: i18n_scope)
|
14
|
+
) %>
|
15
|
+
|
16
|
+
<% Rails.application.secrets.dig(:omniauth, provider.to_sym).keys.select { |k| k != :enabled }.each do |setting| %>
|
17
|
+
<%= f.text_field("omniauth_settings_#{provider}_#{setting}", label: I18n.t(
|
18
|
+
".#{setting}",
|
19
|
+
scope: [:icon, :icon_path].include?(setting) ? i18n_scope : "#{i18n_scope}.#{provider}"
|
20
|
+
)) %>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="fieldset">
|
2
|
+
<h4><%= t("decidim.system.models.organization.fields.omniauth_settings") %></h4>
|
3
|
+
|
4
|
+
<%= f.fields_for :omniauth_settings do %>
|
5
|
+
<% providers = Decidim::OmniauthProvider.available.keys %>
|
6
|
+
|
7
|
+
<% providers.each do |provider| %>
|
8
|
+
<%= render partial: "omniauth_provider", locals: { f: f, provider: provider } %>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
|
+
</div>
|
@@ -2,7 +2,11 @@
|
|
2
2
|
<h4><%= t("decidim.system.models.organization.fields.smtp_settings") %></h4>
|
3
3
|
<%= f.fields_for :smtp_settings do %>
|
4
4
|
<div class="field">
|
5
|
-
<%= f.email_field :
|
5
|
+
<%= f.email_field :from_email, placeholder: t(".placeholder.from_email") %>
|
6
|
+
</div>
|
7
|
+
<div class="field">
|
8
|
+
<%= f.email_field :from_label, placeholder: t(".placeholder.from_label") %>
|
9
|
+
<p><%= t(".instructions.from_label") %></p>
|
6
10
|
</div>
|
7
11
|
<div class="field">
|
8
12
|
<%= f.text_field :user_name %>
|
@@ -31,6 +31,8 @@
|
|
31
31
|
</div>
|
32
32
|
|
33
33
|
<%= render partial: "smtp_settings", locals: { f: f } %>
|
34
|
+
<%= render partial: "omniauth_settings", locals: { f: f } %>
|
35
|
+
<%= render partial: "file_upload_settings", locals: { f: f } %>
|
34
36
|
|
35
37
|
<div class="actions">
|
36
38
|
<%= f.submit t("decidim.system.actions.save") %>
|
@@ -72,6 +72,8 @@
|
|
72
72
|
</div>
|
73
73
|
|
74
74
|
<%= render partial: "smtp_settings", locals: { f: f } %>
|
75
|
+
<%= render partial: "omniauth_settings", locals: { f: f } %>
|
76
|
+
<%= render partial: "file_upload_settings", locals: { f: f } %>
|
75
77
|
|
76
78
|
<div class="actions">
|
77
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 @@
|
|
1
|
+
am:
|
data/config/locales/ar.yml
CHANGED
@@ -61,6 +61,17 @@ ar:
|
|
61
61
|
reference_prefix_hint: يتم استخدام بادئة المرجع لتعريف الموارد بشكل فريد في كل المؤسسة
|
62
62
|
secondary_hosts_hint: أدخل كل واحد منهم في سطر جديد
|
63
63
|
title: منظمة جديدة
|
64
|
+
omniauth_settings:
|
65
|
+
facebook:
|
66
|
+
app_secret: سر التطبيق
|
67
|
+
google_oauth2:
|
68
|
+
client_id: معرف العميل ID
|
69
|
+
client_secret: الرمز السري للعميل
|
70
|
+
icon: الأيقونة
|
71
|
+
icon_path: مسار الأيقونة
|
72
|
+
twitter:
|
73
|
+
api_key: مفتاح API
|
74
|
+
api_secret: سر API
|
64
75
|
update:
|
65
76
|
error: حدثت مشكلة أثناء تحديث هذه المؤسسة.
|
66
77
|
success: تم تحديث المنظمة بنجاح.
|
data/config/locales/ca.yml
CHANGED
@@ -1,4 +1,29 @@
|
|
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_file_uploads:
|
11
|
+
allowed_content_types:
|
12
|
+
admin: Tipus MIME del panell de administració
|
13
|
+
default: Tipus MIME per defecte
|
14
|
+
allowed_file_extensions:
|
15
|
+
admin: Extensions d'arxiu del panell d'administració
|
16
|
+
default: Extensions d'arxiu per defecte
|
17
|
+
image: Extensions d'arxiu d'imatge
|
18
|
+
maximum_file_size:
|
19
|
+
avatar: Mida d'imatge de l'avatar
|
20
|
+
default: Mida d'arxiu per defecte
|
21
|
+
errors:
|
22
|
+
models:
|
23
|
+
oauth_application:
|
24
|
+
attributes:
|
25
|
+
redirect_uri:
|
26
|
+
must_be_ssl: L'URI de redirecció ha de ser una URI SSL
|
2
27
|
decidim:
|
3
28
|
system:
|
4
29
|
actions:
|
@@ -32,6 +57,7 @@ ca:
|
|
32
57
|
menu:
|
33
58
|
admins: Administradores
|
34
59
|
dashboard: Tauler d'administració
|
60
|
+
oauth_applications: Aplicacions OAuth
|
35
61
|
organizations: Organitzacions
|
36
62
|
models:
|
37
63
|
admin:
|
@@ -41,26 +67,97 @@ ca:
|
|
41
67
|
name: Administradora
|
42
68
|
validations:
|
43
69
|
email_uniqueness: ja existeix una altra administradora amb aquest correu electrònic
|
70
|
+
oauth_application:
|
71
|
+
fields:
|
72
|
+
created_at: Creat el
|
73
|
+
name: Nom de l'aplicació OAuth
|
74
|
+
organization_name: Organització
|
75
|
+
name: Aplicació OAuth
|
44
76
|
organization:
|
45
77
|
actions:
|
46
78
|
save_and_invite: Crear organització i convidar l'administradora
|
47
79
|
fields:
|
48
80
|
created_at: Data de creació
|
81
|
+
file_upload_settings: Configuració de pujada d'arxius
|
49
82
|
name: Nom
|
83
|
+
omniauth_settings: Configuració de l'Omniauth
|
50
84
|
smtp_settings: Configuració d'SMTP
|
51
85
|
name: Organització
|
86
|
+
oauth_applications:
|
87
|
+
create:
|
88
|
+
error: S'ha produït un error en crear aquesta aplicació.
|
89
|
+
success: L'aplicació s'ha creat correctament.
|
90
|
+
destroy:
|
91
|
+
error: S'ha produït un error en eliminar aquesta aplicació.
|
92
|
+
success: S'ha eliminat l'aplicació correctament.
|
93
|
+
edit:
|
94
|
+
save: Guardar
|
95
|
+
title: Editar aplicació
|
96
|
+
form:
|
97
|
+
select_organization: Seleccionar una organització
|
98
|
+
index:
|
99
|
+
confirm_delete: Segur que vols eliminar aquesta aplicació?
|
100
|
+
title: Aplicacions OAuth
|
101
|
+
new:
|
102
|
+
save: Guardar
|
103
|
+
title: Nova aplicació
|
104
|
+
update:
|
105
|
+
error: S'ha produït un error en actualitzar aquesta aplicació.
|
106
|
+
success: S'ha actualitzat l'aplicació correctament.
|
52
107
|
organizations:
|
53
108
|
create:
|
54
109
|
error: S'ha produït un error en crear una nova organització.
|
55
110
|
success: L'organització s'ha creat correctament.
|
56
111
|
edit:
|
57
112
|
secondary_hosts_hint: Introdueix cada un d'ells en una nova línia
|
113
|
+
file_upload_settings:
|
114
|
+
content_types:
|
115
|
+
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.
|
116
|
+
default_hint: Aquests tipus MIME estan permesos per defecte per a totes les usuàries.
|
117
|
+
intro_html: Pots afegir comodins amb el caràcter asterisc per als tipus MIME, per exemple, <code>image/*</code>.
|
118
|
+
title: Tipus MIME permesos
|
119
|
+
file_extensions:
|
120
|
+
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.
|
121
|
+
default_hint: Aquestes extensions d'arxiu estan permeses per defecte per a totes les usuàries.
|
122
|
+
image_hint: Aquestes extensions d'arxiu estan permeses per a qualsevol pujada d'imatges.
|
123
|
+
title: Extensions d'arxiu permeses
|
124
|
+
file_sizes:
|
125
|
+
avatar_hint: Megabytes (MB). Aquest límit de mida d'arxiu s'utilitza per pujar imatges d'avatar.
|
126
|
+
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.
|
127
|
+
title: Mida màxima d'arxius
|
128
|
+
intro: |
|
129
|
+
Si us plau, vés en compte en considerar canviar aquests ajustos. Com menys opcions permetis, millor.
|
130
|
+
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.
|
58
131
|
index:
|
59
132
|
title: Organitzacions
|
60
133
|
new:
|
61
134
|
reference_prefix_hint: El prefix de la referència s'utilitza per identificar de forma única els recursos de tota la organització
|
62
135
|
secondary_hosts_hint: Introdueix cada un d'ells en una nova línia
|
63
136
|
title: Nova organització
|
137
|
+
omniauth_settings:
|
138
|
+
decidim:
|
139
|
+
client_id: ID del client
|
140
|
+
client_secret: Secret del client
|
141
|
+
site_url: URL del lloc web
|
142
|
+
enabled: Habilitat
|
143
|
+
enabled_by_default: Aquest proveïdor està habilitat per defecte. Es pot editar però no es pot desactivar.
|
144
|
+
facebook:
|
145
|
+
app_id: App ID
|
146
|
+
app_secret: App secret
|
147
|
+
google_oauth2:
|
148
|
+
client_id: ID del Client
|
149
|
+
client_secret: Client secret
|
150
|
+
icon: Icona
|
151
|
+
icon_path: Ruta de la icona
|
152
|
+
twitter:
|
153
|
+
api_key: Clau de l'API
|
154
|
+
api_secret: Clau secreta de l'API
|
155
|
+
smtp_settings:
|
156
|
+
instructions:
|
157
|
+
from_label: 'El remitent de correu electrònic serà: "la-teva-organitzacio <your-organization@example.org>". Deixa-ho en blanc per a usar el ''from_email'' com a etiqueta'
|
158
|
+
placeholder:
|
159
|
+
from_email: la-teva-organitzacio@example.org
|
160
|
+
from_label: el-nom-de-la-vostra-organitzacio
|
64
161
|
update:
|
65
162
|
error: S'ha produït un error en actualitzar aquesta organització.
|
66
163
|
success: L'organització s'ha actualitzat correctament.
|