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.
Files changed (33) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +52 -1
  3. data/app/controllers/decidim/verifications/authorizations_controller.rb +6 -0
  4. data/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb +1 -1
  5. data/app/services/decidim/dummy_authorization_handler.rb +36 -1
  6. data/app/views/decidim/verifications/authorizations/_granted_authorization.html.erb +27 -0
  7. data/app/views/decidim/verifications/authorizations/index.html.erb +8 -13
  8. data/app/views/decidim/verifications/authorizations/new.html.erb +1 -1
  9. data/app/views/dummy_authorization/_form.html.erb +8 -0
  10. data/config/locales/ca.yml +12 -9
  11. data/config/locales/en.yml +4 -0
  12. data/config/locales/es.yml +13 -10
  13. data/config/locales/eu.yml +4 -0
  14. data/config/locales/fi.yml +58 -54
  15. data/config/locales/fr.yml +12 -8
  16. data/config/locales/gl.yml +129 -0
  17. data/config/locales/it.yml +9 -5
  18. data/config/locales/nl.yml +16 -12
  19. data/config/locales/pl.yml +5 -0
  20. data/config/locales/pt-BR.yml +129 -0
  21. data/config/locales/pt.yml +4 -0
  22. data/config/locales/ru.yml +120 -0
  23. data/config/locales/sv.yml +129 -0
  24. data/config/locales/uk.yml +88 -4
  25. data/lib/decidim/verifications.rb +1 -0
  26. data/lib/decidim/verifications/adapter.rb +25 -10
  27. data/lib/decidim/verifications/default_action_authorizer.rb +87 -0
  28. data/lib/decidim/verifications/dummy.rb +2 -0
  29. data/lib/decidim/verifications/registry.rb +4 -0
  30. data/lib/decidim/verifications/version.rb +1 -1
  31. data/lib/decidim/verifications/workflow_manifest.rb +13 -1
  32. data/lib/decidim/verifications/workflows.rb +9 -0
  33. metadata +16 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 792a14a38b140ba529745a0113e92727883b8838
4
- data.tar.gz: 962407c94a2ec48050578caad510e7494e12f50b
2
+ SHA256:
3
+ metadata.gz: 4912ebe8574d80d647d1a7efbbd7c16866e4e7c72ea4372d9fd3a6dd39ce406f
4
+ data.tar.gz: 214e20ff2944b697d1e2baad47f8ba79b0c96e0f9b3d6ac0e18fbca99c85f0cf
5
5
  SHA512:
6
- metadata.gz: 3128074deaa182609bd4c055fc7b0307a69c53b5b9bcb1b3fa28732551b393446201ae821a5f1920abe5a25e0cfc968692a56b15a7c7faad6d01e27a544b9a74
7
- data.tar.gz: 07ee1b7402122561b728c28610ae1d859d3f17c5078a321d1f04de655b705b87d2c3e791b643c70338281424219bcf3bf2d83246fa0aa618f42bfb3da010bf7c
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 gem implements several of those methods
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
- <div class="card--list__item">
7
- <div class="card--list__text">
8
- <%= icon "lock-unlocked", class: "card--list__icon" %>
9
- <div>
10
- <h5 class="card--list__heading">
11
- <%= t("#{authorization.name}.name", scope: "decidim.authorization_handlers") %>
12
- </h5>
13
- <span class="text-small">
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("#{params[:handler]}.name", scope: "decidim.authorization_handlers")) %></h1>
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>
@@ -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
- - Els usuaris omplen la informació de la seva identitat i carreguen una còpia del seu document.
22
- - Emplenes la informació que es mostra a la imatge penjada.
23
- - La informació ha de coincidir amb el que hagi omplert l'usuari.
24
- - Si no pots veure la informació amb claredat o no la pots verificar, pots rebutjar la sol·licitud i l'usuari la podrà solucionar.
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
- - Els usuaris sol·liciten un codi de verificació que s'enviarà a la seva adreça.
28
- - Envies la carta a la seva adreça amb el codi de verificació.
29
- - Marques la carta com a enviada.
30
- - Una vegada la carta està marcada com a enviada, l'usuari podrà introduir el codi i verificar-se.
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:
@@ -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:
@@ -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
- - Los usuarios rellenan la información de su identidad y suben una copia de su documento.
22
- - Rellenas la información presente en la imagen subida.
23
- - La información debe coincidir con lo que el usuario envió.
24
- - Si no puedes ver claramente la información o no puedes verificarla, puedes rechazar la solicitud y el usuario podrá corregirla.
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
- - Los usuarios solicitan que se envíe un código de verificación a su dirección.
28
- - Envías la carta a su dirección con el código de verificación.
29
- - Marcas la carta como enviada.
30
- - Una vez hayas marcado la carta como enviada, el usuario podrá introducir el código y ser verificado.
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: "¡Gracias! Te enviaremos un código de verificación a tu dirección"
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
@@ -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:
@@ -2,12 +2,12 @@ fi:
2
2
  activemodel:
3
3
  attributes:
