decidim-system 0.31.3 → 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/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 +3 -3
- data/app/forms/decidim/system/base_organization_form.rb +59 -0
- data/app/forms/decidim/system/register_organization_form.rb +1 -0
- data/app/views/decidim/system/organizations/new.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 +6 -3
- data/config/locales/ca.yml +6 -3
- data/config/locales/cs.yml +12 -1
- data/config/locales/de.yml +0 -1
- data/config/locales/el.yml +0 -1
- data/config/locales/en.yml +4 -0
- data/config/locales/eo.yml +0 -1
- data/config/locales/es-MX.yml +4 -1
- data/config/locales/es-PY.yml +4 -1
- data/config/locales/es.yml +4 -1
- data/config/locales/eu.yml +4 -1
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/fi-plain.yml +4 -1
- data/config/locales/fi.yml +4 -1
- data/config/locales/fr-CA.yml +4 -1
- data/config/locales/fr.yml +4 -1
- data/config/locales/ga-IE.yml +0 -1
- data/config/locales/gl.yml +0 -1
- 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 +0 -1
- 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 -1
- data/config/locales/sl.yml +0 -1
- data/config/locales/sr-CS.yml +0 -1
- data/config/locales/sv.yml +0 -1
- 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
|
|
|
@@ -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
|
|
@@ -65,6 +65,8 @@ module Decidim
|
|
|
65
65
|
validate :validate_short_name_uniqueness
|
|
66
66
|
validate :validate_short_name_format
|
|
67
67
|
validate :validate_secret_key_base_for_encryption
|
|
68
|
+
validate :validate_host_format
|
|
69
|
+
validate :validate_secondary_hosts_format
|
|
68
70
|
|
|
69
71
|
def map_model(model)
|
|
70
72
|
self.default_locale = model.default_locale
|
|
@@ -134,6 +136,63 @@ module Decidim
|
|
|
134
136
|
def validate_short_name_format
|
|
135
137
|
raise "#{self.class.name} is expected to implement #validate_short_name_format"
|
|
136
138
|
end
|
|
139
|
+
|
|
140
|
+
# Validates the host format for organization domains.
|
|
141
|
+
#
|
|
142
|
+
# Valid formats:
|
|
143
|
+
# - Fully Qualified Domain Names (FQDN): example.org, sub.example.org, my-site.example.org
|
|
144
|
+
# - Localhost: localhost (common for development)
|
|
145
|
+
# - IPv4 addresses: 127.0.0.1, 192.168.1.1
|
|
146
|
+
# - IPv6 addresses: ::1, 2001:db8::1, [::1]
|
|
147
|
+
#
|
|
148
|
+
# Invalid formats (will be rejected):
|
|
149
|
+
# - Hosts containing spaces
|
|
150
|
+
# - Hosts with invalid characters (!@#$%^&* etc.)
|
|
151
|
+
# - Hosts with leading/trailing hyphens in labels (e.g., -example.com or example-.com)
|
|
152
|
+
# - Labels longer than 63 characters
|
|
153
|
+
# - Total host length exceeding 253 characters
|
|
154
|
+
#
|
|
155
|
+
# @see https://en.wikipedia.org/wiki/Fully_qualified_domain_name
|
|
156
|
+
# @see https://en.wikipedia.org/wiki/IPv4_address
|
|
157
|
+
# @see https://en.wikipedia.org/wiki/IPv6_address
|
|
158
|
+
#
|
|
159
|
+
HOST_FORMAT_REGEX = %r{
|
|
160
|
+
\A
|
|
161
|
+
(?:
|
|
162
|
+
# FQDN: requires at least one dot, labels separated by dots.
|
|
163
|
+
# Each label: alphanumeric start/end, alphanumerics and hyphens inside, max 63 chars.
|
|
164
|
+
(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}
|
|
165
|
+
|
|
|
166
|
+
# Localhost: common development hostname.
|
|
167
|
+
localhost
|
|
168
|
+
|
|
|
169
|
+
# IPv4: four octets (0-255 each).
|
|
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)
|
|
171
|
+
|
|
|
172
|
+
# IPv6: bracketed form [::1] or unbracketed (standard and compressed forms).
|
|
173
|
+
(?:\[[\da-fA-F:]+\]|[\da-fA-F:]+\z)
|
|
174
|
+
)
|
|
175
|
+
\z
|
|
176
|
+
}x
|
|
177
|
+
|
|
178
|
+
def validate_host_format
|
|
179
|
+
return if host.blank?
|
|
180
|
+
|
|
181
|
+
return if host.match?(HOST_FORMAT_REGEX)
|
|
182
|
+
|
|
183
|
+
errors.add(:host, :invalid)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def validate_secondary_hosts_format
|
|
187
|
+
return if secondary_hosts.blank?
|
|
188
|
+
|
|
189
|
+
clean_secondary_hosts.each do |secondary_host|
|
|
190
|
+
next if secondary_host.match?(HOST_FORMAT_REGEX)
|
|
191
|
+
|
|
192
|
+
errors.add(:secondary_hosts, :invalid)
|
|
193
|
+
break
|
|
194
|
+
end
|
|
195
|
+
end
|
|
137
196
|
end
|
|
138
197
|
end
|
|
139
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>
|
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
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
---
|
|
2
1
|
ca-IT:
|
|
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ó
|
|
@@ -37,8 +36,12 @@ ca-IT:
|
|
|
37
36
|
must_be_ssl: L'URI de redirecció ha de ser una URI SSL
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: no és vàlid
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Cal que defineixis la variable d'entorn SECRET_KEY_BASE per a poder guardar aquest camp
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: no és vàlid
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
|
@@ -295,7 +298,7 @@ ca-IT:
|
|
|
295
298
|
organization_admin_email_hint: T'enviarem un correu electrònic a aquesta adreça perquè puguis confirmar-la i configurar la teva contrasenya.
|
|
296
299
|
reference_prefix_hint: El prefix de la referència s'utilitza per identificar de forma única els recursos del conjunt de l'organització.
|
|
297
300
|
secondary_hosts_hint: Introdueix cada un d'ells en una nova línia.
|
|
298
|
-
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.
|
|
299
302
|
title: Nova organització
|
|
300
303
|
omniauth_settings:
|
|
301
304
|
decidim:
|
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ó
|
|
@@ -37,8 +36,12 @@ ca:
|
|
|
37
36
|
must_be_ssl: L'URI de redirecció ha de ser una URI SSL
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: no és vàlid
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Cal que defineixis la variable d'entorn SECRET_KEY_BASE per a poder guardar aquest camp
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: no és vàlid
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
|
@@ -295,7 +298,7 @@ ca:
|
|
|
295
298
|
organization_admin_email_hint: T'enviarem un correu electrònic a aquesta adreça perquè puguis confirmar-la i configurar la teva contrasenya.
|
|
296
299
|
reference_prefix_hint: El prefix de la referència s'utilitza per identificar de forma única els recursos del conjunt de l'organització.
|
|
297
300
|
secondary_hosts_hint: Introdueix cada un d'ells en una nova línia.
|
|
298
|
-
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.
|
|
299
302
|
title: Nova organització
|
|
300
303
|
omniauth_settings:
|
|
301
304
|
decidim:
|
data/config/locales/cs.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
cs:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ cs:
|
|
|
37
36
|
must_be_ssl: URI přesměrování musí být SSL URI
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: je neplatný
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Abyste mohli toto pole uložit, musíte definovat proměnnou prostředí SECRET_KEY_BASE.
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: je neplatný
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
|
@@ -53,6 +56,7 @@ cs:
|
|
|
53
56
|
remove: Odebrat uživatele
|
|
54
57
|
confirm_destroy: Opravdu to chcete smazat?
|
|
55
58
|
confirm_refresh_api_secret: Opravdu chcete obnovit tajný klíč pro tohoto uživatele API? Po obnově bude starý tajný klíč neplatný a již nemůže být použit.
|
|
59
|
+
confirm_remove_api_user: Opravdu chcete odstranit tohoto uživatele API?
|
|
56
60
|
copied: Zkopírováno
|
|
57
61
|
copy_secret: Kopírovat tajný klíč
|
|
58
62
|
copy_secret_clarification: Zkopírovat tajný klíč do schránky
|
|
@@ -92,6 +96,10 @@ cs:
|
|
|
92
96
|
success: Tajný klíč byl úspěšně obnoven. Tajný klíč pro uživatele je viditelný pouze po vytvoření. Zkopírujte jej a uložte jej bezpečně před opuštěním této stránky!
|
|
93
97
|
api_users:
|
|
94
98
|
index:
|
|
99
|
+
explanation_html: |
|
|
100
|
+
<p>Uživatelé API umožňují integračním vývojářům přidávat do systému účty pro administrátorské uživatele. Tito uživatelé mohou působit jako správci na platformě pro provádění aktualizací, které by běžní správci prováděli prostřednictvím administrátorského panelu. Typickým případem použití je vnější platforma řízení, kde by automatizovaný skript prováděl administrativní úkoly s platformou, aniž by se skutečný uživatel musel přihlásit do systému. Například systém automatizace může chtít poslat odpovědi na návrhy, v kterémžto případě potřebujeme, aby integrovaný uživatel provedl tento úkol v rámci této platformy.</p>
|
|
101
|
+
<p>Hlavní rozdíl mezi těmito účty a běžnými účty správce spočívá v tom, že tito uživatelé jsou určeni k používání na strojích, a proto se jejich požadavky na heslo liší. Tito uživatelé nemusí pravidelně aktualizovat své heslo a v případě potřeby může dojít ke změně hesla k účtu řízeným způsobem.</p>
|
|
102
|
+
<p>Tyto přihlašovací údaje jsou určeny pro použití stroji. Účastnické aplikace by měly být integrovány s <a href="%{oauth_link}">OAuth aplikacemi</a>.</p>
|
|
95
103
|
manage: Správa uživatelů API
|
|
96
104
|
new:
|
|
97
105
|
select_organization: Vyberte vaši organizaci
|
|
@@ -175,7 +183,9 @@ cs:
|
|
|
175
183
|
explanation: Aplikace, které se mohou bezpečně autentizovat s autorizačním serverem, například udržovat registrované klienty zabezpečené. Obvykle aplikace běžící na serveru, kde je uložen tajný kód klienta.
|
|
176
184
|
name: Důvěrné
|
|
177
185
|
public:
|
|
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í.
|
|
178
187
|
name: Veřejné
|
|
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>. '
|
|
179
189
|
select_organization: Vybrat organizaci
|
|
180
190
|
index:
|
|
181
191
|
confirm_delete: Jste si jisti, že chcete odstranit tuto žádost?
|
|
@@ -246,6 +256,7 @@ cs:
|
|
|
246
256
|
confirm_resend_invitation: Opravdu chcete znovu odeslat pozvánku?
|
|
247
257
|
resend_invitation: Znovu odeslat pozvánku
|
|
248
258
|
secondary_hosts_hint: Zadejte každý z nich do nového řádku
|
|
259
|
+
short_name_hint: Krátký název použitý pro progresivní webovou aplikaci. Musí mít maximálně 12 znaků.
|
|
249
260
|
title: Upravit organizaci
|
|
250
261
|
file_upload_settings:
|
|
251
262
|
content_types:
|
data/config/locales/de.yml
CHANGED
data/config/locales/el.yml
CHANGED
data/config/locales/en.yml
CHANGED
|
@@ -37,8 +37,12 @@ en:
|
|
|
37
37
|
must_be_ssl: The redirect URI must be a SSL URI
|
|
38
38
|
organization:
|
|
39
39
|
attributes:
|
|
40
|
+
host:
|
|
41
|
+
invalid: is invalid
|
|
40
42
|
password:
|
|
41
43
|
secret_key: You need to define the SECRET_KEY_BASE environment variable to be able to save this field
|
|
44
|
+
secondary_hosts:
|
|
45
|
+
invalid: is invalid
|
|
42
46
|
decidim:
|
|
43
47
|
system:
|
|
44
48
|
actions:
|
data/config/locales/eo.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
es-MX:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ es-MX:
|
|
|
37
36
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: no es válido
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: no es válido
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
es-PY:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ es-PY:
|
|
|
37
36
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: no es válido
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: no es válido
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/es.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
es:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ es:
|
|
|
37
36
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: no es válido
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: no es válido
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/eu.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
eu:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ eu:
|
|
|
37
36
|
must_be_ssl: Berbideratzeko URIa URI SSL izan behar da
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: baliogabea da
|
|
40
41
|
password:
|
|
41
42
|
secret_key: SECRET_KEY_BASE ingurunearen aldagaia definitu behar duzu eremu hau gorde ahal izateko
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: baliogabea da
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/fa-IR.yml
CHANGED
data/config/locales/fi-plain.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
fi-pl:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ fi-pl:
|
|
|
37
36
|
must_be_ssl: Uudelleenohjaus osoite (URI) on oltava SSL-muotoinen osoite (URI)
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: on virheellinen
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Sinun täytyy määritellä SECRET_KEY_BASE ympäristömuuttuja, jotta voit tallentaa tämän kentän.
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: on virheellinen
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/fi.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
fi:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -37,8 +36,12 @@ fi:
|
|
|
37
36
|
must_be_ssl: Uudelleenohjaus osoite (URI) on oltava SSL-muotoinen osoite (URI)
|
|
38
37
|
organization:
|
|
39
38
|
attributes:
|
|
39
|
+
host:
|
|
40
|
+
invalid: on virheellinen
|
|
40
41
|
password:
|
|
41
42
|
secret_key: Sinun täytyy määritellä SECRET_KEY_BASE ympäristömuuttuja, jotta voit tallentaa tämän kentän.
|
|
43
|
+
secondary_hosts:
|
|
44
|
+
invalid: on virheellinen
|
|
42
45
|
decidim:
|
|
43
46
|
system:
|
|
44
47
|
actions:
|
data/config/locales/fr-CA.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
fr-CA:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -34,8 +33,12 @@ fr-CA:
|
|
|
34
33
|
must_be_ssl: L'URI de redirection doit être une URI SSL
|
|
35
34
|
organization:
|
|
36
35
|
attributes:
|
|
36
|
+
host:
|
|
37
|
+
invalid: est invalide
|
|
37
38
|
password:
|
|
38
39
|
secret_key: Vous devez définir la variable d'environnement SECRET_KEY_BASE pour pouvoir enregistrer ce champ
|
|
40
|
+
secondary_hosts:
|
|
41
|
+
invalid: est invalide
|
|
39
42
|
decidim:
|
|
40
43
|
system:
|
|
41
44
|
actions:
|
data/config/locales/fr.yml
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
---
|
|
2
1
|
fr:
|
|
3
2
|
activemodel:
|
|
4
3
|
attributes:
|
|
@@ -34,8 +33,12 @@ fr:
|
|
|
34
33
|
must_be_ssl: L'URI de redirection doit être une URI SSL
|
|
35
34
|
organization:
|
|
36
35
|
attributes:
|
|
36
|
+
host:
|
|
37
|
+
invalid: est invalide
|
|
37
38
|
password:
|
|
38
39
|
secret_key: Vous devez définir la variable d'environnement SECRET_KEY_BASE pour pouvoir enregistrer ce champ
|
|
40
|
+
secondary_hosts:
|
|
41
|
+
invalid: est invalide
|
|
39
42
|
decidim:
|
|
40
43
|
system:
|
|
41
44
|
actions:
|
data/config/locales/ga-IE.yml
CHANGED
data/config/locales/gl.yml
CHANGED
data/config/locales/hu.yml
CHANGED
data/config/locales/id-ID.yml
CHANGED
data/config/locales/is-IS.yml
CHANGED
data/config/locales/it.yml
CHANGED
data/config/locales/ja.yml
CHANGED
data/config/locales/kaa.yml
CHANGED
data/config/locales/lb.yml
CHANGED
data/config/locales/lt.yml
CHANGED
data/config/locales/lv.yml
CHANGED
data/config/locales/nl.yml
CHANGED
data/config/locales/no.yml
CHANGED
data/config/locales/pl.yml
CHANGED
data/config/locales/pt-BR.yml
CHANGED
data/config/locales/pt.yml
CHANGED
data/config/locales/ro-RO.yml
CHANGED
data/config/locales/ru.yml
CHANGED
data/config/locales/sk.yml
CHANGED
data/config/locales/sl.yml
CHANGED
data/config/locales/sr-CS.yml
CHANGED
data/config/locales/sv.yml
CHANGED
data/config/locales/tr-TR.yml
CHANGED
data/config/locales/uk.yml
CHANGED
data/config/locales/zh-CN.yml
CHANGED
data/config/locales/zh-TW.yml
CHANGED
data/decidim-system.gemspec
CHANGED
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
|
4
4
|
|
|
5
|
-
# Maintain your gem's version:
|
|
6
|
-
require "decidim/system/version"
|
|
7
|
-
|
|
8
|
-
# Describe your gem and declare its dependencies:
|
|
9
5
|
Gem::Specification.new do |s|
|
|
10
|
-
|
|
6
|
+
version = "0.32.0.rc1"
|
|
7
|
+
s.version = version
|
|
11
8
|
s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
|
|
12
9
|
s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
|
|
13
10
|
s.license = "AGPL-3.0-or-later"
|
|
@@ -19,7 +16,7 @@ Gem::Specification.new do |s|
|
|
|
19
16
|
"homepage_uri" => "https://decidim.org",
|
|
20
17
|
"source_code_uri" => "https://github.com/decidim/decidim"
|
|
21
18
|
}
|
|
22
|
-
s.required_ruby_version = "~> 3.
|
|
19
|
+
s.required_ruby_version = "~> 3.4.0"
|
|
23
20
|
|
|
24
21
|
s.name = "decidim-system"
|
|
25
22
|
s.summary = "Decidim system administration"
|
|
@@ -33,10 +30,10 @@ Gem::Specification.new do |s|
|
|
|
33
30
|
end
|
|
34
31
|
|
|
35
32
|
s.add_dependency "active_link_to", "~> 1.0"
|
|
36
|
-
s.add_dependency "decidim-core",
|
|
37
|
-
s.add_dependency "devise", "
|
|
33
|
+
s.add_dependency "decidim-core", version
|
|
34
|
+
s.add_dependency "devise", ">= 4.7", "< 6.0"
|
|
38
35
|
s.add_dependency "devise-i18n", "~> 1.2"
|
|
39
36
|
s.add_dependency "devise_invitable", "~> 2.0", ">= 2.0.9"
|
|
40
37
|
|
|
41
|
-
s.add_development_dependency "decidim-dev",
|
|
38
|
+
s.add_development_dependency "decidim-dev", version
|
|
42
39
|
end
|
data/lib/decidim/system/menu.rb
CHANGED
|
@@ -9,7 +9,7 @@ module Decidim
|
|
|
9
9
|
I18n.t("menu.dashboard", scope: "decidim.system"),
|
|
10
10
|
decidim_system.root_path,
|
|
11
11
|
position: 1,
|
|
12
|
-
active: ["decidim/system/dashboard" => :show]
|
|
12
|
+
active: [{ "decidim/system/dashboard" => :show }]
|
|
13
13
|
if Decidim.module_installed?(:api)
|
|
14
14
|
menu.add_item :api_credentials,
|
|
15
15
|
I18n.t("menu.api_credentials", scope: "decidim.system"),
|
data/lib/decidim/system.rb
CHANGED
|
@@ -9,11 +9,15 @@ module Decidim
|
|
|
9
9
|
# eye view of the whole system.
|
|
10
10
|
#
|
|
11
11
|
module System
|
|
12
|
-
|
|
12
|
+
class << self
|
|
13
|
+
def config = self
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
def configure
|
|
16
|
+
yield self
|
|
17
|
+
end
|
|
17
18
|
end
|
|
19
|
+
|
|
20
|
+
# The length of API secrets generated for API users.
|
|
21
|
+
mattr_accessor :api_users_secret_length, default: ENV.fetch("DECIDIM_SYSTEM_API_USERS_SECRET_LENGTH", 32).to_i
|
|
18
22
|
end
|
|
19
23
|
end
|
metadata
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: decidim-system
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.32.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Josep Jaume Rey Peroy
|
|
8
8
|
- Marc Riera Casals
|
|
9
9
|
- Oriol Gual Oliva
|
|
10
|
-
autorequire:
|
|
11
10
|
bindir: bin
|
|
12
11
|
cert_chain: []
|
|
13
|
-
date:
|
|
12
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
14
13
|
dependencies:
|
|
15
14
|
- !ruby/object:Gem::Dependency
|
|
16
15
|
name: active_link_to
|
|
@@ -32,28 +31,34 @@ dependencies:
|
|
|
32
31
|
requirements:
|
|
33
32
|
- - '='
|
|
34
33
|
- !ruby/object:Gem::Version
|
|
35
|
-
version: 0.
|
|
34
|
+
version: 0.32.0.rc1
|
|
36
35
|
type: :runtime
|
|
37
36
|
prerelease: false
|
|
38
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
38
|
requirements:
|
|
40
39
|
- - '='
|
|
41
40
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: 0.
|
|
41
|
+
version: 0.32.0.rc1
|
|
43
42
|
- !ruby/object:Gem::Dependency
|
|
44
43
|
name: devise
|
|
45
44
|
requirement: !ruby/object:Gem::Requirement
|
|
46
45
|
requirements:
|
|
47
|
-
- - "
|
|
46
|
+
- - ">="
|
|
48
47
|
- !ruby/object:Gem::Version
|
|
49
48
|
version: '4.7'
|
|
49
|
+
- - "<"
|
|
50
|
+
- !ruby/object:Gem::Version
|
|
51
|
+
version: '6.0'
|
|
50
52
|
type: :runtime
|
|
51
53
|
prerelease: false
|
|
52
54
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
55
|
requirements:
|
|
54
|
-
- - "
|
|
56
|
+
- - ">="
|
|
55
57
|
- !ruby/object:Gem::Version
|
|
56
58
|
version: '4.7'
|
|
59
|
+
- - "<"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '6.0'
|
|
57
62
|
- !ruby/object:Gem::Dependency
|
|
58
63
|
name: devise-i18n
|
|
59
64
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,14 +99,14 @@ dependencies:
|
|
|
94
99
|
requirements:
|
|
95
100
|
- - '='
|
|
96
101
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: 0.
|
|
102
|
+
version: 0.32.0.rc1
|
|
98
103
|
type: :development
|
|
99
104
|
prerelease: false
|
|
100
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
106
|
requirements:
|
|
102
107
|
- - '='
|
|
103
108
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: 0.
|
|
109
|
+
version: 0.32.0.rc1
|
|
105
110
|
description: System administration to create new organization in an installation.
|
|
106
111
|
email:
|
|
107
112
|
- josepjaume@gmail.com
|
|
@@ -294,7 +299,6 @@ metadata:
|
|
|
294
299
|
funding_uri: https://opencollective.com/decidim
|
|
295
300
|
homepage_uri: https://decidim.org
|
|
296
301
|
source_code_uri: https://github.com/decidim/decidim
|
|
297
|
-
post_install_message:
|
|
298
302
|
rdoc_options: []
|
|
299
303
|
require_paths:
|
|
300
304
|
- lib
|
|
@@ -302,15 +306,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
302
306
|
requirements:
|
|
303
307
|
- - "~>"
|
|
304
308
|
- !ruby/object:Gem::Version
|
|
305
|
-
version: 3.
|
|
309
|
+
version: 3.4.0
|
|
306
310
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
307
311
|
requirements:
|
|
308
312
|
- - ">="
|
|
309
313
|
- !ruby/object:Gem::Version
|
|
310
314
|
version: '0'
|
|
311
315
|
requirements: []
|
|
312
|
-
rubygems_version: 3.
|
|
313
|
-
signing_key:
|
|
316
|
+
rubygems_version: 3.6.9
|
|
314
317
|
specification_version: 4
|
|
315
318
|
summary: Decidim system administration
|
|
316
319
|
test_files: []
|