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.
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
@@ -55,6 +55,10 @@ pt:
55
55
  authorize_with: Verifique com %{authorizer}
56
56
  skip_verification: Você pode ignorar isso por enquanto e %{link}
57
57
  start_exploring: comece a explorar
58
+ dummy_authorization:
59
+ extra_explanation:
60
+ one: A participação é restrita aos usuários com o código postal %{postal_codes}.
61
+ other: 'A participação é restrita aos usuários com qualquer um dos seguintes códigos postais: %{postal_codes}.'
58
62
  id_documents:
59
63
  admin:
60
64
  confirmations:
@@ -1,5 +1,125 @@
1
1
  ru:
2
2
  activemodel:
3
3
  attributes:
4
+ id_document_information:
5
+ document_number: Номер документа (с буквой)
6
+ document_type: Тип документа
4
7
  id_document_upload:
8
+ document_number: Номер документа (с буквой)
9
+ document_type: Тип документа
5
10
  user: Участник
11
+ verification_attachment: Скан вашего документа
12
+ decidim:
13
+ admin:
14
+ menu:
15
+ authorization_workflows: Пути подтверждения личности
16
+ authorization_handlers:
17
+ admin:
18
+ id_documents:
19
+ help:
20
+ - Участники вводят свои личные данные и загружают фото своего документа.
21
+ - Вы вводите данные из загруженной фотографии.
22
+ - Данные должны соответствовать тем, которые предоставил участник.
23
+ - Если вы не можете ясно увидеть данные, или вы не можете их сверить, вы можете отклонить запрос, и участник сможет его подправить.
24
+ postal_letter:
25
+ help:
26
+ - Участники запрашивают проверочный код для отправки по их адресу.
27
+ - Вы отправляете им почтой письмо с проверочным кодом.
28
+ - Вы помечаете письмо как отправленное.
29
+ - Когда вы пометите письмо как отправленное, участник сможет ввести код и пройти проверку.
30
+ direct: Прямой
31
+ help: Помощь
32
+ id_documents:
33
+ explanation: Загрузите документы, удостоверяющие вашу личность, чтобы мы могли их проверить
34
+ name: Документы, удостоверяющие личность
35
+ multistep: Многошаговое
36
+ name: Имя
37
+ postal_letter:
38
+ explanation: Мы отправим вам почтовое письмо с кодом, который вам нужно будет ввести для подтверждения адреса
39
+ name: Код почтовым письмом
40
+ verifications:
41
+ authorizations:
42
+ create:
43
+ error: При создании этого подтверждения личности произошла ошибка.
44
+ success: Вы успешно подтвердили свою личность.
45
+ first_login:
46
+ actions:
47
+ dummy_authorization_handler: Проведите подтверждение, сравнив с примером подтверждения личности
48
+ dummy_authorization_workflow: Проведите подтверждение, сравнив с примером пути подтверждения личности
49
+ id_documents: Подтвердите личность, загрузив документ, удостоверяющий её
50
+ postal_letter: Подтвердите личность, получив проверочный код почтовым письмом
51
+ title: Подтвердите вашу личность
52
+ verify_with_these_options: 'Есть такие способы подтверждения вашей личности:'
53
+ new:
54
+ authorize: Отправить
55
+ authorize_with: Подтвердить личность с помощью %{authorizer}
56
+ skip_verification: Вы можете пока что пропустить это и %{link}
57
+ start_exploring: начать изучать
58
+ id_documents:
59
+ admin:
60
+ confirmations:
61
+ create:
62
+ error: Подтверждение не сходится. Повторите попытку или отклоните проверку, чтобы участник мог ее исправить
63
+ success: Литчность участника успешно подтверждена
64
+ new:
65
+ introduce_user_data: Введите данные на картинке
66
+ reject: Отклонить
67
+ verify: Подтвердить личность
68
+ pending_authorizations:
69
+ index:
70
+ title: Подтверждения, ожидающие рассмотрения
71
+ verification_number: 'Подтверждение #%{n}'
72
+ rejections:
73
+ create:
74
+ success: Подтверждение личности отклонено. Участнику будет предложено внести изменения в документы
75
+ authorizations:
76
+ create:
77
+ error: Не удалось загрузить ваш документ
78
+ success: Документ успешно загружен
79
+ edit:
80
+ being_reviewed: Мы рассматриваем ваши документы. Ваша личность вскоре будет проверена
81
+ rejection_clarity: Убедитесь, что в загруженном изображении ясно видны данные
82
+ rejection_correctness: Убедитесь, что введенные данные верны
83
+ rejection_notice: С проверкой вашей личности возникла проблема. Пожалуйста, попробуйте еще раз
84
+ send: Снова подать запрос на подтверждение личности
85
+ new:
86
+ send: Подать запрос на подтверждение личности
87
+ title: Загрузить документ, удостоверяющий личность
88
+ update:
89
+ error: Не удалось заново загрузить ваш документ
90
+ success: Документ успешно заново загружен
91
+ dni: ИНН
92
+ nie: СНИЛС
93
+ passport: Паспорт
94
+ postal_letter:
95
+ admin:
96
+ pending_authorizations:
97
+ index:
98
+ address: Адрес
99
+ letter_sent_at: 'Письмо отправлено по адресу:'
100
+ mark_as_sent: Пометить как отправленное
101
+ not_yet_sent: Еще не отправлено
102
+ title: Текущие проверки личности
103
+ username: Имя участника
104
+ verification_code: Проверочный код
105
+ postages:
106
+ create:
107
+ error: Ошибка пометки письма как отправленного
108
+ success: Письмо успешно помечено как отправленное
109
+ authorizations:
110
+ create:
111
+ error: С вашим запросом возникла проблема
112
+ success: Спасибо! Мы вышлем проверочный код на ваш адрес
113
+ edit:
114
+ send: Подтвердить
115
+ title: Введите проверочный код, который вы получили
116
+ waiting_for_letter: Мы вскоре отправим по вашему адресу письмо с проверочным кодом
117
+ new:
118
+ send: Пришлите мне письмо
119
+ title: Запросить проверочный код
120
+ update:
121
+ error: Ваш проверочный код не соответствует нашему. Пожалуйста, еще раз проверьте письмо, которое мы вам отправили
122
+ success: Поздравляем! Вы успешно прошли проверку
123
+ errors:
124
+ messages:
125
+ uppercase_only_letters_numbers: должен содержать только прописные буквы и цифры
@@ -0,0 +1,129 @@
1
+ sv:
2
+ activemodel:
3
+ attributes:
4
+ id_document_information:
5
+ document_number: Dokumentnummer (med bokstav)
6
+ document_type: Typ av dokumentet
7
+ id_document_upload:
8
+ document_number: Dokumentnummer (med bokstav)
9
+ document_type: Typ av ditt dokument
10
+ user: Användare
11
+ verification_attachment: Skannad kopia av ditt dokument
12
+ decidim:
13
+ admin:
14
+ menu:
15
+ authorization_workflows: kontroller
16
+ authorization_handlers:
17
+ admin:
18
+ id_documents:
19
+ help:
20
+ - Användare fyller i sin identitetsinformation och laddar upp en kopia av dokumentet.
21
+ - Du fyller i informationen som finns i den uppladdade bilden.
22
+ - Informationen ska matcha vad användaren fyllt i.
23
+ - Om du inte klart kan se informationen eller du inte kan verifiera den, kan du avvisa förfrågan och användaren kommer att kunna åtgärda den.
24
+ postal_letter:
25
+ help:
26
+ - Användare begär en verifieringskod som ska skickas till deras adress.
27
+ - Du skickar brevet till deras adress med verifieringskoden.
28
+ - Du markerar brevet som skickat.
29
+ - När du markerar brevet som skickat kommer användaren att kunna införa koden och bli verifierad.
30
+ direct: Direkt
31
+ help: Hjälp
32
+ id_documents:
33
+ explanation: Ladda upp dina identitetshandlingar så att vi kan kontrollera din identitet
34
+ name: Identitetsdokument
35
+ multistep: Flerstegs
36
+ name: namn
37
+ postal_letter:
38
+ explanation: Vi skickar dig ett brev med en kod som du måste ange så vi kan verifiera din adress
39
+ name: Kod med postbrev
40
+ verifications:
41
+ authorizations:
42
+ create:
43
+ error: Det uppstod ett fel vid att skapa behörigheten.
44
+ success: Du har godkänts.
45
+ first_login:
46
+ actions:
47
+ dummy_authorization_handler: Verifiera mot exemplet behörighetshanteraren
48
+ dummy_authorization_workflow: Verifiera mot arbetsflödet för godkännande av exempel
49
+ id_documents: Få verifierad genom att ladda upp ditt identitetsdokument
50
+ postal_letter: Få verifierad genom att ta emot en verifieringskod via postanmälan
51
+ title: Verifiera din identitet
52
+ verify_with_these_options: 'Det här är de tillgängliga alternativen för att verifiera din identitet:'
53
+ new:
54
+ authorize: Skicka
55
+ authorize_with: Verifiera med %{authorizer}
56
+ skip_verification: Du kan hoppa över det här för tillfället och %{link}
57
+ start_exploring: börja utforska
58
+ dummy_authorization:
59
+ extra_explanation:
60
+ one: Deltagande är begränsat till användare med postnummer %{postal_codes}.
61
+ other: 'Deltagande är begränsat till användare med någon av följande postnummer: %{postal_codes}.'
62
+ id_documents:
63
+ admin:
64
+ confirmations:
65
+ create:
66
+ error: Verifieringen matchar inte. Försök igen eller avvisa verifieringen så att användaren kan ändra den
67
+ success: Användaren har verifierats
68
+ new:
69
+ introduce_user_data: Presentera data i bilden
70
+ reject: Avvisa
71
+ verify: Kontrollera
72
+ pending_authorizations:
73
+ index:
74
+ title: Väntar på kontroller
75
+ verification_number: 'Verifiering # %{n}'
76
+ rejections:
77
+ create:
78
+ success: Verifikationen avvisades. Användaren kommer att uppmanas att ändra sina dokument
79
+ authorizations:
80
+ create:
81
+ error: Det gick inte att ladda upp dokumentet
82
+ success: Dokumentet laddades upp framgångsrikt
83
+ edit:
84
+ being_reviewed: Vi granskar dina dokument. Du kommer att verifieras inom kort
85
+ rejection_clarity: Se till att informationen är tydlig synlig i den uppladdade bilden
86
+ rejection_correctness: Se till att informationen som angivits är korrekt
87
+ rejection_notice: Det uppstod ett problem med din verifiering. Var god försök igen
88
+ send: Begär verifiering igen
89
+ new:
90
+ send: Begär verifiering
91
+ title: Ladda upp ditt identitetsdokument
92
+ update:
93
+ error: Ett problem uppstod vid uppladdning av dokumentet
94
+ success: Dokumentet uppladdades framgångsrikt
95
+ dni: DNI
96
+ nie: NIE
97
+ passport: Pass
98
+ postal_letter:
99
+ admin:
100
+ pending_authorizations:
101
+ index:
102
+ address: Adress
103
+ letter_sent_at: Brevet skickat till
104
+ mark_as_sent: Markera som skickat
105
+ not_yet_sent: inte skickat än
106
+ title: Pågående kontroller
107
+ username: Användarnamn
108
+ verification_code: Verifierings kod
109
+ postages:
110
+ create:
111
+ error: Felmarkeringsbrev som skickat
112
+ success: Brev framgångsrikt märkt som skickat
113
+ authorizations:
114
+ create:
115
+ error: Ett problem uppstod med din förfrågan
116
+ success: Tack! Vi skickar en verifieringskod till din adress
117
+ edit:
118
+ send: Bekräfta
119
+ title: Presentera verifieringskoden du fick
120
+ waiting_for_letter: Vi skickar snart ett brev till din adress med din verifieringskod
121
+ new:
122
+ send: Skicka mig ett brev
123
+ title: Begär din verifieringskod
124
+ update:
125
+ error: Din verifieringskod stämmer inte överens med vår. Vänligen dubbelklicka på det brev vi skickade till dig
126
+ success: Grattis. Du har blivit verifierad
127
+ errors:
128
+ messages:
129
+ uppercase_only_letters_numbers: måste vara stort och endast innehålla bokstäver och / eller siffror
@@ -12,20 +12,96 @@ uk:
12
12
  decidim:
