decidim-verifications 0.8.4 → 0.9.0
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 +5 -5
- data/README.md +52 -1
- data/app/controllers/decidim/verifications/authorizations_controller.rb +6 -0
- data/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb +1 -1
- data/app/services/decidim/dummy_authorization_handler.rb +36 -1
- data/app/views/decidim/verifications/authorizations/_granted_authorization.html.erb +27 -0
- data/app/views/decidim/verifications/authorizations/index.html.erb +8 -13
- data/app/views/decidim/verifications/authorizations/new.html.erb +1 -1
- data/app/views/dummy_authorization/_form.html.erb +8 -0
- data/config/locales/ca.yml +12 -9
- data/config/locales/en.yml +4 -0
- data/config/locales/es.yml +13 -10
- data/config/locales/eu.yml +4 -0
- data/config/locales/fi.yml +58 -54
- data/config/locales/fr.yml +12 -8
- data/config/locales/gl.yml +129 -0
- data/config/locales/it.yml +9 -5
- data/config/locales/nl.yml +16 -12
- data/config/locales/pl.yml +5 -0
- data/config/locales/pt-BR.yml +129 -0
- data/config/locales/pt.yml +4 -0
- data/config/locales/ru.yml +120 -0
- data/config/locales/sv.yml +129 -0
- data/config/locales/uk.yml +88 -4
- data/lib/decidim/verifications.rb +1 -0
- data/lib/decidim/verifications/adapter.rb +25 -10
- data/lib/decidim/verifications/default_action_authorizer.rb +87 -0
- data/lib/decidim/verifications/dummy.rb +2 -0
- data/lib/decidim/verifications/registry.rb +4 -0
- data/lib/decidim/verifications/version.rb +1 -1
- data/lib/decidim/verifications/workflow_manifest.rb +13 -1
- data/lib/decidim/verifications/workflows.rb +9 -0
- metadata +16 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4912ebe8574d80d647d1a7efbbd7c16866e4e7c72ea4372d9fd3a6dd39ce406f
|
4
|
+
data.tar.gz: 214e20ff2944b697d1e2baad47f8ba79b0c96e0f9b3d6ac0e18fbca99c85f0cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2a4e22f9758b7f14527c7f3042450772658b8c82d4852fa608a2e1daf8ee4e87f539929c47180ca51cff457c2382c69743cfb15b67033bc645c37f7f44c0dcd
|
7
|
+
data.tar.gz: 9a8366deeaf8626d5253ce7fa2cc26ae84f613f7c92fd46e454c97d26a3b67d9afc86028ff3cb3f139222ac1f7a70cfc079c86484f558faf7c561434453a9ae8
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Decidim::Verifications
|
2
2
|
|
3
3
|
Decidim offers several methods for allowing participants to get authorization to
|
4
|
-
perform certain privileged actions. This
|
4
|
+
perform certain privileged actions. This module implements several of those methods
|
5
5
|
and also offers a way for installation to implement their custom verification
|
6
6
|
methods.
|
7
7
|
|
@@ -75,6 +75,57 @@ Decidim implements two type of authorization methods:
|
|
75
75
|
* `edit_authorization_path`: This is the entry point to resume an existing
|
76
76
|
authorization process.
|
77
77
|
|
78
|
+
## Custom action authorizers
|
79
|
+
|
80
|
+
Custom action authorizers are an advanced feature that can be used in both types of
|
81
|
+
authorization methods to customize some parts of the authorization process.
|
82
|
+
These are particulary useful when used within verification options, which are
|
83
|
+
set in the admin zone related to a feature action. As a result, a verification
|
84
|
+
method will be allowed to change the authorization logic and the appearance based
|
85
|
+
on the context where the authorization is being performed.
|
86
|
+
|
87
|
+
For example, you can require authorization for supporting proposals in a participatory
|
88
|
+
process, and also restrict it to users with postal codes 12345 and 12346. The
|
89
|
+
[example authorization handler](https://github.com/decidim/decidim/blob/master/decidim-verifications/app/services/decidim/dummy_authorization_handler.rb)
|
90
|
+
included in this module allows to do that. As an admin user, you should visit
|
91
|
+
the proposals componenent permissions screen, choose the `Example authorization`
|
92
|
+
as the authorization handler name for the `vote` action and type something like
|
93
|
+
`{ allowed_postal_codes: ["12345", "12346"] }` in the `Options` field placed below.
|
94
|
+
|
95
|
+
You can override default behavior implementing a class that inherits form
|
96
|
+
`Decidim::Verifications::DefaultActionAuthorizer` and override some methods or that
|
97
|
+
implement its public methods:
|
98
|
+
|
99
|
+
* The `initialize` method receives the current authorization process context and
|
100
|
+
saves it in local variables. This include the current authorization user state (an
|
101
|
+
`Authorization` record) and permission `options` related to the action is trying to
|
102
|
+
perform.
|
103
|
+
|
104
|
+
* The `authorize` method is responsible of evaluating the authorization process
|
105
|
+
context and determine if the user authorization is `:ok` or in any other status.
|
106
|
+
|
107
|
+
* The `redirect_params` method allows to add additional query string parameters
|
108
|
+
when redirecting to the authorization form. This is useful to send to the
|
109
|
+
authorization form the permission `options` information that could be useful to
|
110
|
+
adapt its behavior or appearance.
|
111
|
+
|
112
|
+
To be used by the verification method, this class should be referenced by name in
|
113
|
+
its workflow manifest:
|
114
|
+
|
115
|
+
```ruby
|
116
|
+
# config/initializers/decidim.rb
|
117
|
+
|
118
|
+
Decidim::Verifications.register_workflow(:sms_verification) do |workflow|
|
119
|
+
workflow.engine = Decidim::Verifications::SmsVerification::Engine
|
120
|
+
workflow.admin_engine = Decidim::Verifications::SmsVerification::AdminEngine
|
121
|
+
workflow.action_authorizer = "Decidim::Verifications::SmsVerification::ActionAuthorizer"
|
122
|
+
end
|
123
|
+
```
|
124
|
+
|
125
|
+
Check the [example authorization handler](https://github.com/decidim/decidim/blob/master/decidim-verifications/app/services/decidim/dummy_authorization_handler.rb)
|
126
|
+
and the [DefaultActionAuthorizer class](https://github.com/decidim/decidim/blob/master/decidim-verifications/lib/decidim/verifications/default_action_authorizer.rb)
|
127
|
+
for additional technical details.
|
128
|
+
|
78
129
|
## Installation
|
79
130
|
|
80
131
|
Add this line to your application's Gemfile:
|
@@ -86,6 +86,12 @@ module Decidim
|
|
86
86
|
def pending_authorizations
|
87
87
|
Authorizations.new(user: current_user, granted: false)
|
88
88
|
end
|
89
|
+
|
90
|
+
def store_current_location
|
91
|
+
return if params[:redirect_url].blank? || !request.format.html?
|
92
|
+
|
93
|
+
store_location_for(:user, params[:redirect_url])
|
94
|
+
end
|
89
95
|
end
|
90
96
|
end
|
91
97
|
end
|
@@ -47,7 +47,7 @@ module Decidim
|
|
47
47
|
@form = UploadForm.from_params(
|
48
48
|
params.merge(
|
49
49
|
user: current_user,
|
50
|
-
verification_attachment: @authorization.verification_attachment
|
50
|
+
verification_attachment: params[:id_document_upload][:verification_attachment] || @authorization.verification_attachment
|
51
51
|
)
|
52
52
|
)
|
53
53
|
|
@@ -11,7 +11,7 @@ module Decidim
|
|
11
11
|
validate :valid_document_number
|
12
12
|
|
13
13
|
def metadata
|
14
|
-
super.merge(document_number: document_number)
|
14
|
+
super.merge(document_number: document_number, postal_code: postal_code)
|
15
15
|
end
|
16
16
|
|
17
17
|
def unique_id
|
@@ -23,5 +23,40 @@ module Decidim
|
|
23
23
|
def valid_document_number
|
24
24
|
errors.add(:document_number, :invalid) unless document_number.to_s.end_with?("X")
|
25
25
|
end
|
26
|
+
|
27
|
+
# An example implementation of a DefaultActionAuthorizer inherited class to override authorization status
|
28
|
+
# checking process. In this case, it allows to set a list of valid postal codes for an authorization.
|
29
|
+
class ActionAuthorizer < Decidim::Verifications::DefaultActionAuthorizer
|
30
|
+
attr_reader :allowed_postal_codes
|
31
|
+
|
32
|
+
# Overrides the parent class method, but it still uses it to keep the base behavior
|
33
|
+
def authorize
|
34
|
+
# Remove the additional setting from the options hash to avoid to be considered missing.
|
35
|
+
@allowed_postal_codes ||= options.delete("allowed_postal_codes")
|
36
|
+
|
37
|
+
status_code, data = *super
|
38
|
+
|
39
|
+
if allowed_postal_codes.present?
|
40
|
+
# Does not authorize users with different postal codes
|
41
|
+
if status_code == :ok && !allowed_postal_codes.member?(authorization.metadata["postal_code"])
|
42
|
+
status_code = :unauthorized
|
43
|
+
data[:fields] = { "postal_code" => authorization.metadata["postal_code"] }
|
44
|
+
end
|
45
|
+
|
46
|
+
# Adds an extra message for inform the user the additional restriction for this authorization
|
47
|
+
data[:extra_explanation] = { key: "extra_explanation",
|
48
|
+
params: { scope: "decidim.verifications.dummy_authorization",
|
49
|
+
count: allowed_postal_codes.count,
|
50
|
+
postal_codes: allowed_postal_codes.join(", ") } }
|
51
|
+
end
|
52
|
+
|
53
|
+
[status_code, data]
|
54
|
+
end
|
55
|
+
|
56
|
+
# Adds the list of allowed postal codes to the redirect URL, to allow forms to inform about it
|
57
|
+
def redirect_params
|
58
|
+
{ "postal_codes" => allowed_postal_codes&.join("-") }
|
59
|
+
end
|
60
|
+
end
|
26
61
|
end
|
27
62
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div class="card--list__item">
|
2
|
+
<div class="card--list__text">
|
3
|
+
<%= icon "lock-unlocked", class: "card--list__icon" %>
|
4
|
+
<div>
|
5
|
+
<h5 class="card--list__heading">
|
6
|
+
<%= t("#{authorization.name}.name", scope: "decidim.authorization_handlers") %>
|
7
|
+
</h5>
|
8
|
+
<span class="text-small">
|
9
|
+
<% if authorization.expired? %>
|
10
|
+
<%= t("expired_at", scope: "decidim.authorization_handlers", timestamp: l(authorization.expires_at, format: :long)) %>
|
11
|
+
<% else %>
|
12
|
+
<%= t("granted_at", scope: "decidim.authorization_handlers", timestamp: l(authorization.granted_at, format: :long)) %>
|
13
|
+
<% if authorization.expires_at.present? %>
|
14
|
+
<%= t("expires_at", scope: "decidim.authorization_handlers", timestamp: l(authorization.expires_at, format: :long)) %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
</span>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<% if authorization.expired? %>
|
21
|
+
<div class="card--list__data">
|
22
|
+
<span class="card--list__data__icon">
|
23
|
+
<%= icon "reload" %>
|
24
|
+
</span>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
@@ -3,19 +3,14 @@
|
|
3
3
|
<% if @granted_authorizations.any? %>
|
4
4
|
<div class="card card--list">
|
5
5
|
<% @granted_authorizations.each do |authorization| %>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<%= t("granted_at", scope: "decidim.authorization_handlers", timestamp: l(authorization.granted_at, format: :long)) %>
|
15
|
-
</span>
|
16
|
-
</div>
|
17
|
-
</div>
|
18
|
-
</div>
|
6
|
+
<% if authorization.expired? %>
|
7
|
+
<% authorization_method = Decidim::Verifications::Adapter.from_element(authorization.name) %>
|
8
|
+
<%= link_to authorization_method.root_path do %>
|
9
|
+
<% render partial: "granted_authorization", locals: { authorization: authorization } %>
|
10
|
+
<% end %>
|
11
|
+
<% else %>
|
12
|
+
<%= render partial: "granted_authorization", locals: { authorization: authorization } %>
|
13
|
+
<% end %>
|
19
14
|
<% end %>
|
20
15
|
</div>
|
21
16
|
<% end %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="row collapse">
|
3
3
|
<div class="row collapse">
|
4
4
|
<div class="columns large-8 large-centered text-center page-title">
|
5
|
-
<h1><%= t(".authorize_with", authorizer: t("#{
|
5
|
+
<h1><%= t(".authorize_with", authorizer: t("#{handler.handler_name}.name", scope: "decidim.authorization_handlers")) %></h1>
|
6
6
|
</div>
|
7
7
|
</div>
|
8
8
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% if request["postal_codes"]
|
2
|
+
postal_codes = request["postal_codes"].split("-")%>
|
3
|
+
<p><%= t("extra_explanation", scope: "decidim.verifications.dummy_authorization", postal_codes: postal_codes.join(", "), count: postal_codes.count) %></p>
|
4
|
+
<% end %>
|
5
|
+
<%= form.all_fields %>
|
6
|
+
<div class="actions partial-demo">
|
7
|
+
<%= form.submit t("decidim.verifications.authorizations.new.authorize"), class: "button expanded" %>
|
8
|
+
</div>
|
data/config/locales/ca.yml
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
---
|
2
1
|
ca:
|
3
2
|
activemodel:
|
4
3
|
attributes:
|
@@ -18,16 +17,16 @@ ca:
|
|
18
17
|
admin:
|
19
18
|
id_documents:
|
20
19
|
help:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
- Els usuaris omplen la informació de la seva identitat i carreguen una còpia del seu document.
|
21
|
+
- Emplenes la informació que es mostra a la imatge penjada.
|
22
|
+
- La informació ha de coincidir amb el que hagi omplert l'usuari.
|
23
|
+
- Si no pots veure la informació amb claredat o no la pots verificar, pots rebutjar la sol·licitud i l'usuari la podrà solucionar.
|
25
24
|
postal_letter:
|
26
25
|
help:
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
- Els usuaris sol·liciten un codi de verificació que s'enviarà a la seva adreça.
|
27
|
+
- Envies la carta a la seva adreça amb el codi de verificació.
|
28
|
+
- Marques la carta com a enviada.
|
29
|
+
- Una vegada la carta està marcada com a enviada, l'usuari podrà introduir el codi i verificar-se.
|
31
30
|
direct: Directe
|
32
31
|
help: Ajuda
|
33
32
|
id_documents:
|
@@ -56,6 +55,10 @@ ca:
|
|
56
55
|
authorize_with: Verifica amb %{authorizer}
|
57
56
|
skip_verification: Pots ometre-ho per ara i %{link}
|
58
57
|
start_exploring: comença a explorar
|
58
|
+
dummy_authorization:
|
59
|
+
extra_explanation:
|
60
|
+
one: La participació està restringida als usuaris amb el codi postal %{postal_codes}.
|
61
|
+
other: 'La participació està restringida als usuaris amb algun dels següents codis postals: %{postal_codes}.'
|
59
62
|
id_documents:
|
60
63
|
admin:
|
61
64
|
confirmations:
|
data/config/locales/en.yml
CHANGED
@@ -56,6 +56,10 @@ en:
|
|
56
56
|
authorize_with: Verify with %{authorizer}
|
57
57
|
skip_verification: You can skip this for now and %{link}
|
58
58
|
start_exploring: start exploring
|
59
|
+
dummy_authorization:
|
60
|
+
extra_explanation:
|
61
|
+
one: Participation is restricted to users with the postal code %{postal_codes}.
|
62
|
+
other: 'Participation is restricted to users with any of the following postal codes: %{postal_codes}.'
|
59
63
|
id_documents:
|
60
64
|
admin:
|
61
65
|
confirmations:
|
data/config/locales/es.yml
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
---
|
2
1
|
es:
|
3
2
|
activemodel:
|
4
3
|
attributes:
|
@@ -18,16 +17,16 @@ es:
|
|
18
17
|
admin:
|
19
18
|
id_documents:
|
20
19
|
help:
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
- Los usuarios rellenan la información de su identidad y suben una copia de su documento.
|
21
|
+
- Rellenas la información presente en la imagen subida.
|
22
|
+
- La información debe coincidir con lo que el usuario envió.
|
23
|
+
- Si no puedes ver claramente la información o no puedes verificarla, puedes rechazar la solicitud y el usuario podrá corregirla.
|
25
24
|
postal_letter:
|
26
25
|
help:
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
- Los usuarios solicitan que se envíe un código de verificación a su dirección.
|
27
|
+
- Envías la carta a su dirección con el código de verificación.
|
28
|
+
- Marcas la carta como enviada.
|
29
|
+
- Una vez hayas marcado la carta como enviada, el usuario podrá introducir el código y ser verificado.
|
31
30
|
direct: Directo
|
32
31
|
help: Ayuda
|
33
32
|
id_documents:
|
@@ -56,6 +55,10 @@ es:
|
|
56
55
|
authorize_with: Verificar con %{authorizer}
|
57
56
|
skip_verification: Puedes saltarte este paso por ahora y %{link}
|
58
57
|
start_exploring: empezar a explorar
|
58
|
+
dummy_authorization:
|
59
|
+
extra_explanation:
|
60
|
+
one: La participación está restringida a usuarios con el código postal %{postal_codes}.
|
61
|
+
other: 'La participación está restringida a usuarios con cualquiera de los siguientes códigos postales: %{postal_codes}.'
|
59
62
|
id_documents:
|
60
63
|
admin:
|
61
64
|
confirmations:
|
@@ -110,7 +113,7 @@ es:
|
|
110
113
|
authorizations:
|
111
114
|
create:
|
112
115
|
error: Hubo un problema con su petición
|
113
|
-
success:
|
116
|
+
success: '¡Gracias! Te enviaremos un código de verificación a tu dirección'
|
114
117
|
edit:
|
115
118
|
send: Confirmar
|
116
119
|
title: Introduce el código de verificación que recibiste
|
data/config/locales/eu.yml
CHANGED
@@ -55,6 +55,10 @@ eu:
|
|
55
55
|
authorize_with: Egiaztatu %{authorizer} rekin
|
56
56
|
skip_verification: Hau saltatu dezakezu oraingoz eta %{link}
|
57
57
|
start_exploring: Hasi esploratzen
|
58
|
+
dummy_authorization:
|
59
|
+
extra_explanation:
|
60
|
+
one: Partehartzea mugatua da %{postal_codes} kode postalarekin duten erabiltzaileentzat.
|
61
|
+
other: 'Parte-hartzea honako posta-kode hauetakoren bat duten erabiltzaileentzat mugatuta dago: %{postal_codes}.'
|
58
62
|
id_documents:
|
59
63
|
admin:
|
60
64
|
confirmations:
|
data/config/locales/fi.yml
CHANGED
@@ -2,12 +2,12 @@ fi:
|
|
2
2
|
activemodel:
|
3
3
|
attributes:
|
4
4
|
id_document_information:
|
5
|
-
document_number: Asiakirjan numero (
|
5
|
+
document_number: Asiakirjan numero (kirjeellä toimitettava)
|
6
6
|
document_type: Asiakirjan tyyppi
|
7
7
|
id_document_upload:
|
8
|
-
document_number: Asiakirjan numero (
|
8
|
+
document_number: Asiakirjan numero (kirjeellä toimitettava)
|
9
9
|
document_type: Asiakirjan tyyppi
|
10
|
-
user:
|
10
|
+
user: Käyttäjä
|
11
11
|
verification_attachment: Asiakirjan skannattu kopio
|
12
12
|
decidim:
|
13
13
|
admin:
|
@@ -18,108 +18,112 @@ fi:
|
|
18
18
|
id_documents:
|
19
19
|
help:
|
20
20
|
- Käyttäjät täyttävät henkilötietonsa ja lähettävät kopion asiakirjastaan.
|
21
|
-
-
|
22
|
-
- Tietojen tulisi vastata
|
23
|
-
- Jos et voi nähdä tietoja selvästi tai et voi saada
|
21
|
+
- Sinä täytät ladatussa kuvassa näkyvät tiedot.
|
22
|
+
- Tietojen tulisi vastata niitä tietoja, jotka käyttäjä on syöttänyt.
|
23
|
+
- Jos et voi nähdä tietoja selvästi tai et voi saada niitä vahvistettua, voit hylätä pyynnön, jolloin käyttäjä voi korjata sen.
|
24
24
|
postal_letter:
|
25
25
|
help:
|
26
|
-
- Käyttäjät
|
27
|
-
- Lähetät kirjeen
|
28
|
-
-
|
29
|
-
- Kun olet merkinnyt
|
26
|
+
- Käyttäjät pyytävät vahvistuskoodin lähettämistä heidän osoitteeseensa.
|
27
|
+
- Lähetät kirjeen heidän osoitteeseensa, mikä sisältää vahvistuskoodin.
|
28
|
+
- Sinä merkitset kirjeen lähetetyksi.
|
29
|
+
- Kun olet merkinnyt kirjeen lähetetyksi, käyttäjä voi ottaa syöttää koodin ja vahvistaa tilinsä.
|
30
30
|
direct: Suoraan
|
31
|
-
help:
|
31
|
+
help: Ohjeet
|
32
32
|
id_documents:
|
33
|
-
explanation:
|
34
|
-
name:
|
33
|
+
explanation: Lataa henkilöllisyystodistuksesi, jotta voimme tarkistaa henkilöllisyytesi
|
34
|
+
name: Henkilöllisyystodistukset
|
35
35
|
multistep: Monivaiheinen
|
36
36
|
name: Nimi
|
37
37
|
postal_letter:
|
38
|
-
explanation: Lähetämme sinulle
|
39
|
-
name: Koodi
|
38
|
+
explanation: Lähetämme sinulle postissa kirjeen, joka sisältää koodin, jotta voimme vahvistaa osoitteesi
|
39
|
+
name: Koodi postissa lähetettävällä kirjeellä
|
40
40
|
verifications:
|
41
41
|
authorizations:
|
42
42
|
create:
|
43
|
-
error:
|
44
|
-
success:
|
43
|
+
error: Vahvistuksen luonnissa tapahtui virhe.
|
44
|
+
success: Tilisi on onnistuneesti vahvistettu.
|
45
45
|
first_login:
|
46
46
|
actions:
|
47
|
-
dummy_authorization_handler:
|
48
|
-
dummy_authorization_workflow:
|
49
|
-
id_documents:
|
50
|
-
postal_letter:
|
47
|
+
dummy_authorization_handler: Vahvista tili esimerkkivaltuuttajan avulla
|
48
|
+
dummy_authorization_workflow: Vahvista esimerkkivaltuutuksen työnkulkuprosessin kautta
|
49
|
+
id_documents: Vahvista tilisi lataamalla henkilöllisyystodistuksesi
|
50
|
+
postal_letter: Vahvista tilisi paperipostissa lähetettävän vahvistuskoodin avulla
|
51
51
|
title: Vahvista henkilöllisyytesi
|
52
|
-
verify_with_these_options: '
|
52
|
+
verify_with_these_options: 'Käytettävissä olevat tavat vahvistaa identiteettisi:'
|
53
53
|
new:
|
54
|
-
authorize:
|
55
|
-
authorize_with: Vahvista %{authorizer}
|
54
|
+
authorize: Lähetä
|
55
|
+
authorize_with: Vahvista palvelulla %{authorizer}
|
56
56
|
skip_verification: Voit ohittaa tämän nyt ja %{link}
|
57
|
-
start_exploring:
|
57
|
+
start_exploring: aloittaa palveluun tutustumisen
|
58
|
+
dummy_authorization:
|
59
|
+
extra_explanation:
|
60
|
+
one: Osallistuminen on rajoitettu niille käyttäjille, joilla on postinumero %{postal_codes}.
|
61
|
+
other: 'Osallistuminen on rajoitettu niille käyttäjille, joilla on jokin postinumeroista: %{postal_codes}.'
|
58
62
|
id_documents:
|
59
63
|
admin:
|
60
64
|
confirmations:
|
61
65
|
create:
|
62
66
|
error: Vahvistus ei täsmää. Yritä uudelleen tai hylkää vahvistus, jotta käyttäjä voi muuttaa sitä
|
63
|
-
success: Käyttäjä
|
67
|
+
success: Käyttäjä vahvistettu onnistuneesti
|
64
68
|
new:
|
65
|
-
introduce_user_data:
|
66
|
-
reject:
|
67
|
-
verify:
|
69
|
+
introduce_user_data: Syötä kuvassa näkyvät tiedot
|
70
|
+
reject: Hylkää
|
71
|
+
verify: Vahvista
|
68
72
|
pending_authorizations:
|
69
73
|
index:
|
70
|
-
title:
|
71
|
-
verification_number: 'Vahvistus
|
74
|
+
title: Odottavat vahvistukset
|
75
|
+
verification_number: 'Vahvistus #%{n}'
|
72
76
|
rejections:
|
73
77
|
create:
|
74
78
|
success: Vahvistus hylätty. Käyttäjää pyydetään muuttamaan asiakirjojaan
|
75
79
|
authorizations:
|
76
80
|
create:
|
77
|
-
error:
|
78
|
-
success: Asiakirja
|
81
|
+
error: Asiakirjan lataamisessa tapahtui virhe
|
82
|
+
success: Asiakirja ladattu onnistuneesti
|
79
83
|
edit:
|
80
|
-
being_reviewed: Tarkistamme
|
81
|
-
rejection_clarity: Varmista, että tiedot näkyvät selvästi ladatussa kuvassa
|
84
|
+
being_reviewed: Tarkistamme asiakirjojasi. Tilisi vahvistetaan pian
|
85
|
+
rejection_clarity: Varmista, että kaikki tiedot näkyvät selvästi ladatussa kuvassa
|
82
86
|
rejection_correctness: Varmista, että syötetyt tiedot ovat oikein
|
83
|
-
rejection_notice:
|
84
|
-
send: Pyydä
|
87
|
+
rejection_notice: Tilisi vahvistuksessa tapahtui ongelma. Yritä uudelleen
|
88
|
+
send: Pyydä vahvistusta uudelleen
|
85
89
|
new:
|
86
|
-
send: Pyydä
|
87
|
-
title: Lähetä
|
90
|
+
send: Pyydä vahvistusta
|
91
|
+
title: Lähetä henkilöllisyystodistuksesi
|
88
92
|
update:
|
89
|
-
error:
|
93
|
+
error: Asiakirjan uudelleen lataaminen epäonnistui
|
90
94
|
success: Asiakirjan uudelleen lataaminen onnistui
|
91
|
-
dni:
|
92
|
-
nie:
|
95
|
+
dni: Henkilökortti
|
96
|
+
nie: HETU
|
93
97
|
passport: Passi
|
94
98
|
postal_letter:
|
95
99
|
admin:
|
96
100
|
pending_authorizations:
|
97
101
|
index:
|
98
102
|
address: Osoite
|
99
|
-
letter_sent_at: Kirje lähetetty
|
100
|
-
mark_as_sent: Merkitse
|
103
|
+
letter_sent_at: Kirje lähetetty osoitteeseen
|
104
|
+
mark_as_sent: Merkitse lähetetyksi
|
101
105
|
not_yet_sent: Ei vielä lähetetty
|
102
|
-
title: Käynnissä olevat
|
106
|
+
title: Käynnissä olevat vahvistukset
|
103
107
|
username: Käyttäjätunnus
|
104
108
|
verification_code: Vahvistuskoodi
|
105
109
|
postages:
|
106
110
|
create:
|
107
|
-
error: Virhe
|
111
|
+
error: Virhe merkatessa kirjettä lähetetyksi
|
108
112
|
success: Kirje onnistuneesti merkitty lähetetyksi
|
109
113
|
authorizations:
|
110
114
|
create:
|
111
115
|
error: Pyynnössäsi oli ongelma
|
112
|
-
success: Kiitos! Lähetämme
|
116
|
+
success: Kiitos! Lähetämme vahvistuskoodin osoiteeseesi
|
113
117
|
edit:
|
114
|
-
send:
|
115
|
-
title:
|
116
|
-
waiting_for_letter: Lähetämme
|
118
|
+
send: Vahvista
|
119
|
+
title: Syötä vastaanottamasi vahvistuskoodi
|
120
|
+
waiting_for_letter: Lähetämme vahvistuskoodin sisältävän kirjeen osoitteeseesi pian
|
117
121
|
new:
|
118
|
-
send: Lähetä minulle
|
122
|
+
send: Lähetä kirje minulle
|
119
123
|
title: Pyydä vahvistuskoodia
|
120
124
|
update:
|
121
|
-
error: Vahvistuskoodi ei vastaa meidän. Tarkista
|
122
|
-
success:
|
125
|
+
error: Vahvistuskoodi ei vastaa meidän koodiamme. Tarkista uudestaan kirje, jonka olemme lähettäneet sinulle
|
126
|
+
success: Onnittelut. Olet vahvistanut tilisi
|
123
127
|
errors:
|
124
128
|
messages:
|
125
|
-
uppercase_only_letters_numbers: on
|
129
|
+
uppercase_only_letters_numbers: sisällössä on sallttu ainoastaan isot kirjaimet ja numerot
|