decidim-system 0.30.6 → 0.30.8
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/app/forms/decidim/system/base_organization_form.rb +59 -0
- data/config/locales/ca-IT.yml +5 -1
- data/config/locales/ca.yml +5 -1
- data/config/locales/cs.yml +4 -0
- data/config/locales/en.yml +4 -0
- data/config/locales/es-MX.yml +4 -0
- data/config/locales/es-PY.yml +4 -0
- data/config/locales/es.yml +4 -0
- data/config/locales/eu.yml +4 -0
- data/config/locales/fi-plain.yml +4 -0
- data/config/locales/fi.yml +4 -0
- data/config/locales/fr-CA.yml +4 -0
- data/config/locales/fr.yml +4 -0
- data/lib/decidim/system/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26dff893bfd173e7d638362b4b16e74de4c8e90438d590ed6f16d2f1e78d5a19
|
|
4
|
+
data.tar.gz: c4660940fc1bdbac9b5003a91c5db30a38bcc25b1f4f52592c176a5db06458fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ad2d233a3ee5900fcef140a77db4794830882a7f5d54a5a42746ea6bf62abfab574ae11201762dede399e9d1b8568a9e3b1a03936827d212501983edf31a336
|
|
7
|
+
data.tar.gz: 9f448f6d3b7c58200d403bc8cb5169e63375e625ca9dbc4ab35c142173f30c3c5594f6879d346d0c745f7f9c736410a4f8990437343380b14b86bdc45a1bb163
|
|
@@ -61,6 +61,8 @@ module Decidim
|
|
|
61
61
|
validate :validate_organization_uniqueness
|
|
62
62
|
validate :validate_secret_key_base_for_encryption
|
|
63
63
|
validates :users_registration_mode, inclusion: { in: Decidim::Organization.users_registration_modes }
|
|
64
|
+
validate :validate_host_format
|
|
65
|
+
validate :validate_secondary_hosts_format
|
|
64
66
|
|
|
65
67
|
def map_model(model)
|
|
66
68
|
self.default_locale = model.default_locale
|
|
@@ -122,6 +124,63 @@ module Decidim
|
|
|
122
124
|
def validate_organization_uniqueness
|
|
123
125
|
raise "#{self.class.name} is expected to implement #validate_organization_uniqueness"
|
|
124
126
|
end
|
|
127
|
+
|
|
128
|
+
# Validates the host format for organization domains.
|
|
129
|
+
#
|
|
130
|
+
# Valid formats:
|
|
131
|
+
# - Fully Qualified Domain Names (FQDN): example.org, sub.example.org, my-site.example.org
|
|
132
|
+
# - Localhost: localhost (common for development)
|
|
133
|
+
# - IPv4 addresses: 127.0.0.1, 192.168.1.1
|
|
134
|
+
# - IPv6 addresses: ::1, 2001:db8::1, [::1]
|
|
135
|
+
#
|
|
136
|
+
# Invalid formats (will be rejected):
|
|
137
|
+
# - Hosts containing spaces
|
|
138
|
+
# - Hosts with invalid characters (!@#$%^&* etc.)
|
|
139
|
+
# - Hosts with leading/trailing hyphens in labels (e.g., -example.com or example-.com)
|
|
140
|
+
# - Labels longer than 63 characters
|
|
141
|
+
# - Total host length exceeding 253 characters
|
|
142
|
+
#
|
|
143
|
+
# @see https://en.wikipedia.org/wiki/Fully_qualified_domain_name
|
|
144
|
+
# @see https://en.wikipedia.org/wiki/IPv4_address
|
|
145
|
+
# @see https://en.wikipedia.org/wiki/IPv6_address
|
|
146
|
+
#
|
|
147
|
+
HOST_FORMAT_REGEX = %r{
|
|
148
|
+
\A
|
|
149
|
+
(?:
|
|
150
|
+
# FQDN: requires at least one dot, labels separated by dots.
|
|
151
|
+
# Each label: alphanumeric start/end, alphanumerics and hyphens inside, max 63 chars.
|
|
152
|
+
(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}
|
|
153
|
+
|
|
|
154
|
+
# Localhost: common development hostname.
|
|
155
|
+
localhost
|
|
156
|
+
|
|
|
157
|
+
# IPv4: four octets (0-255 each).
|
|
158
|
+
(?:(?: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)
|
|
159
|
+
|
|
|
160
|
+
# IPv6: bracketed form [::1] or unbracketed (standard and compressed forms).
|
|
161
|
+
(?:\[[\da-fA-F:]+\]|[\da-fA-F:]+\z)
|
|
162
|
+
)
|
|
163
|
+
\z
|
|
164
|
+
}x
|
|
165
|
+
|
|
166
|
+
def validate_host_format
|
|
167
|
+
return if host.blank?
|
|
168
|
+
|
|
169
|
+
return if host.match?(HOST_FORMAT_REGEX)
|
|
170
|
+
|
|
171
|
+
errors.add(:host, :invalid)
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def validate_secondary_hosts_format
|
|
175
|
+
return if secondary_hosts.blank?
|
|
176
|
+
|
|
177
|
+
clean_secondary_hosts.each do |secondary_host|
|
|
178
|
+
next if secondary_host.match?(HOST_FORMAT_REGEX)
|
|
179
|
+
|
|
180
|
+
errors.add(:secondary_hosts, :invalid)
|
|
181
|
+
break
|
|
182
|
+
end
|
|
183
|
+
end
|
|
125
184
|
end
|
|
126
185
|
end
|
|
127
186
|
end
|
data/config/locales/ca-IT.yml
CHANGED
|
@@ -3,7 +3,7 @@ ca-IT:
|
|
|
3
3
|
activemodel:
|
|
4
4
|
attributes:
|
|
5
5
|
oauth_application:
|
|
6
|
-
name: Nom de l'aplicació
|
|
6
|
+
name: Nom de l'aplicació
|
|
7
7
|
organization_logo: Logo de l'organització (quadrat)
|
|
8
8
|
organization_name: Organització
|
|
9
9
|
organization_url: URL de l'organització
|
|
@@ -34,8 +34,12 @@ ca-IT:
|
|
|
34
34
|
must_be_ssl: L'URI de redirecció ha de ser una URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: no és vàlid
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Cal que defineixis la variable d'entorn SECRET_KEY_BASE per a poder guardar aquest camp
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: no és vàlid
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/ca.yml
CHANGED
|
@@ -3,7 +3,7 @@ ca:
|
|
|
3
3
|
activemodel:
|
|
4
4
|
attributes:
|
|
5
5
|
oauth_application:
|
|
6
|
-
name: Nom de l'aplicació
|
|
6
|
+
name: Nom de l'aplicació
|
|
7
7
|
organization_logo: Logo de l'organització (quadrat)
|
|
8
8
|
organization_name: Organització
|
|
9
9
|
organization_url: URL de l'organització
|
|
@@ -34,8 +34,12 @@ ca:
|
|
|
34
34
|
must_be_ssl: L'URI de redirecció ha de ser una URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: no és vàlid
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Cal que defineixis la variable d'entorn SECRET_KEY_BASE per a poder guardar aquest camp
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: no és vàlid
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/cs.yml
CHANGED
|
@@ -34,8 +34,12 @@ cs:
|
|
|
34
34
|
must_be_ssl: URI přesměrování musí být SSL URI
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: je neplatný
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Abyste mohli toto pole uložit, musíte definovat proměnnou prostředí SECRET_KEY_BASE.
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: je neplatný
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/en.yml
CHANGED
|
@@ -34,8 +34,12 @@ en:
|
|
|
34
34
|
must_be_ssl: The redirect URI must be a SSL URI
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: is invalid
|
|
37
39
|
password:
|
|
38
40
|
secret_key: You need to define the SECRET_KEY_BASE environment variable to be able to save this field
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: is invalid
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/es-MX.yml
CHANGED
|
@@ -34,8 +34,12 @@ es-MX:
|
|
|
34
34
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: no es válido
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: no es válido
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -34,8 +34,12 @@ es-PY:
|
|
|
34
34
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: no es válido
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: no es válido
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/es.yml
CHANGED
|
@@ -34,8 +34,12 @@ es:
|
|
|
34
34
|
must_be_ssl: La URI de redirección debe ser una URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: no es válido
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Necesitas definir la variable de entorno SECRETA_KEY_BASE para poder guardar este campo
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: no es válido
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/eu.yml
CHANGED
|
@@ -34,8 +34,12 @@ eu:
|
|
|
34
34
|
must_be_ssl: Berbideratzeko URIa URI SSL izan behar da
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: baliogabea da
|
|
37
39
|
password:
|
|
38
40
|
secret_key: SECRET_KEY_BASE ingurunearen aldagaia definitu behar duzu eremu hau gorde ahal izateko
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: baliogabea da
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/fi-plain.yml
CHANGED
|
@@ -34,8 +34,12 @@ fi-pl:
|
|
|
34
34
|
must_be_ssl: Uudelleenohjaus osoite (URI) on oltava SSL-muotoinen osoite (URI)
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: on virheellinen
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Sinun täytyy määritellä SECRET_KEY_BASE ympäristömuuttuja, jotta voit tallentaa tämän kentän.
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: on virheellinen
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/fi.yml
CHANGED
|
@@ -34,8 +34,12 @@ fi:
|
|
|
34
34
|
must_be_ssl: Uudelleenohjaus osoite (URI) on oltava SSL-muotoinen osoite (URI)
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: on virheellinen
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Sinun täytyy määritellä SECRET_KEY_BASE ympäristömuuttuja, jotta voit tallentaa tämän kentän.
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: on virheellinen
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/fr-CA.yml
CHANGED
|
@@ -34,8 +34,12 @@ fr-CA:
|
|
|
34
34
|
must_be_ssl: L'URI de redirection doit être une URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: est invalide
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Vous devez définir la variable d'environnement SECRET_KEY_BASE pour pouvoir enregistrer ce champ
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: est invalide
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
data/config/locales/fr.yml
CHANGED
|
@@ -34,8 +34,12 @@ fr:
|
|
|
34
34
|
must_be_ssl: L'URI de redirection doit être une URI SSL
|
|
35
35
|
organization:
|
|
36
36
|
attributes:
|
|
37
|
+
host:
|
|
38
|
+
invalid: est invalide
|
|
37
39
|
password:
|
|
38
40
|
secret_key: Vous devez définir la variable d'environnement SECRET_KEY_BASE pour pouvoir enregistrer ce champ
|
|
41
|
+
secondary_hosts:
|
|
42
|
+
invalid: est invalide
|
|
39
43
|
decidim:
|
|
40
44
|
system:
|
|
41
45
|
actions:
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: decidim-system
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.30.
|
|
4
|
+
version: 0.30.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Josep Jaume Rey Peroy
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2026-
|
|
13
|
+
date: 2026-04-24 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: active_link_to
|
|
@@ -32,14 +32,14 @@ dependencies:
|
|
|
32
32
|
requirements:
|
|
33
33
|
- - '='
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
|
-
version: 0.30.
|
|
35
|
+
version: 0.30.8
|
|
36
36
|
type: :runtime
|
|
37
37
|
prerelease: false
|
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
39
|
requirements:
|
|
40
40
|
- - '='
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: 0.30.
|
|
42
|
+
version: 0.30.8
|
|
43
43
|
- !ruby/object:Gem::Dependency
|
|
44
44
|
name: devise
|
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,14 +94,14 @@ dependencies:
|
|
|
94
94
|
requirements:
|
|
95
95
|
- - '='
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: 0.30.
|
|
97
|
+
version: 0.30.8
|
|
98
98
|
type: :development
|
|
99
99
|
prerelease: false
|
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
102
102
|
- - '='
|
|
103
103
|
- !ruby/object:Gem::Version
|
|
104
|
-
version: 0.30.
|
|
104
|
+
version: 0.30.8
|
|
105
105
|
description: System administration to create new organization in an installation.
|
|
106
106
|
email:
|
|
107
107
|
- josepjaume@gmail.com
|