13
13
  admin:
14
14
  menu:
15
- authorization_workflows: Перевірки
15
+ authorization_workflows: Шляхи підтвердження особи
16
16
  authorization_handlers:
17
+ admin:
18
+ id_documents:
19
+ help:
20
+ - Учасники вводять свої особисті дані та завантажують фото свого документа.
21
+ - Ви вводите дані з завантаженої світлини.
22
+ - Дані повинні відповідати тим, які надав учасник.
23
+ - Якщо ви не можете чітко побачити дані, або не можете звірити їх, відхиліть запит, і тоді учасник зможе його виправити.
24
+ postal_letter:
25
+ help:
26
+ - Учасники подають запит на надсилання перевірочного коду на їх адресу.
27
+ - Ви надсилаєте листа з перевірочним кодом на їх адресу.
28
+ - Ви позначаєте лист як надісланий.
29
+ - Після позначення листа як відправленого, користувач зможе ввести код та підтвердити свою особу.
30
+ direct: Прямий
17
31
  help: Допомога
32
+ id_documents:
33
+ explanation: Завантажте свої посвідчення особи, щоб ми могли перевірити вашу особу
34
+ name: Особисті документи
18
35
  multistep: Багатокроковий
19
36
  name: Ім'я
20
37
  postal_letter:
