decidim-verifications 0.23.0 → 0.24.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/app/commands/decidim/verifications/authorize_user.rb +30 -1
- data/app/commands/decidim/verifications/csv_census/admin/create_census_data.rb +2 -0
- data/app/commands/decidim/verifications/id_documents/admin/confirm_user_offline_authorization.rb +2 -2
- data/app/controllers/decidim/verifications/id_documents/admin/pending_authorizations_controller.rb +1 -1
- data/app/events/decidim/verifications/managed_user_error_event.rb +39 -0
- data/app/forms/decidim/verifications/sms/mobile_phone_form.rb +1 -1
- data/app/models/decidim/verifications/conflict.rb +8 -0
- data/app/models/decidim/verifications/csv_census/data.rb +1 -0
- data/app/queries/decidim/verifications/authorizations.rb +3 -2
- data/app/queries/decidim/verifications/authorizations_before_date.rb +5 -7
- data/app/services/decidim/authorization_handler.rb +1 -1
- data/app/views/decidim/verifications/authorizations/index.html.erb +3 -3
- data/app/views/dummy_authorization/_form.html.erb +2 -2
- data/config/locales/ar.yml +0 -9
- data/config/locales/ca.yml +0 -9
- data/config/locales/cs.yml +35 -25
- data/config/locales/de.yml +15 -7
- data/config/locales/el.yml +0 -9
- data/config/locales/en.yml +14 -6
- data/config/locales/es-MX.yml +0 -9
- data/config/locales/es-PY.yml +0 -9
- data/config/locales/es.yml +0 -9
- data/config/locales/eu.yml +0 -9
- data/config/locales/fi-plain.yml +13 -5
- data/config/locales/fi.yml +13 -5
- data/config/locales/fr-CA.yml +13 -5
- data/config/locales/fr.yml +13 -5
- data/config/locales/gl.yml +44 -15
- data/config/locales/hu.yml +0 -8
- data/config/locales/id-ID.yml +0 -9
- data/config/locales/is-IS.yml +0 -3
- data/config/locales/it.yml +0 -9
- data/config/locales/ja.yml +0 -9
- data/config/locales/lv.yml +0 -9
- data/config/locales/nl.yml +10 -6
- data/config/locales/no.yml +0 -9
- data/config/locales/pl.yml +16 -6
- data/config/locales/pt-BR.yml +0 -9
- data/config/locales/pt.yml +0 -9
- data/config/locales/ro-RO.yml +0 -9
- data/config/locales/ru.yml +0 -3
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +0 -9
- data/config/locales/sv.yml +0 -9
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/tr-TR.yml +68 -42
- data/config/locales/uk.yml +0 -3
- data/config/locales/zh-CN.yml +0 -9
- data/db/migrate/20201028161118_create_decidim_verifications_conflicts.rb +15 -0
- data/lib/decidim/verifications/default_action_authorizer.rb +5 -5
- data/lib/decidim/verifications/test/factories.rb +7 -0
- data/lib/decidim/verifications/version.rb +1 -1
- metadata +20 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d5ddc2f063d130e6be5d06e33784d853028039016a23b59db919bd27af35bd1
|
4
|
+
data.tar.gz: 27c829745ac4f5e43b8d46832fdf44df5c64e3b7117110fd43e4f71f8099c259
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 037b12793b4b867c5119bf2d53bd992644a7a5af2d7f852cfc8ec27a7b1a444a5511fc204eb03415627828cfcade1efae24b449d7990abc7d259d60b28e1b0b8
|
7
|
+
data.tar.gz: 2cd89ffdb95eea642ba2cc14b0d53aa3cb61caf1a07c8c7dcc3bc567b299247cde82afa4dcd98d65653b27563b3b0a2497e113d4d6b6fe763bcd1a83aef8ad0e
|
data/README.md
CHANGED
@@ -166,7 +166,7 @@ on the context where the authorization is being performed.
|
|
166
166
|
|
167
167
|
For example, you can require authorization for supporting proposals in a participatory
|
168
168
|
process, and also restrict it to users with postal codes 12345 and 12346. The
|
169
|
-
[example authorization handler](https://github.com/decidim/decidim/blob/
|
169
|
+
[example authorization handler](https://github.com/decidim/decidim/blob/develop/decidim-generators/lib/decidim/generators/app_templates/dummy_authorization_handler.rb)
|
170
170
|
included in this module allows to do that. As an admin user, you should visit
|
171
171
|
the proposals componenent permissions screen, choose the `Example authorization`
|
172
172
|
as the authorization handler name for the `vote` action and enter "12345, 12346"
|
@@ -204,8 +204,8 @@ Decidim::Verifications.register_workflow(:my_verification) do |workflow|
|
|
204
204
|
end
|
205
205
|
```
|
206
206
|
|
207
|
-
Check the [example authorization handler](https://github.com/decidim/decidim/blob/
|
208
|
-
and the [DefaultActionAuthorizer class](https://github.com/decidim/decidim/blob/
|
207
|
+
Check the [example authorization handler](https://github.com/decidim/decidim/blob/develop/decidim-generators/lib/decidim/generators/app_templates/dummy_authorization_handler.rb)
|
208
|
+
and the [DefaultActionAuthorizer class](https://github.com/decidim/decidim/blob/develop/decidim-verifications/lib/decidim/verifications/default_action_authorizer.rb)
|
209
209
|
for additional technical details.
|
210
210
|
|
211
211
|
## How Handlers work
|
@@ -241,8 +241,8 @@ See [Decidim](https://github.com/decidim/decidim).
|
|
241
241
|
|
242
242
|
See [Decidim](https://github.com/decidim/decidim).
|
243
243
|
|
244
|
-
[authorization handler base class]: https://github.com/decidim/decidim/blob/
|
245
|
-
[example SMS gateway]: https://github.com/decidim/decidim/blob/
|
244
|
+
[authorization handler base class]: https://github.com/decidim/decidim/blob/develop/decidim-verifications/app/services/decidim/authorization_handler.rb
|
245
|
+
[example SMS gateway]: https://github.com/decidim/decidim/blob/develop/decidim-verifications/lib/decidim/verifications/sms/example_gateway.rb
|
246
246
|
|
247
247
|
[Decidim Barcelona]: https://github.com/AjuntamentdeBarcelona/decidim-barcelona/blob/master/app/services/census_authorization_handler.rb
|
248
248
|
[Decidim Terrassa]: https://github.com/AjuntamentDeTerrassa/decidim-terrassa/blob/master/app/services/census_authorization_handler.rb
|
@@ -18,7 +18,12 @@ module Decidim
|
|
18
18
|
#
|
19
19
|
# Returns nothing.
|
20
20
|
def call
|
21
|
-
|
21
|
+
if handler.invalid?
|
22
|
+
conflict = create_verification_conflict
|
23
|
+
notify_admins(conflict) if conflict.present?
|
24
|
+
|
25
|
+
return broadcast(:invalid)
|
26
|
+
end
|
22
27
|
|
23
28
|
Authorization.create_or_update_from(handler)
|
24
29
|
|
@@ -28,6 +33,30 @@ module Decidim
|
|
28
33
|
private
|
29
34
|
|
30
35
|
attr_reader :handler
|
36
|
+
|
37
|
+
def notify_admins(conflict)
|
38
|
+
Decidim::EventsManager.publish(
|
39
|
+
event: "decidim.events.verifications.managed_user_error_event",
|
40
|
+
event_class: Decidim::Verifications::ManagedUserErrorEvent,
|
41
|
+
resource: conflict,
|
42
|
+
affected_users: Decidim::User.where(admin: true)
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
def create_verification_conflict
|
47
|
+
authorization = Decidim::Authorization.find_by(unique_id: handler.unique_id)
|
48
|
+
return if authorization.blank?
|
49
|
+
|
50
|
+
conflict = Decidim::Verifications::Conflict.find_or_initialize_by(
|
51
|
+
current_user: handler.user,
|
52
|
+
managed_user: authorization.user,
|
53
|
+
unique_id: handler.unique_id
|
54
|
+
)
|
55
|
+
|
56
|
+
conflict.update(times: conflict.times + 1)
|
57
|
+
|
58
|
+
conflict
|
59
|
+
end
|
31
60
|
end
|
32
61
|
end
|
33
62
|
end
|
@@ -20,7 +20,9 @@ module Decidim
|
|
20
20
|
def call
|
21
21
|
return broadcast(:invalid) unless @form.file
|
22
22
|
|
23
|
+
# rubocop:disable Rails/SkipsModelValidations
|
23
24
|
CsvDatum.insert_all(@organization, @form.data.values)
|
25
|
+
# rubocop:enable Rails/SkipsModelValidations
|
24
26
|
RemoveDuplicatesJob.perform_later(@organization)
|
25
27
|
|
26
28
|
broadcast(:ok)
|
data/app/commands/decidim/verifications/id_documents/admin/confirm_user_offline_authorization.rb
CHANGED
@@ -58,8 +58,8 @@ module Decidim
|
|
58
58
|
.new(organization: form.current_organization, name: "id_documents", granted: false)
|
59
59
|
.query
|
60
60
|
.where("verification_metadata->'rejected' IS NULL")
|
61
|
-
.where(
|
62
|
-
.
|
61
|
+
.where(user: authorization_user)
|
62
|
+
.find { |auth| auth.verification_metadata["verification_type"] == "offline" }
|
63
63
|
end
|
64
64
|
|
65
65
|
def authorization_user
|
data/app/controllers/decidim/verifications/id_documents/admin/pending_authorizations_controller.rb
CHANGED
@@ -22,7 +22,7 @@ module Decidim
|
|
22
22
|
.new(organization: current_organization, name: "id_documents", granted: false)
|
23
23
|
.query
|
24
24
|
.where("verification_metadata->'rejected' IS NULL")
|
25
|
-
.
|
25
|
+
.select { |auth| auth.verification_metadata["verification_type"] == "online" }
|
26
26
|
end
|
27
27
|
|
28
28
|
def has_offline_method?
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen-string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Verifications
|
5
|
+
class ManagedUserErrorEvent < Decidim::Events::SimpleEvent
|
6
|
+
delegate :profile_path, :profile_url, :name, to: :updated_user
|
7
|
+
|
8
|
+
def i18n_scope
|
9
|
+
"decidim.events.verifications.verify_with_managed_user"
|
10
|
+
end
|
11
|
+
|
12
|
+
def resource_path
|
13
|
+
profile_path
|
14
|
+
end
|
15
|
+
|
16
|
+
def resource_url
|
17
|
+
profile_url
|
18
|
+
end
|
19
|
+
|
20
|
+
def resource_title
|
21
|
+
updated_user.name
|
22
|
+
end
|
23
|
+
|
24
|
+
def default_i18n_options
|
25
|
+
super.merge({ managed_user_path: managed_user.profile_path, managed_user_name: managed_user.name })
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def updated_user
|
31
|
+
@updated_user ||= Decidim::UserPresenter.new(resource.current_user)
|
32
|
+
end
|
33
|
+
|
34
|
+
def managed_user
|
35
|
+
@managed_user ||= Decidim::UserPresenter.new(resource.managed_user)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -26,9 +26,10 @@ module Decidim
|
|
26
26
|
scope = scope.where(name: name) unless name.nil?
|
27
27
|
scope = scope.where(user: user) unless user.nil?
|
28
28
|
|
29
|
-
|
29
|
+
case granted
|
30
|
+
when true
|
30
31
|
scope = scope.where.not(granted_at: nil)
|
31
|
-
|
32
|
+
when false
|
32
33
|
scope = scope.where(granted_at: nil)
|
33
34
|
end
|
34
35
|
|
@@ -34,13 +34,11 @@ module Decidim
|
|
34
34
|
|
35
35
|
query = query.where("#{Decidim::Authorization.table_name}.created_at < ?", date) unless date.nil?
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
query
|
37
|
+
if granted
|
38
|
+
query.where.not(granted_at: nil)
|
39
|
+
else
|
40
|
+
query.where(granted_at: nil)
|
41
|
+
end
|
44
42
|
end
|
45
43
|
|
46
44
|
private
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="card card--list">
|
9
9
|
<% @granted_authorizations.each do |authorization| %>
|
10
10
|
<% if authorization.expired? %>
|
11
|
-
<%= link_to authorization_method(authorization).root_path(url_params), title: t(".expired_verification"), class: "card--list__item" do %>
|
11
|
+
<%= link_to authorization_method(authorization).root_path(**url_params), title: t(".expired_verification"), class: "card--list__item" do %>
|
12
12
|
<% render partial: "granted_authorization", locals: { authorization: authorization } %>
|
13
13
|
<% end %>
|
14
14
|
<% elsif authorization.renewable? %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<% if @pending_authorizations.any? %>
|
30
30
|
<div class="card card--list">
|
31
31
|
<% @pending_authorizations.each do |authorization| %>
|
32
|
-
<%= link_to authorization_method(authorization).resume_authorization_path(url_params) do %>
|
32
|
+
<%= link_to authorization_method(authorization).resume_authorization_path(**url_params) do %>
|
33
33
|
<div class="card--list__item">
|
34
34
|
<div class="card--list__text">
|
35
35
|
<%= icon "reload", class: "card--list__icon", aria_label: t(".pending_verification"), role: "img" %>
|
@@ -56,7 +56,7 @@
|
|
56
56
|
<% if unauthorized_methods.any? %>
|
57
57
|
<div class="card card--list">
|
58
58
|
<% unauthorized_methods.each do |unauthorized_method| %>
|
59
|
-
<%= link_to unauthorized_method.root_path(url_params) do %>
|
59
|
+
<%= link_to unauthorized_method.root_path(**url_params) do %>
|
60
60
|
<div class="card--list__item">
|
61
61
|
<div class="card--list__text">
|
62
62
|
<%= icon "lock-unlocked", class: "card--list__icon", aria_label: t(".unauthorized_verification"), role: "img" %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<% if request["postal_codes"].present?
|
2
2
|
postal_codes = request["postal_codes"].split(",") %>
|
3
|
-
<p><%= t("extra_explanation.postal_codes", scope: "decidim.verifications.dummy_authorization", postal_codes: postal_codes.join(", "), count: postal_codes.count) %></p>
|
3
|
+
<p><%= t("extra_explanation.postal_codes", scope: "decidim.verifications.dummy_authorization", postal_codes: postal_codes.join(", "), count: postal_codes.count, user_postal_code: request["user_postal_code"]) %></p>
|
4
4
|
<% end %>
|
5
5
|
|
6
6
|
<% if request["scope"] && (scope = Decidim::Scope.find(request["scope"]&.to_i)) %>
|
7
|
-
<p><%= t("extra_explanation.scope", scope: "decidim.verifications.dummy_authorization", scope_name: translated_attribute(scope.name)) %></p>
|
7
|
+
<p><%= t("extra_explanation.scope", scope: "decidim.verifications.dummy_authorization", scope_name: translated_attribute(scope.name), user_scope_name: request["user_scope_name"]) %></p>
|
8
8
|
<% end %>
|
9
9
|
|
10
10
|
<div class="partial-demo">
|
data/config/locales/ar.yml
CHANGED
@@ -24,14 +24,6 @@ ar:
|
|
24
24
|
full_address: العنوان الكامل
|
25
25
|
verification_code: شيفرة التأكيد
|
26
26
|
decidim:
|
27
|
-
admin:
|
28
|
-
menu:
|
29
|
-
authorization_workflows: التحقق
|
30
|
-
admin_log:
|
31
|
-
organization:
|
32
|
-
update_id_documents_config: "%{user_name} بتحديث تكوين التحقق من وثائق الهوية"
|
33
|
-
user:
|
34
|
-
grant_id_documents_offline_verification: "%{user_name} التحقق من %{resource_name} باستخدام التحقق من مستندات الهوية دون اتصال"
|
35
27
|
authorization_handlers:
|
36
28
|
admin:
|
37
29
|
csv_census:
|
@@ -103,7 +95,6 @@ ar:
|
|
103
95
|
title: بيانات التعداد الحالية
|
104
96
|
instructions:
|
105
97
|
body: للقيام بذلك ، يجب عليك إدخال إدارة النظام وإضافة تصاريح csv_census إلى المؤسسة
|
106
|
-
title: تحتاج إلى تنشيط التعداد CSV لهذه المنظمة
|
107
98
|
new:
|
108
99
|
file: ".csv ملف مع بيانات رسائل البريد الإلكتروني"
|
109
100
|
submit: رفع ملف
|
data/config/locales/ca.yml
CHANGED
@@ -34,16 +34,8 @@ ca:
|
|
34
34
|
confirm: La revocació d'autoritzacions anteriors a aquesta data no es pot desfer. Segur que vols continuar?
|
35
35
|
confirm_all: La revocació de totes les autoritzacions no es pot desfer. Segur que vols continuar?
|
36
36
|
destroy_nok: S'ha produït un error al revocar les autoritzacions.
|
37
|
-
destroy_ok: Totes les autoritzacions coincidents s'han revocat correctament!
|
38
37
|
info: Hi ha un total de %{count} participants verificades.
|
39
38
|
no_data: No hi ha participants verificades
|
40
|
-
title: Revocació de les autoritzacions
|
41
|
-
authorization_workflows: Verificacions
|
42
|
-
admin_log:
|
43
|
-
organization:
|
44
|
-
update_id_documents_config: "%{user_name} ha actualitzat la configuració de verificació mitjançant documents d'identitat"
|
45
|
-
user:
|
46
|
-
grant_id_documents_offline_verification: "%{user_name} ha verificat %{resource_name} utilitzant la verificació presencial mitjançant documents d'identitat"
|
47
39
|
authorization_handlers:
|
48
40
|
admin:
|
49
41
|
csv_census:
|
@@ -131,7 +123,6 @@ ca:
|
|
131
123
|
title: Dades censals actuals
|
132
124
|
instructions:
|
133
125
|
body: Per fer-ho, has d'entrar al panell d'administració i afegir les autoritzacions de csv_census a l'organització
|
134
|
-
title: Necessites activar el cens csv d'aquesta organització
|
135
126
|
new:
|
136
127
|
file: "fitxer .csv amb dades de correus electrònics"
|
137
128
|
info: 'Ha de ser un document en format CSV amb una única columna indicant les adreces electròniques:'
|
data/config/locales/cs.yml
CHANGED
@@ -7,10 +7,10 @@ cs:
|
|
7
7
|
offline_explanation: Pokyny pro ověření offline
|
8
8
|
online: Online
|
9
9
|
id_document_information:
|
10
|
-
document_number: Číslo
|
10
|
+
document_number: Číslo dokladu (jen číslice)
|
11
11
|
document_type: Typ dokumentu
|
12
12
|
id_document_upload:
|
13
|
-
document_number: Číslo
|
13
|
+
document_number: Číslo dokladu (jen číslice)
|
14
14
|
document_type: Typ dokumentu
|
15
15
|
user: Uživatel
|
16
16
|
verification_attachment: Naskenovaná kopie dokumentu
|
@@ -34,16 +34,16 @@ cs:
|
|
34
34
|
confirm: Zrušení před datem autorizace nelze vrátit zpět. Jste si jisti, že chcete pokračovat?
|
35
35
|
confirm_all: Zrušení všech autorizací nelze vrátit zpět. Jste si jisti, že chcete pokračovat?
|
36
36
|
destroy_nok: Při rušení autorizace došlo k chybě.
|
37
|
-
destroy_ok: Všechny odpovídající autorizace byly úspěšně zrušeny
|
37
|
+
destroy_ok: Všechny odpovídající autorizace byly úspěšně zrušeny.
|
38
38
|
info: Celkem je %{count} ověřených účastníků.
|
39
39
|
no_data: Žádní ověření účastníci
|
40
|
-
title: Zrušení
|
41
|
-
authorization_workflows:
|
40
|
+
title: Zrušení autorizace
|
41
|
+
authorization_workflows: Autorizace
|
42
42
|
admin_log:
|
43
43
|
organization:
|
44
|
-
update_id_documents_config: "%{user_name}
|
44
|
+
update_id_documents_config: "%{user_name} aktualizoval konfiguraci autorizace dokladů totožnosti"
|
45
45
|
user:
|
46
|
-
grant_id_documents_offline_verification: "%{user_name}
|
46
|
+
grant_id_documents_offline_verification: "%{user_name} ověřil %{resource_name} pomocí offline autorizace dokladů totožnosti"
|
47
47
|
authorization_handlers:
|
48
48
|
admin:
|
49
49
|
csv_census:
|
@@ -63,8 +63,8 @@ cs:
|
|
63
63
|
- Označte písmeno jako odesláno.
|
64
64
|
- Jakmile označíte odeslané písmeno, uživatel bude schopen kód zadat a ověřit.
|
65
65
|
csv_census:
|
66
|
-
explanation: Získejte ověření pomocí
|
67
|
-
name:
|
66
|
+
explanation: Získejte ověření pomocí členů organizace
|
67
|
+
name: Členové organizace
|
68
68
|
direct: Přímo
|
69
69
|
help: Pomoc
|
70
70
|
id_documents:
|
@@ -74,7 +74,11 @@ cs:
|
|
74
74
|
name: název
|
75
75
|
postal_letter:
|
76
76
|
explanation: Pošleme vám poštovní dopis s kódem, který budete muset zadat, abychom mohli ověřit vaši adresu
|
77
|
-
name: Kód
|
77
|
+
name: Kód v listovní zásilce
|
78
|
+
events:
|
79
|
+
verifications:
|
80
|
+
verify_with_managed_user:
|
81
|
+
notification_title: Účastník <a href="%{resource_path}">%{resource_title}</a> se pokusil ověřit údaji spravovaného účastníka <a href="%{managed_user_path}">%{managed_user_name}</a>
|
78
82
|
verifications:
|
79
83
|
authorizations:
|
80
84
|
authorization_metadata:
|
@@ -90,7 +94,7 @@ cs:
|
|
90
94
|
first_login:
|
91
95
|
actions:
|
92
96
|
another_dummy_authorization_handler: Ověřte proti jinému příkladu pověření pro autorizaci
|
93
|
-
csv_census: Ověřte
|
97
|
+
csv_census: Ověřte prostřednictvím členů organizace
|
94
98
|
dummy_authorization_handler: Ověřte proti příkladu pověření autorizace
|
95
99
|
dummy_authorization_workflow: Ověřte proti pracovnímu postupu autorizace
|
96
100
|
id_documents: Získejte ověření odesláním dokladu totožnosti
|
@@ -118,28 +122,28 @@ cs:
|
|
118
122
|
admin:
|
119
123
|
census:
|
120
124
|
create:
|
121
|
-
error: Při importu
|
125
|
+
error: Při importu členů organizace došlo k chybě.
|
122
126
|
success: Úspěšně importováno %{count} položek (%{errors} chyb)
|
123
127
|
destroy_all:
|
124
|
-
success: Všechna data
|
128
|
+
success: Všechna data členů organizace byly smazány
|
125
129
|
destroy:
|
126
|
-
confirm:
|
127
|
-
title: Smazat všechna data
|
130
|
+
confirm: Odstranění veškerých kontaktů členů organizace nelze vrátit zpět. Jste si jistý, že chcete pokračovat?
|
131
|
+
title: Smazat všechna data členů organizace
|
128
132
|
index:
|
129
133
|
data: Celkem bylo načteno celkem %{count} záznamů. Poslední nahraje datum %{due_date}
|
130
|
-
empty: Neexistují
|
131
|
-
title: Aktuální údaje o
|
134
|
+
empty: Neexistují data o členech organizace. Pomocí níže uvedeného formuláře je importujte souborem CSV.
|
135
|
+
title: Aktuální údaje o členech organizace
|
132
136
|
instructions:
|
133
|
-
body: Chcete-li to provést, musíte vstoupit do správy systému a přidat oprávnění
|
134
|
-
title:
|
137
|
+
body: Chcete-li to provést, musíte vstoupit do správy systému a přidat oprávnění prostřednictvím souboru csv s e-maily členů organizace
|
138
|
+
title: Musíte aktivovat CSV s kontakty členů organizace
|
135
139
|
new:
|
136
140
|
file: ".csv soubor s daty e-mailů"
|
137
|
-
info: 'Must být
|
141
|
+
info: 'Must být soubor ve formátu CSV s pouze jedním sloupcem s e-mailovou adresou:'
|
138
142
|
submit: Nahrát soubor
|
139
|
-
title: Nahrajte nové
|
143
|
+
title: Nahrajte nové členy organizace
|
140
144
|
authorizations:
|
141
145
|
new:
|
142
|
-
error: Váš účet nebyl ověřen, nebo nejste
|
146
|
+
error: Váš účet nebyl ověřen, nebo nejste členem organizace.
|
143
147
|
success: Účet byl úspěšně ověřen.
|
144
148
|
dummy_authorization:
|
145
149
|
extra_explanation:
|
@@ -149,6 +153,12 @@ cs:
|
|
149
153
|
many: 'Účast je omezena na uživatele s některým z následujících poštovních směrovacích čísel: %{postal_codes}.'
|
150
154
|
other: 'Účast je omezena na uživatele s některým z následujících poštovních směrovacích čísel: %{postal_codes}.'
|
151
155
|
scope: Účast je omezena na účastníky s rozsahem %{scope_name}.
|
156
|
+
user_postal_codes:
|
157
|
+
one: Účast je omezena na účastníky s poštovním kódem %{postal_codes} a vaše poštovní směrovací číslo je %{user_postal_code}.
|
158
|
+
few: 'Účast je omezena na účastníky s poštovním kódem %{postal_codes} a vaše poštovní směrovací číslo je %{user_postal_code}.'
|
159
|
+
many: 'Účast je omezena na účastníky s poštovními kódy %{postal_codes} a vaše poštovní směrovací číslo je %{user_postal_code}.'
|
160
|
+
other: 'Účast je omezena na účastníky s kterýmkoli z následujících poštovních kódů: %{postal_codes}. Vaše poštovní směrovací číslo je %{user_postal_code}.'
|
161
|
+
user_scope: Účast je omezena na účastníky s rozsahem %{scope_name} a váš rozsah je %{user_scope_name}.
|
152
162
|
id_documents:
|
153
163
|
admin:
|
154
164
|
config:
|
@@ -168,7 +178,7 @@ cs:
|
|
168
178
|
verify: Ověřte
|
169
179
|
offline_confirmations:
|
170
180
|
create:
|
171
|
-
error: Ověření
|
181
|
+
error: Ověření neodpovídá vloženým údajům. Zkuste to znovu, nebo řekněte uživateli, ať si je změní
|
172
182
|
success: Uživatel úspěšně ověřen
|
173
183
|
new:
|
174
184
|
cancel: zrušení
|
@@ -176,7 +186,7 @@ cs:
|
|
176
186
|
verify: Ověřte
|
177
187
|
pending_authorizations:
|
178
188
|
index:
|
179
|
-
config:
|
189
|
+
config: Konfigurace
|
180
190
|
offline_verification: Ověření offline
|
181
191
|
title: Čekající ověření online
|
182
192
|
verification_number: 'Ověření #%{n}'
|
@@ -207,7 +217,7 @@ cs:
|
|
207
217
|
error: Při načítání dokumentu došlo k problému
|
208
218
|
success: Dokument byl úspěšně obnoven
|
209
219
|
dni: DNI
|
210
|
-
nie:
|
220
|
+
nie: Občanský průkaz
|
211
221
|
passport: Cestovní pas
|
212
222
|
postal_letter:
|
213
223
|
admin:
|