decidim-verifications 0.31.6 → 0.31.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/commands/decidim/verifications/confirm_user_authorization.rb +31 -28
- data/app/commands/decidim/verifications/csv_census/confirm_census_authorization.rb +14 -5
- data/app/commands/decidim/verifications/perform_authorization_step.rb +3 -1
- data/app/controllers/concerns/decidim/verifications/admin/pending_authorization_loader.rb +2 -0
- data/app/controllers/decidim/verifications/application_controller.rb +2 -0
- data/app/controllers/decidim/verifications/authorizations_controller.rb +16 -4
- data/app/controllers/decidim/verifications/csv_census/admin/census_controller.rb +1 -1
- data/app/controllers/decidim/verifications/csv_census/authorizations_controller.rb +6 -1
- data/app/controllers/decidim/verifications/id_documents/admin/confirmations_controller.rb +6 -1
- data/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb +2 -0
- data/app/controllers/decidim/verifications/postal_letter/authorizations_controller.rb +6 -1
- data/app/controllers/decidim/verifications/sms/authorizations_controller.rb +11 -1
- data/config/locales/ca-IT.yml +5 -0
- data/config/locales/ca.yml +5 -0
- data/config/locales/de.yml +11 -3
- data/config/locales/en.yml +5 -0
- data/config/locales/es-MX.yml +5 -0
- data/config/locales/es-PY.yml +5 -0
- data/config/locales/es.yml +5 -0
- data/config/locales/eu.yml +30 -25
- data/config/locales/fi.yml +5 -0
- data/config/locales/fr-CA.yml +25 -0
- data/config/locales/fr.yml +25 -0
- data/config/locales/gl.yml +196 -9
- data/config/locales/ja.yml +5 -0
- data/config/locales/sv.yml +12 -0
- data/lib/decidim/verifications/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4f0ac0c1f45842d5bb1d1fd3b2834e4331f665fe1dd695d5e1d8fbd8316a0ec0
|
|
4
|
+
data.tar.gz: ef3a1596ec1fc37e9ea6c5a7d91eb4f3776f22ce7acc532e1dfb33e95f947d9c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 127d52242a65b9011ed240076cf48c01d74a07d873675d56c0705d98f5bf0ee3e05d6789ec938fc8867479590128d705c65843e5749050a20d36613cb802f5ff
|
|
7
|
+
data.tar.gz: 5b7839ff8788b33e67b3e28aa6c6f726c34e19a264082626b128c7ecf1cb00593b67f6fd8df8a027a8b82514902a19b7ce280ffc730667c57a6f633375c8f3f0
|
|
@@ -4,36 +4,41 @@ module Decidim
|
|
|
4
4
|
module Verifications
|
|
5
5
|
# A command to confirm a previous partial authorization.
|
|
6
6
|
class ConfirmUserAuthorization < Decidim::Command
|
|
7
|
-
# Number of failed confirmation attempts before throttling.
|
|
8
|
-
MAX_FAILED_ATTEMPTS = 2
|
|
9
|
-
|
|
10
7
|
# Public: Initializes the command.
|
|
11
8
|
#
|
|
12
9
|
# authorization - An Authorization to be confirmed.
|
|
13
10
|
# form - A form object with the verification data to confirm it.
|
|
14
|
-
def initialize(authorization, form
|
|
11
|
+
def initialize(authorization, form)
|
|
15
12
|
@authorization = authorization
|
|
16
13
|
@form = form
|
|
17
|
-
@session = session
|
|
18
14
|
end
|
|
19
15
|
|
|
20
16
|
# Executes the command. Broadcasts these events:
|
|
21
17
|
#
|
|
22
18
|
# - :ok when everything is valid.
|
|
23
19
|
# - :invalid if the handler was not valid and we could not proceed.
|
|
20
|
+
# - :locked if too many failed attempts and the authorization is locked.
|
|
21
|
+
# - :expired if the verification code has expired.
|
|
24
22
|
#
|
|
25
23
|
# Returns nothing.
|
|
26
24
|
def call
|
|
27
25
|
return already_confirmed! if authorization.granted?
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
Decidim::Authorization.transaction do
|
|
28
|
+
authorization.lock!
|
|
29
|
+
authorization.clear_expired_lock!
|
|
30
|
+
|
|
31
|
+
return locked! if authorization.locked_for_confirmation?
|
|
32
|
+
|
|
33
|
+
return invalid! unless form.valid?
|
|
30
34
|
|
|
31
|
-
|
|
35
|
+
return expired! if code_expired?
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
if confirmation_successful?
|
|
38
|
+
valid!
|
|
39
|
+
else
|
|
40
|
+
invalid!
|
|
41
|
+
end
|
|
37
42
|
end
|
|
38
43
|
rescue StandardError => e
|
|
39
44
|
invalid!(e.message)
|
|
@@ -51,41 +56,39 @@ module Decidim
|
|
|
51
56
|
|
|
52
57
|
def valid!
|
|
53
58
|
authorization.grant!
|
|
54
|
-
reset_failed_attempts!
|
|
59
|
+
authorization.reset_failed_attempts!
|
|
55
60
|
broadcast(:ok)
|
|
56
61
|
end
|
|
57
62
|
|
|
58
63
|
def invalid!(message = nil)
|
|
59
|
-
record_failed_attempt!
|
|
64
|
+
authorization.record_failed_attempt!
|
|
60
65
|
broadcast(:invalid, message)
|
|
61
66
|
end
|
|
62
67
|
|
|
63
68
|
def already_confirmed!
|
|
64
|
-
reset_failed_attempts!
|
|
69
|
+
authorization.reset_failed_attempts!
|
|
65
70
|
broadcast(:already_confirmed)
|
|
66
71
|
end
|
|
67
72
|
|
|
68
|
-
def
|
|
69
|
-
|
|
73
|
+
def locked!
|
|
74
|
+
broadcast(:locked)
|
|
70
75
|
end
|
|
71
76
|
|
|
72
|
-
def
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def reset_failed_attempts!
|
|
77
|
-
session[:failed_attempts] = 0
|
|
78
|
-
end
|
|
77
|
+
def code_expired?
|
|
78
|
+
sent_at = authorization.verification_metadata["code_sent_at"]
|
|
79
|
+
return false unless sent_at
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
sent_at = Time.zone.parse(sent_at.to_s) if sent_at.is_a?(String)
|
|
82
|
+
sent_at < Decidim.verification_code_expiry_minutes.minutes.ago
|
|
82
83
|
end
|
|
83
84
|
|
|
84
|
-
def
|
|
85
|
-
|
|
85
|
+
def expired!
|
|
86
|
+
authorization.update!(verification_metadata: {})
|
|
87
|
+
authorization.reset_failed_attempts!
|
|
88
|
+
broadcast(:expired)
|
|
86
89
|
end
|
|
87
90
|
|
|
88
|
-
attr_reader :authorization, :form
|
|
91
|
+
attr_reader :authorization, :form
|
|
89
92
|
end
|
|
90
93
|
end
|
|
91
94
|
end
|
|
@@ -7,11 +7,20 @@ module Decidim
|
|
|
7
7
|
def call
|
|
8
8
|
return broadcast(:invalid) unless form.valid?
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
authorization.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
broadcast(:
|
|
10
|
+
Decidim::Authorization.transaction do
|
|
11
|
+
authorization.lock!
|
|
12
|
+
authorization.clear_expired_lock!
|
|
13
|
+
|
|
14
|
+
return broadcast(:locked) if authorization.locked_for_confirmation?
|
|
15
|
+
|
|
16
|
+
if confirmation_successful?
|
|
17
|
+
authorization.grant!
|
|
18
|
+
authorization.reset_failed_attempts!
|
|
19
|
+
broadcast(:ok)
|
|
20
|
+
else
|
|
21
|
+
authorization.record_failed_attempt!
|
|
22
|
+
broadcast(:invalid)
|
|
23
|
+
end
|
|
15
24
|
end
|
|
16
25
|
end
|
|
17
26
|
end
|
|
@@ -34,7 +34,9 @@ module Decidim
|
|
|
34
34
|
unique_id: handler.unique_id,
|
|
35
35
|
metadata: handler.metadata,
|
|
36
36
|
verification_metadata: handler.verification_metadata,
|
|
37
|
-
verification_attachment: handler.verification_attachment
|
|
37
|
+
verification_attachment: handler.verification_attachment,
|
|
38
|
+
failed_attempts: 0,
|
|
39
|
+
locked_at: nil
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
authorization.save!
|
|
@@ -20,12 +20,18 @@ module Decidim
|
|
|
20
20
|
|
|
21
21
|
layout "layouts/decidim/authorizations", except: [:index, :onboarding_pending]
|
|
22
22
|
|
|
23
|
-
def new
|
|
23
|
+
def new
|
|
24
|
+
enforce_permission_to :read, :authorization
|
|
25
|
+
end
|
|
24
26
|
|
|
25
|
-
def index
|
|
27
|
+
def index
|
|
28
|
+
enforce_permission_to :read, :authorization
|
|
29
|
+
end
|
|
26
30
|
|
|
27
31
|
def onboarding_pending
|
|
28
|
-
|
|
32
|
+
enforce_permission_to :read, :authorization
|
|
33
|
+
|
|
34
|
+
return redirect_back_or_to(authorizations_path) unless onboarding_manager.valid?
|
|
29
35
|
|
|
30
36
|
authorizations = action_authorized_to(onboarding_manager.action, **onboarding_manager.action_authorized_resources)
|
|
31
37
|
|
|
@@ -55,6 +61,8 @@ module Decidim
|
|
|
55
61
|
end
|
|
56
62
|
|
|
57
63
|
def create
|
|
64
|
+
enforce_permission_to(:create, :authorization, authorization:)
|
|
65
|
+
|
|
58
66
|
AuthorizeUser.call(handler, current_organization) do
|
|
59
67
|
on(:ok) do
|
|
60
68
|
flash[:notice] = t("authorizations.create.success", scope: "decidim.verifications")
|
|
@@ -92,12 +100,16 @@ module Decidim
|
|
|
92
100
|
end
|
|
93
101
|
|
|
94
102
|
def renew_onboarding_data
|
|
103
|
+
enforce_permission_to :read, :authorization
|
|
104
|
+
|
|
95
105
|
store_onboarding_cookie_data!(current_user)
|
|
96
106
|
|
|
97
107
|
redirect_to onboarding_pending_authorizations_path
|
|
98
108
|
end
|
|
99
109
|
|
|
100
110
|
def clear_onboarding_data
|
|
111
|
+
enforce_permission_to :read, :authorization
|
|
112
|
+
|
|
101
113
|
clear_onboarding_data!(current_user)
|
|
102
114
|
end
|
|
103
115
|
|
|
@@ -186,7 +198,7 @@ module Decidim
|
|
|
186
198
|
private
|
|
187
199
|
|
|
188
200
|
def authorization
|
|
189
|
-
@authorization ||= Decidim::Authorization.
|
|
201
|
+
@authorization ||= Decidim::Authorization.find_or_initialize_by(
|
|
190
202
|
user: current_user,
|
|
191
203
|
name: handler_name
|
|
192
204
|
)
|
|
@@ -96,7 +96,7 @@ module Decidim
|
|
|
96
96
|
|
|
97
97
|
return { icon: nil, text: t(".no_user"), last_sign_in: nil } unless user
|
|
98
98
|
|
|
99
|
-
authorized = Decidim::Authorization.where(name: "csv_census", user:)
|
|
99
|
+
authorized = Decidim::Authorization.where(name: "csv_census", user:) # rubocop:disable Decidim/OrganizationScopedFinder -- user is already scoped to current_organization (line 95)
|
|
100
100
|
.where.not(granted_at: nil)
|
|
101
101
|
.exists?
|
|
102
102
|
|
|
@@ -11,14 +11,19 @@ module Decidim
|
|
|
11
11
|
before_action :load_authorization
|
|
12
12
|
|
|
13
13
|
def new
|
|
14
|
+
enforce_permission_to :create, :authorization, authorization: @authorization
|
|
15
|
+
|
|
14
16
|
@form = CensusForm.from_params(user: current_user)
|
|
15
|
-
ConfirmCensusAuthorization.call(@authorization, @form
|
|
17
|
+
ConfirmCensusAuthorization.call(@authorization, @form) do
|
|
16
18
|
on(:ok) do
|
|
17
19
|
flash[:notice] = t("authorizations.new.success", scope: "decidim.verifications.csv_census")
|
|
18
20
|
end
|
|
19
21
|
on(:invalid) do
|
|
20
22
|
flash[:alert] = t("authorizations.new.error", scope: "decidim.verifications.csv_census")
|
|
21
23
|
end
|
|
24
|
+
on(:locked) do
|
|
25
|
+
flash[:alert] = t("authorizations.new.locked", scope: "decidim.verifications.csv_census")
|
|
26
|
+
end
|
|
22
27
|
redirect_to decidim_verifications.authorizations_path
|
|
23
28
|
end
|
|
24
29
|
end
|
|
@@ -28,7 +28,7 @@ module Decidim
|
|
|
28
28
|
|
|
29
29
|
@form = InformationForm.from_params(params)
|
|
30
30
|
|
|
31
|
-
ConfirmUserAuthorization.call(@pending_authorization, @form
|
|
31
|
+
ConfirmUserAuthorization.call(@pending_authorization, @form) do
|
|
32
32
|
on(:ok) do
|
|
33
33
|
flash[:notice] = t("confirmations.create.success", scope: "decidim.verifications.id_documents.admin")
|
|
34
34
|
redirect_to pending_authorizations_path
|
|
@@ -38,6 +38,11 @@ module Decidim
|
|
|
38
38
|
flash.now[:alert] = t("confirmations.create.error", scope: "decidim.verifications.id_documents.admin")
|
|
39
39
|
render action: :new, status: :unprocessable_entity
|
|
40
40
|
end
|
|
41
|
+
|
|
42
|
+
on(:locked) do
|
|
43
|
+
flash.now[:alert] = t("confirmations.create.locked", scope: "decidim.verifications.id_documents.admin")
|
|
44
|
+
render action: :new, status: :too_many_requests
|
|
45
|
+
end
|
|
41
46
|
end
|
|
42
47
|
end
|
|
43
48
|
|
|
@@ -14,6 +14,8 @@ module Decidim
|
|
|
14
14
|
before_action :load_authorization
|
|
15
15
|
|
|
16
16
|
def choose
|
|
17
|
+
enforce_permission_to :create, :authorization, authorization: @authorization
|
|
18
|
+
|
|
17
19
|
url_params = { redirect_url: }.compact
|
|
18
20
|
|
|
19
21
|
return redirect_to(action: :new, **url_params.merge(using: verification_type)) if available_methods.count == 1
|
|
@@ -45,7 +45,7 @@ module Decidim
|
|
|
45
45
|
|
|
46
46
|
@form = ConfirmationForm.from_params(params)
|
|
47
47
|
|
|
48
|
-
ConfirmUserAuthorization.call(@authorization, @form
|
|
48
|
+
ConfirmUserAuthorization.call(@authorization, @form) do
|
|
49
49
|
on(:ok) do
|
|
50
50
|
flash[:notice] = t("authorizations.update.success", scope: "decidim.verifications.postal_letter")
|
|
51
51
|
redirect_to decidim_verifications.authorizations_path
|
|
@@ -55,6 +55,11 @@ module Decidim
|
|
|
55
55
|
flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.postal_letter")
|
|
56
56
|
render :edit, status: :unprocessable_entity
|
|
57
57
|
end
|
|
58
|
+
|
|
59
|
+
on(:locked) do
|
|
60
|
+
flash.now[:alert] = t("authorizations.update.locked", scope: "decidim.verifications.postal_letter")
|
|
61
|
+
render :edit, status: :too_many_requests
|
|
62
|
+
end
|
|
58
63
|
end
|
|
59
64
|
end
|
|
60
65
|
|
|
@@ -43,7 +43,7 @@ module Decidim
|
|
|
43
43
|
|
|
44
44
|
@form = ConfirmationForm.from_params(params)
|
|
45
45
|
|
|
46
|
-
ConfirmUserAuthorization.call(authorization, @form
|
|
46
|
+
ConfirmUserAuthorization.call(authorization, @form) do
|
|
47
47
|
on(:ok) do
|
|
48
48
|
flash[:notice] = t("authorizations.update.success", scope: "decidim.verifications.sms")
|
|
49
49
|
|
|
@@ -54,6 +54,16 @@ module Decidim
|
|
|
54
54
|
flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.sms")
|
|
55
55
|
render :edit, status: :unprocessable_entity
|
|
56
56
|
end
|
|
57
|
+
|
|
58
|
+
on(:locked) do
|
|
59
|
+
flash.now[:alert] = t("authorizations.update.locked", scope: "decidim.verifications.sms")
|
|
60
|
+
render :edit, status: :too_many_requests
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
on(:expired) do
|
|
64
|
+
flash[:alert] = t("authorizations.update.expired", scope: "decidim.verifications.sms")
|
|
65
|
+
redirect_to redirect_url || decidim_verifications.authorizations_path
|
|
66
|
+
end
|
|
57
67
|
end
|
|
58
68
|
end
|
|
59
69
|
|
data/config/locales/ca-IT.yml
CHANGED
|
@@ -228,6 +228,7 @@ ca-IT:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: No hem pogut verificar el teu compte o no estàs al cens de l'organització.
|
|
231
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
231
232
|
success: El teu compte s'ha verificat correctament.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ ca-IT:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: La verificació no coincideix. Si us plau, torna-ho a provar o rebutja la verificació perquè la participant pugui modificar-la.
|
|
257
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
256
258
|
success: Participant convidada correctament.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introdueix les dades que apareixen a la imatge
|
|
@@ -329,6 +331,7 @@ ca-IT:
|
|
|
329
331
|
title: Sol·licita el teu codi de verificació
|
|
330
332
|
update:
|
|
331
333
|
error: El teu codi de verificació no coincideix amb el nostre. Si us plau, revisa la carta que t'hem enviat.
|
|
334
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
332
335
|
success: Felicitats. T'has verificat correctament.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ ca-IT:
|
|
|
348
351
|
title: Sol·licita el teu codi de verificació
|
|
349
352
|
update:
|
|
350
353
|
error: El codi de verificació que has introduït no coincideix amb el nostre. Si us plau, torna a revisar l'SMS que t'hem enviat.
|
|
354
|
+
expired: El codi de verificació ha caducat. Si us plau, demana'n un de nou.
|
|
355
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard o demana un nou codi de verificació.
|
|
351
356
|
success: Felicitats. T'has verificat correctament.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|
data/config/locales/ca.yml
CHANGED
|
@@ -228,6 +228,7 @@ ca:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: No hem pogut verificar el teu compte o no estàs al cens de l'organització.
|
|
231
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
231
232
|
success: El teu compte s'ha verificat correctament.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ ca:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: La verificació no coincideix. Si us plau, torna-ho a provar o rebutja la verificació perquè la participant pugui modificar-la.
|
|
257
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
256
258
|
success: Participant convidada correctament.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introdueix les dades que apareixen a la imatge
|
|
@@ -329,6 +331,7 @@ ca:
|
|
|
329
331
|
title: Sol·licita el teu codi de verificació
|
|
330
332
|
update:
|
|
331
333
|
error: El teu codi de verificació no coincideix amb el nostre. Si us plau, revisa la carta que t'hem enviat.
|
|
334
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard.
|
|
332
335
|
success: Felicitats. T'has verificat correctament.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ ca:
|
|
|
348
351
|
title: Sol·licita el teu codi de verificació
|
|
349
352
|
update:
|
|
350
353
|
error: El codi de verificació que has introduït no coincideix amb el nostre. Si us plau, torna a revisar l'SMS que t'hem enviat.
|
|
354
|
+
expired: El codi de verificació ha caducat. Si us plau, demana'n un de nou.
|
|
355
|
+
locked: Massa intents fallits. Si us plau, torna a provar-ho més tard o demana un nou codi de verificació.
|
|
351
356
|
success: Felicitats. T'has verificat correctament.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|
data/config/locales/de.yml
CHANGED
|
@@ -49,6 +49,7 @@ de:
|
|
|
49
49
|
confirm: Das Entziehen aller Berechtigungen vor einem Datum kann nicht rückgängig gemacht werden. Sind Sie sicher, dass Sie fortfahren möchten?
|
|
50
50
|
confirm_all: Das Entziehen aller Berechtigungen nicht rückgängig gemacht werden. Sind Sie sicher, dass Sie fortfahren möchten?
|
|
51
51
|
destroy_nok: Beim Entziehen der Berechtigungen ist ein Fehler aufgetreten.
|
|
52
|
+
destroy_ok: Der Widerruf der Verifizierungen läuft. Dies kann einige Minuten in Anspruch nehmen.
|
|
52
53
|
info: Es gibt insgesamt %{count} verifizierte Teilnehmer.
|
|
53
54
|
no_data: Keine verifizierten Teilnehmer.
|
|
54
55
|
title: Berechtigungen widerrufen
|
|
@@ -151,7 +152,7 @@ de:
|
|
|
151
152
|
new:
|
|
152
153
|
authorize: Senden
|
|
153
154
|
authorize_with: Bestätigen Sie mit %{authorizer}
|
|
154
|
-
tos_agreement: Durch die Überprüfung Ihrer Identität
|
|
155
|
+
tos_agreement: Durch die Überprüfung Ihrer Identität erklären Sie sich einverstanden mit den %{link}.
|
|
155
156
|
onboarding_pending:
|
|
156
157
|
completed_verifications: Sie wurden erfolgreich autorisiert, jetzt können Sie %{action} auf %{resource_name}
|
|
157
158
|
granted_verifications: Verifizierung erfolgeich
|
|
@@ -164,8 +165,8 @@ de:
|
|
|
164
165
|
continue: Weiter
|
|
165
166
|
info_renew: Wenn Sie die Daten aktualisieren möchten, fahren Sie mit der Erneuerung fort.
|
|
166
167
|
title: Verifizierung erneuern
|
|
167
|
-
skip_verification: Sie können dies
|
|
168
|
-
start_exploring:
|
|
168
|
+
skip_verification: Sie können dies vorübergehend überspringen und %{link}
|
|
169
|
+
start_exploring: mit der Erkundung beginnen
|
|
169
170
|
csv_census:
|
|
170
171
|
admin:
|
|
171
172
|
actions:
|
|
@@ -220,6 +221,10 @@ de:
|
|
|
220
221
|
user_authorized: Mitglied berechtigt?
|
|
221
222
|
import_csv: CSV importieren
|
|
222
223
|
no_authorized: Mitglied nicht berechtigt
|
|
224
|
+
title: Aktuelle Zählungsdaten
|
|
225
|
+
instructions:
|
|
226
|
+
body: Öffnen Sie dazu die Systemverwaltung und fügen Sie der Organisation die Verifizierung "csv_census" hinzu
|
|
227
|
+
title: Sie müssen die CSV-Zählung für diese Organisation aktivieren
|
|
223
228
|
authorizations:
|
|
224
229
|
new:
|
|
225
230
|
error: Wir konnten Ihr Konto nicht bestätigen oder Sie befinden sich nicht in der Erhebung der Organisation.
|
|
@@ -250,6 +255,7 @@ de:
|
|
|
250
255
|
error: Überprüfung stimmt nicht überein. Versuchen Sie es erneut oder lehnen Sie die Überprüfung ab, damit der Teilnehmer sie ändern kann.
|
|
251
256
|
success: Teilnehmer erfolgreich überprüft.
|
|
252
257
|
new:
|
|
258
|
+
introduce_user_data: Geben Sie die Daten aus dem Bild ein
|
|
253
259
|
reject: Ablehnen
|
|
254
260
|
verify: Überprüfen
|
|
255
261
|
offline_confirmations:
|
|
@@ -258,6 +264,7 @@ de:
|
|
|
258
264
|
success: Benutzer erfolgreich überprüft.
|
|
259
265
|
new:
|
|
260
266
|
cancel: Abbrechen
|
|
267
|
+
introduce_user_data: Geben Sie die E-Mail-Adresse der teilnehmenden Person sowie die Dokumentdaten ein
|
|
261
268
|
verify: Überprüfen
|
|
262
269
|
pending_authorizations:
|
|
263
270
|
index:
|
|
@@ -298,6 +305,7 @@ de:
|
|
|
298
305
|
pending_authorizations:
|
|
299
306
|
index:
|
|
300
307
|
address: Adresse
|
|
308
|
+
already_sent: Der Brief wurde bereits versendet und kann nicht erneut als versendet markiert werden.
|
|
301
309
|
letter_sent_at: Brief an gesendet
|
|
302
310
|
mark_as_sent: Als gesendet markieren
|
|
303
311
|
not_yet_sent: Noch nicht gesendet
|
data/config/locales/en.yml
CHANGED
|
@@ -228,6 +228,7 @@ en:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: We could not verify your account or you are not in the organization's census.
|
|
231
|
+
locked: Too many failed attempts. Please try again later.
|
|
231
232
|
success: Your account has been successfully verified.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ en:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: Verification does not match. Please try again or reject the verification so the participant can amend it.
|
|
257
|
+
locked: Too many failed attempts. Please try again later.
|
|
256
258
|
success: Participant successfully verified.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introduce the data in the picture
|
|
@@ -329,6 +331,7 @@ en:
|
|
|
329
331
|
title: Request your verification code
|
|
330
332
|
update:
|
|
331
333
|
error: Your verification code does not match ours. Please double-check the letter we sent to you.
|
|
334
|
+
locked: Too many failed attempts. Please try again later.
|
|
332
335
|
success: Congratulations. You have been successfully verified.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ en:
|
|
|
348
351
|
title: Request your verification code
|
|
349
352
|
update:
|
|
350
353
|
error: Your verification code does not match ours. Please double-check the SMS we sent you.
|
|
354
|
+
expired: The verification code has expired. Please request a new one.
|
|
355
|
+
locked: Too many failed attempts. Please try again later or request a new code.
|
|
351
356
|
success: Congratulations. You have been successfully verified.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|
data/config/locales/es-MX.yml
CHANGED
|
@@ -228,6 +228,7 @@ es-MX:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: No pudimos verificar su cuenta o usted no está en el censo de la organización.
|
|
231
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
231
232
|
success: Su cuenta ha sido verificada con éxito.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ es-MX:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: La verificación no coincide. Por favor inténtalo de nuevo o rechaza la verificación para que la participante pueda modificarla.
|
|
257
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
256
258
|
success: Participante verificada correctamente.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introduce los datos que aparecen en la imagen
|
|
@@ -329,6 +331,7 @@ es-MX:
|
|
|
329
331
|
title: Solicita tu código de verificación
|
|
330
332
|
update:
|
|
331
333
|
error: Tu código de verificación no coincide con el nuestro. Por favor, revisa la carta que te enviamos.
|
|
334
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
332
335
|
success: Felicidades. Te has verificado con éxito.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ es-MX:
|
|
|
348
351
|
title: Solicita tu código de verificación
|
|
349
352
|
update:
|
|
350
353
|
error: El código de verificación no coincide con el nuestro. Por favor, vuelve a revisar el SMS que te enviamos.
|
|
354
|
+
expired: El código de verificación ha caducado. Por favor, pide uno nuevo.
|
|
355
|
+
locked: Demasiados intentos fallidos. Inténtalo de nuevo más tarde o pide un código de verificación nuevo.
|
|
351
356
|
success: Felicidades. Te has verificado con éxito.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -228,6 +228,7 @@ es-PY:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: No pudimos verificar su cuenta o usted no está en el censo de la organización.
|
|
231
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
231
232
|
success: Su cuenta ha sido verificada con éxito.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ es-PY:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: La verificación no coincide. Por favor inténtalo de nuevo o rechaza la verificación para que la participante pueda modificarla.
|
|
257
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
256
258
|
success: Participante verificada correctamente.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introduce los datos que aparecen en la imagen
|
|
@@ -329,6 +331,7 @@ es-PY:
|
|
|
329
331
|
title: Solicita tu código de verificación
|
|
330
332
|
update:
|
|
331
333
|
error: Tu código de verificación no coincide con el nuestro. Por favor, revisa la carta que te enviamos.
|
|
334
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
332
335
|
success: Felicidades. Te has verificado con éxito.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ es-PY:
|
|
|
348
351
|
title: Solicita tu código de verificación
|
|
349
352
|
update:
|
|
350
353
|
error: El código de verificación no coincide con el nuestro. Por favor, vuelve a revisar el SMS que te enviamos.
|
|
354
|
+
expired: El código de verificación ha caducado. Por favor, pide uno nuevo.
|
|
355
|
+
locked: Demasiados intentos fallidos. Inténtalo de nuevo más tarde o pide un código de verificación nuevo.
|
|
351
356
|
success: Felicidades. Te has verificado con éxito.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|
data/config/locales/es.yml
CHANGED
|
@@ -228,6 +228,7 @@ es:
|
|
|
228
228
|
authorizations:
|
|
229
229
|
new:
|
|
230
230
|
error: No pudimos verificar tu cuenta o no estás en el censo de la organización.
|
|
231
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
231
232
|
success: Tu cuenta se ha verificado correctamente.
|
|
232
233
|
dummy_authorization:
|
|
233
234
|
extra_explanation:
|
|
@@ -253,6 +254,7 @@ es:
|
|
|
253
254
|
confirmations:
|
|
254
255
|
create:
|
|
255
256
|
error: La verificación no coincide. Por favor inténtalo de nuevo o rechaza la verificación para que la participante pueda modificarla.
|
|
257
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
256
258
|
success: Participante verificada correctamente.
|
|
257
259
|
new:
|
|
258
260
|
introduce_user_data: Introduce los datos que aparecen en la imagen
|
|
@@ -329,6 +331,7 @@ es:
|
|
|
329
331
|
title: Solicita tu código de verificación
|
|
330
332
|
update:
|
|
331
333
|
error: Tu código de verificación no coincide con el nuestro. Por favor, revisa la carta que te enviamos.
|
|
334
|
+
locked: Demasiados intentos fallidos. Por favor, inténtalo de nuevo más tarde.
|
|
332
335
|
success: Felicidades. Te has verificado con éxito.
|
|
333
336
|
sms:
|
|
334
337
|
authorizations:
|
|
@@ -348,6 +351,8 @@ es:
|
|
|
348
351
|
title: Solicita tu código de verificación
|
|
349
352
|
update:
|
|
350
353
|
error: El código de verificación no coincide con el nuestro. Por favor, vuelve a revisar el SMS que te enviamos.
|
|
354
|
+
expired: El código de verificación ha caducado. Por favor, pide uno nuevo.
|
|
355
|
+
locked: Demasiados intentos fallidos. Inténtalo de nuevo más tarde o pide un código de verificación nuevo.
|
|
351
356
|
success: Felicidades. Te has verificado con éxito.
|
|
352
357
|
errors:
|
|
353
358
|
messages:
|