21
38
  explanation: Ми надішлемо вам поштовий лист із кодом, який вам потрібно ввести, щоб ми могли підтвердити вашу адресу
39
+ name: Код поштою
22
40
  verifications:
41
+ authorizations:
42
+ create:
43
+ error: При створенні підтвердження особи сталася помилка.
44
+ success: Ви успішно підтвердили свою особу.
45
+ first_login:
46
+ actions:
47
+ dummy_authorization_handler: Підтвердьте, порівнявши з прикладом підтвердження своєї особи
48
+ dummy_authorization_workflow: Підтвердьте, порівнявши з прикладом підтвердження своєї особи
49
+ id_documents: Підтвердіть особу, завантаживши ваш документ
50
+ postal_letter: Підтвердьте особу, отримавши перевірочний код поштовим листом
51
+ title: Підтвердьте свою особу
52
+ verify_with_these_options: 'Наявні такі способи підтвердити вашу особу:'
53
+ new:
54
+ authorize: Надіслати
55
+ authorize_with: Підтвердити особу за допомогою %{authorizer}
56
+ skip_verification: Ви можете поки що пропустити це і %{link}
57
+ start_exploring: почати досліджувати
58
+ id_documents:
59
+ admin:
60
+ confirmations:
61
+ create:
62
+ error: Підтвердження не збігається. Спробуйте ще раз, або відхиліть підтвердження, щоб користувач міг його виправити
63
+ success: Особу учасника успішно підтверджено
64
+ new:
65
+ introduce_user_data: Введіть дані на картинці
66
+ reject: Відхилити
67
+ verify: Підтвердити
68
+ pending_authorizations:
69
+ index:
70
+ title: Підтвердження, які очікують на розгляд
71
+ verification_number: 'Підтвердження #%{n}'
72
+ rejections:
73
+ create:
74
+ success: Підтвердження особи відхилено. Учаснику буде запропоновано виправити свої документи
75
+ authorizations:
76
+ create:
77
+ error: Під час завантаження вашого документа виникла проблема
78
+ success: Документ успішно завантажено
79
+ edit:
80
+ being_reviewed: Ми розглядаємо ваші документи. Вашу особу буде незабаром перевірено
81
+ rejection_clarity: Переконайтеся, що у завантаженому зображенні чітко видно дані
82
+ rejection_correctness: Переконайтеся, що вказані дані правильні
83
+ rejection_notice: Під час підтвердження вашої особи виникла проблема. Будь ласка, спробуйте ще раз
84
+ send: Знову подати запит на підтвердження особи
85
+ new:
86
+ send: Подати запит на підтвердження особи
87
+ title: Завантажте документ, що засвідчує вашу особу
88
+ update:
89
+ error: Під час повторного завантаження вашого документа виникла проблема
90
+ success: Документ успішно повторно завантажено
91
+ dni: ІПН
92
+ nie: РНОКПП
93
+ passport: Паспорт
23
94
  postal_letter:
