decidim-verifications 0.8.4 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|