decidim-system 0.31.8 → 0.32.0.rc1
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/README.md +2 -14
- data/app/commands/decidim/system/update_organization.rb +0 -1
- data/app/controllers/decidim/system/admins_controller.rb +2 -2
- data/app/controllers/decidim/system/api_users_controller.rb +4 -4
- data/app/controllers/decidim/system/devise/sessions_controller.rb +1 -1
- data/app/controllers/decidim/system/oauth_applications_controller.rb +2 -2
- data/app/controllers/decidim/system/organizations_controller.rb +4 -4
- data/app/forms/decidim/system/admin_form.rb +2 -7
- data/app/forms/decidim/system/base_organization_form.rb +6 -12
- data/app/forms/decidim/system/register_organization_form.rb +1 -0
- data/app/views/decidim/system/organizations/new.html.erb +1 -1
- data/app/views/decidim/system/shared/_api_users.html.erb +9 -8
- data/app/views/layouts/decidim/system/application.html.erb +1 -1
- data/config/locales/ar.yml +0 -1
- data/config/locales/bg.yml +0 -1
- data/config/locales/bs-BA.yml +0 -1
- data/config/locales/ca-IT.yml +0 -1
- data/config/locales/ca.yml +2 -3
- data/config/locales/cs.yml +0 -3
- data/config/locales/de.yml +0 -66
- data/config/locales/el.yml +0 -1
- data/config/locales/eo.yml +0 -1
- data/config/locales/es-MX.yml +0 -1
- data/config/locales/es-PY.yml +0 -1
- data/config/locales/es.yml +0 -1
- data/config/locales/eu.yml +68 -67
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/fi-plain.yml +0 -1
- data/config/locales/fi.yml +0 -1
- data/config/locales/fr-CA.yml +1 -2
- data/config/locales/fr.yml +0 -39
- data/config/locales/ga-IE.yml +0 -1
- data/config/locales/gl.yml +6 -186
- data/config/locales/hu.yml +0 -1
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/is-IS.yml +1 -2
- data/config/locales/it.yml +0 -1
- data/config/locales/ja.yml +2 -6
- data/config/locales/kaa.yml +0 -1
- data/config/locales/lb.yml +0 -1
- data/config/locales/lt.yml +0 -1
- data/config/locales/lv.yml +0 -1
- data/config/locales/nl.yml +0 -1
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +0 -1
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +0 -1
- data/config/locales/ro-RO.yml +0 -1
- data/config/locales/ru.yml +0 -1
- data/config/locales/sk.yml +0 -263
- data/config/locales/sl.yml +0 -1
- data/config/locales/sr-CS.yml +0 -1
- data/config/locales/sv.yml +0 -5
- data/config/locales/tr-TR.yml +0 -1
- data/config/locales/uk.yml +0 -1
- data/config/locales/zh-CN.yml +0 -1
- data/config/locales/zh-TW.yml +0 -1
- data/decidim-system.gemspec +6 -9
- data/lib/decidim/system/menu.rb +1 -1
- data/lib/decidim/system/version.rb +1 -1
- data/lib/decidim/system.rb +8 -4
- metadata +16 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da5cdf4aa1b70b51c9dd6ddfc54b3955b4a6ba33bee1ad89346993527de4b11e
|
|
4
|
+
data.tar.gz: 8f88aeda85929d086bd2021704dafce5279b9fdb58e4a5654eafa29bcdc4ea30
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c2cb0273741a8ec3ad00816daf2ceafb913ff062c50ad373d72e7f8668f2570e538fb22d9fdb716efea44c04b9eb5493a91e92ff1cefeb919849ef44059308e8
|
|
7
|
+
data.tar.gz: 0ea01b28e31c1241ee54dbf901311de79dfec8df92e23503421790900f00a136f5be6befa0a2f77049d9dfc4d92fafbdbccb57d560256be5006ab7a3989d405d
|
data/README.md
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# decidim-system
|
|
2
2
|
|
|
3
3
|
This engine adds an administration dashboard so admin can manage a Decidim deploy
|
|
4
4
|
and its organizations when working in a multi-tenant environment.
|
|
5
5
|
|
|
6
6
|
## Usage
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Add this line to your application's Gemfile:
|
|
11
|
-
|
|
12
|
-
```ruby
|
|
13
|
-
gem 'decidim-system'
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
And then execute:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
bundle
|
|
20
|
-
```
|
|
8
|
+
This is on the default Decidim installation so you should not change anything to use this feature.
|
|
21
9
|
|
|
22
10
|
## Multi-tenancy in Decidim
|
|
23
11
|
|
|
@@ -45,7 +45,6 @@ module Decidim
|
|
|
45
45
|
|
|
46
46
|
def save_organization
|
|
47
47
|
organization.name = form.name
|
|
48
|
-
organization.short_name = form.short_name
|
|
49
48
|
organization.host = form.host
|
|
50
49
|
organization.secondary_hosts = form.clean_secondary_hosts
|
|
51
50
|
organization.force_users_to_authenticate_before_access_organization = form.force_users_to_authenticate_before_access_organization
|
|
@@ -24,7 +24,7 @@ module Decidim
|
|
|
24
24
|
|
|
25
25
|
on(:invalid) do
|
|
26
26
|
flash.now[:alert] = I18n.t("admins.create.error", scope: "decidim.system")
|
|
27
|
-
render :new, status: :
|
|
27
|
+
render :new, status: :unprocessable_content
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
end
|
|
@@ -46,7 +46,7 @@ module Decidim
|
|
|
46
46
|
|
|
47
47
|
on(:invalid) do
|
|
48
48
|
flash.now[:alert] = I18n.t("admins.update.error", scope: "decidim.system")
|
|
49
|
-
render :edit, status: :
|
|
49
|
+
render :edit, status: :unprocessable_content
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -29,7 +29,7 @@ module Decidim
|
|
|
29
29
|
RefreshApiUserSecret.call(api_user, current_admin) do
|
|
30
30
|
on(:ok) do |secret|
|
|
31
31
|
flash[:notice] = I18n.t("api_user.refresh.success", scope: "decidim.system", user: api_user.api_key)
|
|
32
|
-
session[:api_user] = { id: api_user.id, secret:
|
|
32
|
+
session[:api_user] = { id: api_user.id, secret: }
|
|
33
33
|
redirect_to action: :index
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -41,17 +41,17 @@ module Decidim
|
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def create
|
|
44
|
-
@form = ::Decidim::System::ApiUserForm.from_params(params.merge!(name: params[:admin][:name], organization:
|
|
44
|
+
@form = ::Decidim::System::ApiUserForm.from_params(params.merge!(name: params[:admin][:name], organization:))
|
|
45
45
|
CreateApiUser.call(@form, current_admin) do
|
|
46
46
|
on(:ok) do |api_user, secret|
|
|
47
47
|
flash[:notice] = I18n.t("api_user.create.success", scope: "decidim.system", user: api_user.api_key)
|
|
48
|
-
session[:api_user] = { id: api_user.id, secret:
|
|
48
|
+
session[:api_user] = { id: api_user.id, secret: }
|
|
49
49
|
redirect_to action: :index
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
on(:invalid) do
|
|
53
53
|
flash[:error] = I18n.t("api_user.create.error", scope: "decidim.system")
|
|
54
|
-
render :new, status: :
|
|
54
|
+
render :new, status: :unprocessable_content
|
|
55
55
|
end
|
|
56
56
|
end
|
|
57
57
|
end
|
|
@@ -30,7 +30,7 @@ module Decidim
|
|
|
30
30
|
|
|
31
31
|
on(:invalid) do
|
|
32
32
|
flash.now[:alert] = I18n.t("oauth_applications.create.error", scope: "decidim.system")
|
|
33
|
-
render :new, status: :
|
|
33
|
+
render :new, status: :unprocessable_content
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
end
|
|
@@ -55,7 +55,7 @@ module Decidim
|
|
|
55
55
|
on(:invalid) do |application|
|
|
56
56
|
@oauth_application = application
|
|
57
57
|
flash.now[:error] = I18n.t("oauth_applications.update.error", scope: "decidim.system")
|
|
58
|
-
render action: :edit, status: :
|
|
58
|
+
render action: :edit, status: :unprocessable_content
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -24,12 +24,12 @@ module Decidim
|
|
|
24
24
|
|
|
25
25
|
on(:invalid_invitation) do
|
|
26
26
|
flash.now[:alert] = t("organizations.create.error_invitation", scope: "decidim.system")
|
|
27
|
-
render :new, status: :
|
|
27
|
+
render :new, status: :unprocessable_content
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
on(:invalid) do
|
|
31
31
|
flash.now[:alert] = t("organizations.create.error", scope: "decidim.system")
|
|
32
|
-
render :new, status: :
|
|
32
|
+
render :new, status: :unprocessable_content
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
end
|
|
@@ -55,7 +55,7 @@ module Decidim
|
|
|
55
55
|
|
|
56
56
|
on(:invalid) do
|
|
57
57
|
flash.now[:alert] = I18n.t("organizations.update.error", scope: "decidim.system")
|
|
58
|
-
render :edit, status: :
|
|
58
|
+
render :edit, status: :unprocessable_content
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -82,7 +82,7 @@ module Decidim
|
|
|
82
82
|
host: request.host,
|
|
83
83
|
organization_admin_name: current_admin.email.split("@")[0],
|
|
84
84
|
organization_admin_email: current_admin.email,
|
|
85
|
-
available_locales:
|
|
85
|
+
available_locales: Decidim.available_locales.map(&:to_s),
|
|
86
86
|
default_locale: Decidim.default_locale,
|
|
87
87
|
users_registration_mode: "enabled"
|
|
88
88
|
}
|
|
@@ -12,9 +12,8 @@ module Decidim
|
|
|
12
12
|
attribute :password_confirmation, String
|
|
13
13
|
|
|
14
14
|
validates :email, presence: true
|
|
15
|
-
validates :password, presence: true, unless: :admin_exists?
|
|
16
|
-
validates :
|
|
17
|
-
validates :password_confirmation, presence: true, if: :password_present?
|
|
15
|
+
validates :password, confirmation: true, presence: true, unless: :admin_exists?
|
|
16
|
+
validates :password_confirmation, presence: true, unless: :admin_exists?
|
|
18
17
|
|
|
19
18
|
validates :password, password: { email: :email }
|
|
20
19
|
|
|
@@ -32,10 +31,6 @@ module Decidim
|
|
|
32
31
|
def admin_exists?
|
|
33
32
|
id.present?
|
|
34
33
|
end
|
|
35
|
-
|
|
36
|
-
def password_present?
|
|
37
|
-
password.present? || password_confirmation.present?
|
|
38
|
-
end
|
|
39
34
|
end
|
|
40
35
|
end
|
|
41
36
|
end
|
|
@@ -141,7 +141,7 @@ module Decidim
|
|
|
141
141
|
#
|
|
142
142
|
# Valid formats:
|
|
143
143
|
# - Fully Qualified Domain Names (FQDN): example.org, sub.example.org, my-site.example.org
|
|
144
|
-
# -
|
|
144
|
+
# - Localhost: localhost (common for development)
|
|
145
145
|
# - IPv4 addresses: 127.0.0.1, 192.168.1.1
|
|
146
146
|
# - IPv6 addresses: ::1, 2001:db8::1, [::1]
|
|
147
147
|
#
|
|
@@ -163,6 +163,9 @@ module Decidim
|
|
|
163
163
|
# Each label: alphanumeric start/end, alphanumerics and hyphens inside, max 63 chars.
|
|
164
164
|
(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}
|
|
165
165
|
|
|
|
166
|
+
# Localhost: common development hostname.
|
|
167
|
+
localhost
|
|
168
|
+
|
|
|
166
169
|
# IPv4: four octets (0-255 each).
|
|
167
170
|
(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)
|
|
168
171
|
|
|
|
@@ -172,12 +175,10 @@ module Decidim
|
|
|
172
175
|
\z
|
|
173
176
|
}x
|
|
174
177
|
|
|
175
|
-
SINGLE_LABEL_HOST_FORMAT_REGEX = /\A[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\z/
|
|
176
|
-
|
|
177
178
|
def validate_host_format
|
|
178
179
|
return if host.blank?
|
|
179
180
|
|
|
180
|
-
return if
|
|
181
|
+
return if host.match?(HOST_FORMAT_REGEX)
|
|
181
182
|
|
|
182
183
|
errors.add(:host, :invalid)
|
|
183
184
|
end
|
|
@@ -186,19 +187,12 @@ module Decidim
|
|
|
186
187
|
return if secondary_hosts.blank?
|
|
187
188
|
|
|
188
189
|
clean_secondary_hosts.each do |secondary_host|
|
|
189
|
-
next if
|
|
190
|
+
next if secondary_host.match?(HOST_FORMAT_REGEX)
|
|
190
191
|
|
|
191
192
|
errors.add(:secondary_hosts, :invalid)
|
|
192
193
|
break
|
|
193
194
|
end
|
|
194
195
|
end
|
|
195
|
-
|
|
196
|
-
def valid_host_format?(value)
|
|
197
|
-
return true if value.match?(HOST_FORMAT_REGEX)
|
|
198
|
-
return false unless Rails.env.development?
|
|
199
|
-
|
|
200
|
-
value.match?(SINGLE_LABEL_HOST_FORMAT_REGEX)
|
|
201
|
-
end
|
|
202
196
|
end
|
|
203
197
|
end
|
|
204
198
|
end
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
<tbody>
|
|
34
34
|
<% localized_locales.each do |locale| %>
|
|
35
35
|
<tr>
|
|
36
|
-
<td><%= locale.name
|
|
36
|
+
<td><%= locale.name %> (<%= locale.id %>)</td>
|
|
37
37
|
<td><%= check_box_tag "organization[available_locales][#{locale.id}]", locale.id, @form.available_locales.include?(locale.id), class: "!m-0" %></td>
|
|
38
38
|
<td><%= radio_button_tag "organization[default_locale]", locale.id, @form.default_locale == locale.id, class: "!m-0" %></td>
|
|
39
39
|
</tr>
|
|
@@ -22,14 +22,15 @@
|
|
|
22
22
|
</td>
|
|
23
23
|
<td>
|
|
24
24
|
<% if fresh_token?(api_user) %>
|
|
25
|
-
<div data-controller="password-toggler"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
<div data-controller="password-toggler" class="flex flex-row items-center gap-x-2">
|
|
26
|
+
<div class="input-group__password">
|
|
27
|
+
<input type="password" id="<%= "token_#{api_user.id}" %>" value="<%= @secret_user[:secret] %>" class="w-full" autocomplete="off">
|
|
28
|
+
</div>
|
|
29
|
+
<div class="basis-1/4"
|
|
30
|
+
data-show-password="<%= t "api_user.show_secret", scope: "decidim.system.actions" %>"
|
|
31
|
+
data-hide-password="<%= t "api_user.hide_secret", scope: "decidim.system.actions" %>"
|
|
32
|
+
data-hidden-password="<%= t "api_user.hidden_secret", scope: "decidim.system.actions" %>"
|
|
33
|
+
data-shown-password="<%= t "api_user.shown_secret", scope: "decidim.system.actions" %>">
|
|
33
34
|
<button type="button"
|
|
34
35
|
class="button button__sm button__text-primary"
|
|
35
36
|
data-controller="clipboard-copy"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<%= render partial: "layouts/decidim/system/sidebar" %>
|
|
12
12
|
</aside>
|
|
13
13
|
|
|
14
|
-
<main class="grow"
|
|
14
|
+
<main class="grow">
|
|
15
15
|
<div class="flex md:hidden items-center gap-2 bg-primary p-4 text-white font-bold text-lg">
|
|
16
16
|
<button id="aside-trigger" class="flex-none md:hidden" data-controller="dropdown" data-target="aside-system" data-disabled-md="true">
|
|
17
17
|
<%= icon "menu-line", class: "w-6 h-6 text-white fill-current" %>
|
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
data/config/locales/bs-BA.yml
CHANGED
data/config/locales/ca-IT.yml
CHANGED
data/config/locales/ca.yml
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
---
|
|
2
1
|
ca:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
5
4
|
oauth_application:
|
|
6
|
-
name: Nom de l'aplicació
|
|
5
|
+
name: Nom de l'aplicació
|
|
7
6
|
organization_logo: Logo de l'organització (quadrat)
|
|
8
7
|
organization_name: Organització
|
|
9
8
|
organization_url: URL de l'organització
|
|
@@ -299,7 +298,7 @@ ca:
|
|
|
299
298
|
organization_admin_email_hint: T'enviarem un correu electrònic a aquesta adreça perquè puguis confirmar-la i configurar la teva contrasenya.
|
|
300
299
|
reference_prefix_hint: El prefix de la referència s'utilitza per identificar de forma única els recursos del conjunt de l'organització.
|
|
301
300
|
secondary_hosts_hint: Introdueix cada un d'ells en una nova línia.
|
|
302
|
-
short_name_hint: Nom curt que es farà servir per a l'Aplicació Web Progressiva
|
|
301
|
+
short_name_hint: Nom curt que es farà servir per a l'Aplicació Web Progressiva. Ha de tenir un màxim de 12 caràcters.
|
|
303
302
|
title: Nova organització
|
|
304
303
|
omniauth_settings:
|
|
305
304
|
decidim:
|
data/config/locales/cs.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
cs:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -47,7 +46,6 @@ cs:
|
|
|
47
46
|
system:
|
|
48
47
|
actions:
|
|
49
48
|
api_user:
|
|
50
|
-
hidden_secret: Tajný klíč je skrytý
|
|
51
49
|
hide_secret: Skrýt tajný klíč
|
|
52
50
|
secret_can_not_be_shown: API secret může být zobrazeno nebo zkopírováno pouze po vytvoření
|
|
53
51
|
show_secret: Zobrazit tajný klíč
|
|
@@ -188,7 +186,6 @@ cs:
|
|
|
188
186
|
explanation: Aplikace, které nemohou používat registrované zákaznické tajemství, jako jsou aplikace běžící v prohlížeči nebo na mobilním zařízení.
|
|
189
187
|
name: Veřejné
|
|
190
188
|
application_type_help_html: 'Typ OAuth klienta definovaný <a href="%{client_type_link}" target="_blank">RFC 6749 Oddíl 2.1</a>. Veřejní klienti musí realizovat tok PKCE definovaný <a href="%{pkce_link}" target="_blank">RFC 7636</a>. '
|
|
191
|
-
refresh_tokens_help_html: 'Aktualizovat tokeny je užitečné v případě, že token potřebuje delší životnost, než je přiděleno pro přístupový token. Všimněte si, že <strong>obnovovací tokeny by měly být používány pečlivě</strong>, protože mohou oslabit bezpečnost vašich uživatelů. '
|
|
192
189
|
select_organization: Vybrat organizaci
|
|
193
190
|
index:
|
|
194
191
|
confirm_delete: Jste si jisti, že chcete odstranit tuto žádost?
|
data/config/locales/de.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
de:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -9,8 +8,6 @@ de:
|
|
|
9
8
|
organization_url: URL der Organisation
|
|
10
9
|
redirect_uri: Weiterleitungs-URI
|
|
11
10
|
refresh_tokens: Token aktualisieren
|
|
12
|
-
refresh_tokens_enabled: Refresh-Tokens aktiviert
|
|
13
|
-
scopes: Verfügbare Scopes
|
|
14
11
|
organization:
|
|
15
12
|
address: SMTP Hostname
|
|
16
13
|
from_email: E-Mail-Adresse
|
|
@@ -37,28 +34,14 @@ de:
|
|
|
37
34
|
must_be_ssl: Der Umleitungs-URI muss ein SSL-URI sein
|
|
38
35
|
organization:
|
|
39
36
|
attributes:
|
|
40
|
-
host:
|
|
41
|
-
invalid: ist ungültig
|
|
42
37
|
password:
|
|
43
38
|
secret_key: Sie müssen die SECRET_KEY_BASE Umgebungsvariable definieren, um dieses Feld speichern zu können
|
|
44
|
-
secondary_hosts:
|
|
45
|
-
invalid: ist ungültig
|
|
46
39
|
decidim:
|
|
47
40
|
system:
|
|
48
41
|
actions:
|
|
49
|
-
api_user:
|
|
50
|
-
hidden_secret: Secret ist ausgeblendet
|
|
51
|
-
hide_secret: Secret ausblenden
|
|
52
|
-
secret_can_not_be_shown: das API-Secret kann nur unmittelbar nach der Erstellung angezeigt oder kopiert werden
|
|
53
|
-
show_secret: Secret anzeigen
|
|
54
|
-
shown_secret: Secret wird angezeigt
|
|
55
42
|
api_users:
|
|
56
43
|
create: Erstellen
|
|
57
|
-
new: Neues API-Konto
|
|
58
|
-
remove: Konto entfernen
|
|
59
44
|
confirm_destroy: Möchtest du das wirklich löschen?
|
|
60
|
-
confirm_refresh_api_secret: Sind Sie sicher, dass Sie das Secret für dieses API-Konto erneuern möchten? Nach der Erneuerung ist das alte Secret ungültig und kann nicht mehr verwendet werden.
|
|
61
|
-
confirm_remove_api_user: Sind Sie sicher, dass Sie dieses API-Konto entfernen möchten?
|
|
62
45
|
copied: Kopiert
|
|
63
46
|
copy_secret: Geheimnis kopieren
|
|
64
47
|
copy_secret_clarification: Geheimnis in die Zwischenablage kopieren
|
|
@@ -90,22 +73,6 @@ de:
|
|
|
90
73
|
api_user:
|
|
91
74
|
create:
|
|
92
75
|
error: API-Benutzer konnte nicht erstellt werden.
|
|
93
|
-
success: API-Konto erfolgreich erstellt. Das Secret ist nur unmittelbar nach der Erstellung sichtbar. Bitte kopieren Sie es und bewahren Sie es sicher auf, bevor Sie diese Seite verlassen!
|
|
94
|
-
destroy:
|
|
95
|
-
success: API-Konto erfolgreich gelöscht.
|
|
96
|
-
refresh:
|
|
97
|
-
error: Etwas ist schiefgelaufen! Bitte versuchen Sie es später erneut.
|
|
98
|
-
success: Secret erfolgreich erneuert. Das Secret ist nur unmittelbar nach der Erstellung sichtbar. Bitte kopieren Sie es und bewahren Sie es sicher auf, bevor Sie diese Seite verlassen!
|
|
99
|
-
api_users:
|
|
100
|
-
index:
|
|
101
|
-
explanation_html: |
|
|
102
|
-
<p>Mit API-Konten können Integrationsentwickler:innen administrative Maschinenkonten zum System hinzufügen. Diese Maschinenkonten können auf der Plattform als Admin agieren, um Aktualisierungen vorzunehmen, die normale Admins sonst über den Administrationsbereich durchführen würden. Ein typischer Anwendungsfall ist eine externe Verwaltungsplattform, bei der ein automatisiertes Skript administrative Aufgaben auf der Plattform ausführt, ohne dass sich eine reale Person am System authentifizieren muss. Ein Automatisierungssystem möchte beispielsweise Antworten auf Vorschläge senden; in diesem Fall benötigen wir ein Integrationskonto, das diese Aufgabe innerhalb der Plattform übernimmt.</p>
|
|
103
|
-
<p>Der Hauptunterschied zwischen diesen Konten und normalen Admin-Konten besteht darin, dass diese Konten für die Nutzung durch Maschinen bestimmt sind und daher andere Anforderungen an das Passwort gelten. Diese Konten müssen ihr Passwort nicht regelmässig aktualisieren, und das Kontopasswort kann bei Bedarf kontrolliert geändert werden.</p>
|
|
104
|
-
<p>Diese Zugangsdaten sind für die Nutzung durch Maschinen bestimmt. Anwendungen mit direktem Kontakt zu Teilnehmenden sollten stattdessen über <a href="%{oauth_link}">OAuth-Anwendungen</a> eingebunden werden.</p>
|
|
105
|
-
manage: API-Konten verwalten
|
|
106
|
-
new:
|
|
107
|
-
select_organization: Wählen Sie Ihre Organisation aus
|
|
108
|
-
title: Neues API-Konto erstellen
|
|
109
76
|
dashboard:
|
|
110
77
|
show:
|
|
111
78
|
admins: Admins
|
|
@@ -134,7 +101,6 @@ de:
|
|
|
134
101
|
sign_up: Konto erstellen
|
|
135
102
|
menu:
|
|
136
103
|
admins: Admins
|
|
137
|
-
api_credentials: API-Zugangsdaten
|
|
138
104
|
dashboard: Instrumententafel
|
|
139
105
|
oauth_applications: OAuth-Anwendungen
|
|
140
106
|
organizations: Organisationen
|
|
@@ -145,15 +111,6 @@ de:
|
|
|
145
111
|
email: Email
|
|
146
112
|
validations:
|
|
147
113
|
email_uniqueness: ein anderer Administrator mit der gleichen E-Mail existiert bereits
|
|
148
|
-
api_user:
|
|
149
|
-
fields:
|
|
150
|
-
created_at: Erstellt am
|
|
151
|
-
key: Schlüssel
|
|
152
|
-
name: Name
|
|
153
|
-
organization: Organisation
|
|
154
|
-
secret: Secret
|
|
155
|
-
validations:
|
|
156
|
-
name_uniqueness: Es existiert bereits ein API-Konto mit diesem Namen.
|
|
157
114
|
oauth_application:
|
|
158
115
|
fields:
|
|
159
116
|
created_at: Erstellt am
|
|
@@ -180,26 +137,6 @@ de:
|
|
|
180
137
|
save: Speichern
|
|
181
138
|
title: Anwendung bearbeiten
|
|
182
139
|
form:
|
|
183
|
-
application_type:
|
|
184
|
-
confidential:
|
|
185
|
-
explanation: Anwendungen, die sich sicher gegenüber dem Autorisierungsserver authentifizieren können, zum Beispiel indem sie ihr registriertes Client-Secret sicher aufbewahren können. Typischerweise eine Anwendung, die auf einem Server läuft, auf dem das Client-Secret gespeichert ist.
|
|
186
|
-
name: Vertraulich
|
|
187
|
-
public:
|
|
188
|
-
explanation: Anwendungen, die kein registriertes Client-Secret verwenden können, etwa Anwendungen, die in einem Browser oder auf einem Mobilgerät laufen.
|
|
189
|
-
name: Öffentlich
|
|
190
|
-
application_type_help_html: 'Der OAuth-Client-Typ gemäss <a href="%{client_type_link}" target="_blank">RFC 6749, Abschnitt 2.1</a>. Öffentliche Clients müssen den PKCE-Ablauf gemäss <a href="%{pkce_link}" target="_blank">RFC 7636</a> implementieren. '
|
|
191
|
-
refresh_tokens_help_html: 'Refresh-Tokens sind nützlich, wenn ein Token eine längere Lebensdauer benötigt, als für das Access-Token vorgesehen ist. Beachten Sie, dass <strong>Refresh-Tokens mit Vorsicht verwendet werden sollten</strong>, da sie die Sicherheit Ihrer Nutzenden beeinträchtigen können. '
|
|
192
|
-
scopes_explanation:
|
|
193
|
-
"api:read": Ermöglicht es, über die GraphQL-API Abfragen (Query-Operationen) durchzuführen.
|
|
194
|
-
"api:write": Ermöglicht es, über die GraphQL-API Änderungsoperationen (Mutation-Operationen) durchzuführen.
|
|
195
|
-
profile: Gewährt Zugriff auf die eigenen Profildetails. Dieser Scope genügt, wenn die OAuth-Anwendung nur als Identitätsanbieter oder Authentifizierungsdienst genutzt wird.
|
|
196
|
-
user: Ermöglicht es, bei Aufrufen der GraphQL-API mit dem angegebenen Token als die angemeldete Person zu agieren. Dies ist für alle api:write-Operationen sowie für api:read-Operationen erforderlich, die Informationen über die aktuell angemeldete Person benötigen.
|
|
197
|
-
scopes_help_html: |
|
|
198
|
-
Die ausgewählten Scopes stehen den verbundenen Anwendungen zur Verfügung, um sie während des Autorisierungsprozesses anzufordern. Beim Anmelden über OAuth werden der jeweiligen Person Details zur Autorisierungsanfrage angezeigt.
|
|
199
|
-
<br>
|
|
200
|
-
Unterschiedliche Scopes bieten unterschiedliche Funktionen für die angemeldete Person über die gewährten Access-Tokens.
|
|
201
|
-
<br>
|
|
202
|
-
<strong>Hinweis:</strong> Wenn Sie Ihre Nutzenden nur gegenüber Ihren externen Anwendungen authentifizieren müssen, benötigen Sie lediglich den Scope <strong>profile</strong>. Anwendungen, die mit der Decidim-API interagieren, benötigen zusätzliche Scopes.
|
|
203
140
|
select_organization: Organisation wählen
|
|
204
141
|
index:
|
|
205
142
|
confirm_delete: Möchten Sie diese Anwendung wirklich löschen?
|
|
@@ -262,7 +199,6 @@ de:
|
|
|
262
199
|
confirm_resend_invitation: Sind Sie sicher, das Sie die Einladung erneut senden möchten?
|
|
263
200
|
resend_invitation: Einladung erneut senden
|
|
264
201
|
secondary_hosts_hint: Geben Sie jede von ihnen in einer neuen Zeile ein
|
|
265
|
-
short_name_hint: Kurzname für die Progressive Web App. Er darf maximal 12 Zeichen umfassen.
|
|
266
202
|
title: Organisation bearbeiten
|
|
267
203
|
file_upload_settings:
|
|
268
204
|
content_types:
|
|
@@ -282,7 +218,6 @@ de:
|
|
|
282
218
|
intro: |
|
|
283
219
|
Bitte seien Sie besonders vorsichtig, wenn Sie überlegen, diese Einstellungen zu ändern. Je weniger Sie erlauben, desto besser.
|
|
284
220
|
Wenn bestimmte Dateierweiterungen oder MIME-Typen zugelassen werden, können Benutzer Sicherheitsrisiken ausgesetzt werden und es kann auch die Zugänglichkeit der Website beeinträchtigen.
|
|
285
|
-
header_snippets_help_html: Verwenden Sie dieses Feld, um Inhalte im HTML-Head-Bereich zu ergänzen. Der häufigste Anwendungsfall ist die Einbindung von Drittanbieterdiensten, die zusätzliches JavaScript oder CSS benötigen. Sie können es auch verwenden, um zusätzliche Meta-Tags ins HTML einzufügen. Beachten Sie, dass dies nur auf öffentlichen Seiten dargestellt wird, nicht im Admin-Bereich. Wenn der Code mit externen APIs interagiert oder nicht den Sicherheitsrichtlinien der Anwendung entspricht, muss die Content Security Policy angepasst werden. Weitere Informationen finden Sie <a href="https://docs.decidim.org/en/develop/customize/content_security_policy">auf der Dokumentationsseite</a> .
|
|
286
221
|
index:
|
|
287
222
|
title: Organisationen
|
|
288
223
|
new:
|
|
@@ -292,7 +227,6 @@ de:
|
|
|
292
227
|
organization_admin_email_hint: Wir senden Ihnen eine E-Mail an diese Adresse, die Sie bestätigen müssen um Ihr Passwort einrichten zu können.
|
|
293
228
|
reference_prefix_hint: Das Referenzpräfix wird zur eindeutigen Identifizierung von Ressourcen in allen Organisationen verwendet.
|
|
294
229
|
secondary_hosts_hint: Geben Sie jede von ihnen in einer neuen Zeile ein.
|
|
295
|
-
short_name_hint: Kurzname für die Progressive Web App. Er darf maximal 12 Zeichen umfassen.
|
|
296
230
|
title: Neue Organisation
|
|
297
231
|
omniauth_settings:
|
|
298
232
|
decidim:
|
data/config/locales/el.yml
CHANGED
data/config/locales/eo.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
data/config/locales/es-PY.yml
CHANGED
data/config/locales/es.yml
CHANGED