24
95
  admin:
25
96
  pending_authorizations:
26
97
  index:
98
+ address: Адреса
99
+ letter_sent_at: 'Лист відправлено на адресу:'
100
+ mark_as_sent: Позначити як надіслане
101
+ not_yet_sent: Ще не відправлено
102
+ title: Поточні перевірки особи
27
103
  username: Ім'я учасника
28
- verification_code: Код підтвердження
104
+ verification_code: Перевірочний код
29
105
  postages:
30
106
  create:
31
107
  error: Помилка позначення листа як відправленого
@@ -33,9 +109,17 @@ uk:
33
109
  authorizations:
34
110
  create:
35
111
  error: Виникла проблема з вашим запитом
36
- success: Дякуємо! Ми надішлемо код підтвердження на вашу адресу
112
+ success: Дякуємо! Ми надішлемо перевірочний код на вашу адресу
37
113
  edit:
38
114
  send: Підтвердити
39
- title: Введіть код підтвердження, який ви отримали
115
+ title: Введіть перевірочний код, який ви отримали
116
+ waiting_for_letter: Ми незабаром надішлемо вам листа з перевірочним кодом
40
117
  new:
41
118
  send: Надішліть мені листа
119
+ title: Подати запит на перевірочний код
120
+ update:
121
+ error: Ваш перевірочний код не відповідає нашому. Будь ласка, ще раз перегляньте лист, який ми надіслали вам
122
+ success: Вітаємо! Вашу особу успішно підтверджено
123
+ errors:
124
+ messages:
125
+ uppercase_only_letters_numbers: повинен містити лише титульні літери та цифри
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "decidim/verifications/engine"
4
+ require "decidim/verifications/default_action_authorizer"
4
5
  require "decidim/verifications/workflows"