4
4
  id_document_information:
5
- document_number: Asiakirjan numero (kirjaimella)
5
+ document_number: Asiakirjan numero (kirjeellä toimitettava)
6
6
  document_type: Asiakirjan tyyppi
7
7
  id_document_upload:
8
- document_number: Asiakirjan numero (kirjaimella)
8
+ document_number: Asiakirjan numero (kirjeellä toimitettava)
9
9
  document_type: Asiakirjan tyyppi
10
- user: käyttäjä
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
- - Täytä ladatun kuvan läsnä olevat tiedot.
22
- - Tietojen tulisi vastata mitä tahansa käyttäjän täyttämää.
23
- - Jos et voi nähdä tietoja selvästi tai et voi saada sitä vahvistettua, voit hylätä pyynnön ja käyttäjä voi korjata sen.
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 vaativat vahvistuskoodin lähettämistä osoitteeseen.
27
- - Lähetät kirjeen osoitteeseen vahvistuskoodilla.
28
- - Merkitään kirje lähetetyksi.
29
- - Kun olet merkinnyt lähetetyn kirjeen, käyttäjä voi ottaa koodin käyttöön ja saada vahvistuksen.
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: auta
31
+ help: Ohjeet
32
32
  id_documents:
33
- explanation: Lähetä henkilötodistuksesi, jotta voimme tarkistaa henkilöllisyytesi
34
- name: Henkilötodistukset
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 postinumeron, jonka koodi on kirjoitettava, jotta voimme vahvistaa osoitteen
39
- name: Koodi postikirjeellä
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: Luvalla luotiin virhe.
44
- success: Sinulle on myönnetty lupa.
43
+ error: Vahvistuksen luonnissa tapahtui virhe.
44
+ success: Tilisi on onnistuneesti vahvistettu.
45
45
  first_login:
46
46
  actions:
47
- dummy_authorization_handler: Varmista esimerkki valtuutuksen käsittelijältä
48
- dummy_authorization_workflow: Varmista esimerkkitodennuksen työnkulku
49
- id_documents: Tarkista, että lähetät henkilöllisyystodistuksesi
50
- postal_letter: Tarkista, että saat vahvistuskoodin postipostin kautta
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: 'Nämä ovat käytettävissä olevia vaihtoehtoja henkilöllisyytesi vahvistamiseksi:'
52
+ verify_with_these_options: 'Käytettävissä olevat tavat vahvistaa identiteettisi:'
53
53
  new:
54
- authorize: Lähettää
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: alkaa tutkia
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ä onnistui
67
+ success: Käyttäjä vahvistettu onnistuneesti
64
68
  new:
65
- introduce_user_data: Esitä tiedot kuvassa
66
- reject: Hylätä
67
- verify: tarkistaa
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: Odottaa tarkistuksia
71
- verification_number: 'Vahvistus # %{n}'
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: Dokumentin lataaminen tapahtui
78
- success: Asiakirja on ladattu onnistuneesti
81
+ error: Asiakirjan lataamisessa tapahtui virhe
82
+ success: Asiakirja ladattu onnistuneesti
79
83
  edit:
80
- being_reviewed: Tarkistamme asiakirjoja. Sinut tarkistetaan pian
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: Vahvistuksessa tapahtui ongelma. Yritä uudelleen
84
- send: Pyydä vahvistus uudelleen
87
+ rejection_notice: Tilisi vahvistuksessa tapahtui ongelma. Yritä uudelleen
88
+ send: Pyydä vahvistusta uudelleen
85
89
  new:
86
- send: Pyydä vahvistus
87
- title: Lähetä henkilötodistusasi
90
+ send: Pyydä vahvistusta
91
+ title: Lähetä henkilöllisyystodistuksesi
88
92
  update:
89
- error: Dokumentin uudelleen lataaminen tapahtui
93
+ error: Asiakirjan uudelleen lataaminen epäonnistui
90
94
  success: Asiakirjan uudelleen lataaminen onnistui
91
- dni: DNI
92
- nie: 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 osoitteessa
100
- mark_as_sent: Merkitse lähetetty
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 tarkistukset
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 merkittynä kirjeeksi lähetettynä
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 vahvistuskoodimme osoitteeseen
116
+ success: Kiitos! Lähetämme vahvistuskoodin osoiteeseesi
113
117
  edit:
114
- send: Vahvistaa
115
- title: Esittele vastaanottamasi vahvistuskoodi
116
- waiting_for_letter: Lähetämme kirjeesi osoitteeseen vahvistuskoodisi pian
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 kirje
122
+ send: Lähetä kirje minulle
119
123
  title: Pyydä vahvistuskoodia
120
124
  update:
121
- error: Vahvistuskoodi ei vastaa meidän. Tarkista ensin lähettämäsi kirje
122
- success: Onnea. Olet varmistunut
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 oltava isoja ja sisältävät vain kirjaimia ja / tai numeroita
129
+ uppercase_only_letters_numbers: sisällössä on sallttu ainoastaan isot kirjaimet ja numerot