5
6
 
6
7
  require "decidim/verifications/id_documents"
@@ -47,9 +47,9 @@ module Decidim
47
47
  #
48
48
  def root_path(redirect_url: nil)
49
49
  if manifest.type == "direct"
50
- decidim_verifications.new_authorization_path(handler: name, redirect_url: redirect_url)
50
+ decidim_verifications.new_authorization_path(redirect_params(handler: name, redirect_url: redirect_url))
51
51
  else
52
- main_engine.send(:root_path, redirect_url: redirect_url)
52
+ main_engine.send(:root_path, redirect_params(redirect_url: redirect_url))
53
53
  end
54
54
  end
55
55
 
@@ -58,22 +58,32 @@ module Decidim
58
58
  # process. Otherwise it rises
59
59
  #
60
60
  def resume_authorization_path(redirect_url: nil)
61
- if manifest.type == "direct"
62
- raise InvalidDirectVerificationRoute.new(route: "edit_authorization_path")
63
- end
61
+ raise InvalidDirectVerificationRoute.new(route: "edit_authorization_path") if manifest.type == "direct"
64
62
 
65
- main_engine.send(:edit_authorization_path, redirect_url: redirect_url)
63
+ main_engine.send(:edit_authorization_path, redirect_params(redirect_url: redirect_url))
66
64
  end
67
65
 
68
66
  #
69
67
  # Administrational entry point for the verification engine
70
68
  #
71
69
  def admin_root_path
72
- if manifest.type == "direct"
73
- raise InvalidDirectVerificationROute.new(route: "admin_route_path")
74
- end
70
+ raise InvalidDirectVerificationRoute.new(route: "admin_route_path") if manifest.type == "direct"
71
+
72
+ public_send(:"decidim_admin_#{name}").send(:root_path, redirect_params)
73
+ end
75
74
 
76
- public_send(:"decidim_admin_#{name}").send(:root_path)
75
+ #
76
+ # Authorize user to perform an action using the authorization handler action authorizer.
77
+ # Saves the action_authorizer object with its context for subsequent methods calls.
78
+ #
79
+ # authorization - The existing authorization record to be evaluated. Can be nil.
80
+ # options - A hash with options related only to the current authorization process.
81
+ #
82
+ # Returns the result of authorization handler check. Check Decidim::Verifications::DefaultActionAuthorizer class docs.
83
+ #
84
+ def authorize(authorization, options)
85
+ @action_authorizer = @manifest.action_authorizer_class.new(authorization, options)
86
+ @action_authorizer.authorize
77
87
  end
78
88
 
79
89
  private
@@ -83,6 +93,11 @@ module Decidim
83
93
  def main_engine
84
94
  send("decidim_#{manifest.name}")
85
95
  end
96
+
97
+ def redirect_params(params = {})
98
+ # Could add redirect params if a ActionAuthorizer object was previously set.
99
+ params.merge(@action_authorizer&.redirect_params || {})
100
+ end
86
101
  end
87
102
  end
88
103
  end