decidim-verifications 0.18.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/commands/decidim/verifications/confirm_user_authorization.rb +2 -0
- data/app/controllers/decidim/verifications/authorizations_controller.rb +3 -3
- data/app/controllers/decidim/verifications/csv_census/admin/census_controller.rb +4 -18
- data/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb +3 -0
- data/app/controllers/decidim/verifications/postal_letter/admin/postages_controller.rb +1 -1
- data/app/controllers/decidim/verifications/sms/authorizations_controller.rb +3 -3
- data/app/forms/decidim/verifications/sms/mobile_phone_form.rb +2 -0
- data/app/models/decidim/verifications/csv_census/data.rb +3 -3
- data/app/models/decidim/verifications/csv_datum.rb +2 -0
- data/app/views/decidim/verifications/authorizations/new.html.erb +1 -3
- data/app/views/decidim/verifications/csv_census/admin/census/index.html.erb +6 -0
- data/app/views/decidim/verifications/sms/authorizations/edit.html.erb +1 -1
- data/app/views/decidim/verifications/sms/authorizations/new.html.erb +1 -1
- data/config/locales/ar.yml +0 -1
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -1
- data/config/locales/de.yml +0 -1
- data/config/locales/en.yml +1 -1
- data/config/locales/es-MX.yml +1 -1
- data/config/locales/es-PY.yml +1 -1
- data/config/locales/es.yml +1 -1
- data/config/locales/eu.yml +0 -1
- data/config/locales/fi-plain.yml +1 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/gl.yml +0 -1
- data/config/locales/hu.yml +5 -5
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/it.yml +1 -2
- data/config/locales/nl.yml +2 -2
- data/config/locales/no.yml +4 -0
- data/config/locales/pl.yml +0 -1
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +0 -1
- data/config/locales/sv.yml +93 -94
- data/config/locales/tr-TR.yml +0 -1
- data/lib/decidim/verifications/version.rb +1 -1
- metadata +10 -11
- data/app/permissions/decidim/verifications/csv_census/admin/permissions.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2031448fe03c504353397420e98549ea5f90c353591ac4b7846f3f119e3413df
|
4
|
+
data.tar.gz: 5d27d011a65c64c4cc2c8b5c2a6e5b75bbaaccca6a4af0f9998e76d7d23661a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce6e22177bebe2537209cb415a70127fb53aff4a85822d271f5296c4893ff8fa7ae33da902b5b1abcf0a7c3de2ec48c2cb7d5532dca346ae88086b84c6e5fda0
|
7
|
+
data.tar.gz: 8dd934602ce6e073edc198e964207dec7ea3d6d052dea2a78f145ff6a13c0d5c25779e3b4b3abaa8e9c3adc440da99d57c05d4597a5465adf6688c8e288ec418
|
@@ -36,7 +36,7 @@ module Decidim
|
|
36
36
|
AuthorizeUser.call(handler) do
|
37
37
|
on(:ok) do
|
38
38
|
flash[:notice] = t("authorizations.create.success", scope: "decidim.verifications")
|
39
|
-
redirect_to
|
39
|
+
redirect_to redirect_url || authorizations_path
|
40
40
|
end
|
41
41
|
|
42
42
|
on(:invalid) do
|
@@ -88,9 +88,9 @@ module Decidim
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def store_current_location
|
91
|
-
return if
|
91
|
+
return if redirect_url.blank? || !request.format.html?
|
92
92
|
|
93
|
-
store_location_for(:user,
|
93
|
+
store_location_for(:user, redirect_url)
|
94
94
|
end
|
95
95
|
end
|
96
96
|
end
|
@@ -5,26 +5,19 @@ module Decidim
|
|
5
5
|
module CsvCensus
|
6
6
|
module Admin
|
7
7
|
class CensusController < Decidim::Admin::ApplicationController
|
8
|
-
include NeedsPermission
|
9
|
-
|
10
8
|
layout "decidim/admin/users"
|
11
9
|
|
12
10
|
before_action :show_instructions,
|
13
11
|
unless: :csv_census_active?
|
14
12
|
|
15
|
-
register_permissions(::Decidim::Verifications::CsvCensus::Admin::CensusController,
|
16
|
-
::Decidim::Verifications::CsvCensus::Admin::Permissions,
|
17
|
-
::Decidim::Admin::Permissions,
|
18
|
-
::Decidim::Permissions)
|
19
|
-
|
20
13
|
def index
|
21
|
-
enforce_permission_to :index,
|
14
|
+
enforce_permission_to :index, :authorization
|
22
15
|
@form = form(CensusDataForm).instance
|
23
16
|
@status = Status.new(current_organization)
|
24
17
|
end
|
25
18
|
|
26
19
|
def create
|
27
|
-
enforce_permission_to :create,
|
20
|
+
enforce_permission_to :create, :authorization
|
28
21
|
@form = form(CensusDataForm).from_params(params)
|
29
22
|
CreateCensusData.call(@form, current_organization) do
|
30
23
|
on(:ok) do
|
@@ -39,7 +32,7 @@ module Decidim
|
|
39
32
|
end
|
40
33
|
|
41
34
|
def destroy_all
|
42
|
-
enforce_permission_to :destroy,
|
35
|
+
enforce_permission_to :destroy, :authorization
|
43
36
|
CsvDatum.clear(current_organization)
|
44
37
|
|
45
38
|
redirect_to census_path, notice: t(".success")
|
@@ -48,20 +41,13 @@ module Decidim
|
|
48
41
|
private
|
49
42
|
|
50
43
|
def show_instructions
|
44
|
+
enforce_permission_to :index, :authorization
|
51
45
|
render :instructions
|
52
46
|
end
|
53
47
|
|
54
48
|
def csv_census_active?
|
55
49
|
current_organization.available_authorizations.include?("csv_census")
|
56
50
|
end
|
57
|
-
|
58
|
-
def permission_class_chain
|
59
|
-
::Decidim.permissions_registry.chain_for(::Decidim::Verifications::CsvCensus::Admin::CensusController)
|
60
|
-
end
|
61
|
-
|
62
|
-
def permission_scope
|
63
|
-
:admin
|
64
|
-
end
|
65
51
|
end
|
66
52
|
end
|
67
53
|
end
|
@@ -13,11 +13,13 @@ module Decidim
|
|
13
13
|
|
14
14
|
def choose
|
15
15
|
return redirect_to action: :new, using: verification_type if available_methods.count == 1
|
16
|
+
|
16
17
|
render :choose
|
17
18
|
end
|
18
19
|
|
19
20
|
def new
|
20
21
|
raise ActionController::RoutingError, "Method not available" unless available_methods.include?(verification_type)
|
22
|
+
|
21
23
|
enforce_permission_to :create, :authorization, authorization: @authorization
|
22
24
|
|
23
25
|
@form = UploadForm.from_params(id_document_upload: { verification_type: verification_type })
|
@@ -92,6 +94,7 @@ module Decidim
|
|
92
94
|
|
93
95
|
def authorization_verification_type
|
94
96
|
return unless @authorization
|
97
|
+
|
95
98
|
@authorization.verification_metadata["verification_type"]
|
96
99
|
end
|
97
100
|
|
@@ -24,7 +24,7 @@ module Decidim
|
|
24
24
|
end
|
25
25
|
|
26
26
|
on(:invalid) do
|
27
|
-
render json: { error: I18n.t("postages.create.error", scope: "decidim.verifications.postal_letter.admin") }, status:
|
27
|
+
render json: { error: I18n.t("postages.create.error", scope: "decidim.verifications.postal_letter.admin") }, status: :unprocessable_entity
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -21,7 +21,7 @@ module Decidim
|
|
21
21
|
on(:ok) do
|
22
22
|
flash[:notice] = t("authorizations.create.success", scope: "decidim.verifications.sms")
|
23
23
|
authorization_method = Decidim::Verifications::Adapter.from_element(authorization.name)
|
24
|
-
redirect_to authorization_method.resume_authorization_path(redirect_url:
|
24
|
+
redirect_to authorization_method.resume_authorization_path(redirect_url: redirect_url)
|
25
25
|
end
|
26
26
|
on(:invalid) do
|
27
27
|
flash.now[:alert] = t("authorizations.create.error", scope: "decidim.verifications.sms")
|
@@ -45,8 +45,8 @@ module Decidim
|
|
45
45
|
on(:ok) do
|
46
46
|
flash[:notice] = t("authorizations.update.success", scope: "decidim.verifications.sms")
|
47
47
|
|
48
|
-
if
|
49
|
-
redirect_to
|
48
|
+
if redirect_url
|
49
|
+
redirect_to redirect_url
|
50
50
|
else
|
51
51
|
redirect_to decidim_verifications.authorizations_path
|
52
52
|
end
|
@@ -25,6 +25,7 @@ module Decidim
|
|
25
25
|
# When there's a phone number, sanitize it allowing only numbers and +.
|
26
26
|
def mobile_phone_number
|
27
27
|
return unless super
|
28
|
+
|
28
29
|
super.gsub(/[^\+0-9]/, "")
|
29
30
|
end
|
30
31
|
|
@@ -43,6 +44,7 @@ module Decidim
|
|
43
44
|
return @verification_code if defined?(@verification_code)
|
44
45
|
|
45
46
|
return unless sms_gateway.new(mobile_phone_number, generated_code).deliver_code
|
47
|
+
|
46
48
|
@verification_code = generated_code
|
47
49
|
end
|
48
50
|
|
@@ -20,7 +20,7 @@ module Decidim
|
|
20
20
|
@values = []
|
21
21
|
@errors = []
|
22
22
|
|
23
|
-
CSV.foreach(@file
|
23
|
+
CSV.foreach(@file) do |row|
|
24
24
|
process_row(row)
|
25
25
|
end
|
26
26
|
end
|
@@ -28,8 +28,8 @@ module Decidim
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def process_row(row)
|
31
|
-
user_mail = row
|
32
|
-
if user_mail.present?
|
31
|
+
user_mail = row.first
|
32
|
+
if user_mail.present? && user_mail.match?(Devise.email_regexp)
|
33
33
|
values << user_mail
|
34
34
|
else
|
35
35
|
errors << row
|
@@ -10,9 +10,7 @@
|
|
10
10
|
<div class="columns large-6 medium-centered">
|
11
11
|
<div class="card">
|
12
12
|
<div class="card__content">
|
13
|
-
<%= authorization_form_for(handler, url: authorizations_path(redirect_url:
|
14
|
-
<%= form.error_for(:base) %>
|
15
|
-
|
13
|
+
<%= authorization_form_for(handler, url: authorizations_path(redirect_url: redirect_url)) do |form| %>
|
16
14
|
<% if lookup_context.exists?(handler.to_partial_path, [], true) %>
|
17
15
|
<%= render partial: handler.to_partial_path, locals: { handler: handler, form: form } %>
|
18
16
|
<% else %>
|
@@ -28,6 +28,12 @@
|
|
28
28
|
</div>
|
29
29
|
<div class="card-section">
|
30
30
|
<p><%= t("decidim.verifications.csv_census.admin.new.info") %></p>
|
31
|
+
<pre class="code-block">
|
32
|
+
user@example.org
|
33
|
+
user2@example.org
|
34
|
+
...
|
35
|
+
...
|
36
|
+
</pre>
|
31
37
|
<%= form_tag census_path, multipart: true, class: "form" do %>
|
32
38
|
<%= label_tag :name, t("admin.new.file", scope: "decidim.verifications.csv_census") %>
|
33
39
|
<%= file_field_tag :file %>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<div class="columns large-6 medium-centered">
|
11
11
|
<div class="card">
|
12
12
|
<div class="card__content">
|
13
|
-
<%= decidim_form_for(@form, url: authorization_path(redirect_url:
|
13
|
+
<%= decidim_form_for(@form, url: authorization_path(redirect_url: redirect_url), method: :put) do |form| %>
|
14
14
|
<div class="field">
|
15
15
|
<%= form.text_field :verification_code %>
|
16
16
|
</div>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<div class="columns large-6 medium-centered">
|
11
11
|
<div class="card">
|
12
12
|
<div class="card__content">
|
13
|
-
<%= decidim_form_for(@form, url: authorization_path(redirect_url:
|
13
|
+
<%= decidim_form_for(@form, url: authorization_path(redirect_url: redirect_url)) do |form| %>
|
14
14
|
<div class="field">
|
15
15
|
<%= form.text_field :mobile_phone_number %>
|
16
16
|
</div>
|
data/config/locales/ar.yml
CHANGED
@@ -104,7 +104,6 @@ ar:
|
|
104
104
|
title: تحتاج إلى تنشيط التعداد CSV لهذه المنظمة
|
105
105
|
new:
|
106
106
|
file: ".csv ملف مع بيانات رسائل البريد الإلكتروني"
|
107
|
-
info: 'يجب أن يكون ملفًا بتنسيق CSV مع عمود واحد: البريد الإلكتروني'
|
108
107
|
submit: رفع ملف
|
109
108
|
title: تحميل إحصاء جديد
|
110
109
|
authorizations:
|
data/config/locales/ca.yml
CHANGED
@@ -104,7 +104,7 @@ ca:
|
|
104
104
|
title: Necessites activar el cens csv d'aquesta organització
|
105
105
|
new:
|
106
106
|
file: "fitxer .csv amb dades de correus electrònics"
|
107
|
-
info: 'Ha de ser un
|
107
|
+
info: 'Ha de ser un document en format CSV amb una única columna indicant les adreces electròniques:'
|
108
108
|
submit: Puja un document
|
109
109
|
title: Puja un nou cens
|
110
110
|
authorizations:
|
data/config/locales/cs.yml
CHANGED
@@ -104,7 +104,7 @@ cs:
|
|
104
104
|
title: Pro tuto organizaci musíte aktivovat csv sčítání
|
105
105
|
new:
|
106
106
|
file: ".csv soubor s daty e-mailů"
|
107
|
-
info: '
|
107
|
+
info: 'Must být souborem ve formátu CSV s pouze jedním sloupcem s e-mailovou adresou:'
|
108
108
|
submit: Nahrát soubor
|
109
109
|
title: Nahrajte nové sčítání
|
110
110
|
authorizations:
|
data/config/locales/de.yml
CHANGED
@@ -104,7 +104,6 @@ de:
|
|
104
104
|
title: Sie müssen die csv-Zählung für diese Organisation aktivieren
|
105
105
|
new:
|
106
106
|
file: "CSV-Datei mit E-Mail-Daten"
|
107
|
-
info: 'Muss eine Datei im CSV-Format mit einer Spalte sein: E-Mail'
|
108
107
|
submit: Datei hochladen
|
109
108
|
title: Laden Sie eine neue Volkszählung hoch
|
110
109
|
authorizations:
|
data/config/locales/en.yml
CHANGED
@@ -105,7 +105,7 @@ en:
|
|
105
105
|
title: You need to activate the csv census for this organization
|
106
106
|
new:
|
107
107
|
file: ".csv file with emails data"
|
108
|
-
info: 'Must be a file
|
108
|
+
info: 'Must be a file in CSV format with only one column with the email address:'
|
109
109
|
submit: Upload file
|
110
110
|
title: Upload a new census
|
111
111
|
authorizations:
|
data/config/locales/es-MX.yml
CHANGED
@@ -104,7 +104,7 @@ es-MX:
|
|
104
104
|
title: Necesitas activar el censo csv para esta organización.
|
105
105
|
new:
|
106
106
|
file: "archivo .csv con datos de correos electrónicos"
|
107
|
-
info: 'Debe ser un archivo
|
107
|
+
info: 'Debe ser un archivo en formato CSV con sólo una columna con la dirección de correo electrónico:'
|
108
108
|
submit: Subir archivo
|
109
109
|
title: Subir un nuevo censo
|
110
110
|
authorizations:
|
data/config/locales/es-PY.yml
CHANGED
@@ -104,7 +104,7 @@ es-PY:
|
|
104
104
|
title: Necesitas activar el censo csv para esta organización.
|
105
105
|
new:
|
106
106
|
file: "archivo .csv con datos de correos electrónicos"
|
107
|
-
info: 'Debe ser un archivo
|
107
|
+
info: 'Debe ser un archivo en formato CSV con sólo una columna con la dirección de correo electrónico:'
|
108
108
|
submit: Subir archivo
|
109
109
|
title: Subir un nuevo censo
|
110
110
|
authorizations:
|
data/config/locales/es.yml
CHANGED
@@ -104,7 +104,7 @@ es:
|
|
104
104
|
title: Necesitas activar el censo csv para esta organización.
|
105
105
|
new:
|
106
106
|
file: "archivo .csv con datos de correos electrónicos"
|
107
|
-
info: 'Debe ser un archivo
|
107
|
+
info: 'Debe ser un archivo en formato CSV con sólo una columna con la dirección de correo electrónico:'
|
108
108
|
submit: Subir archivo
|
109
109
|
title: Subir un nuevo censo
|
110
110
|
authorizations:
|
data/config/locales/eu.yml
CHANGED
@@ -104,7 +104,6 @@ eu:
|
|
104
104
|
title: Erakunde honetarako Csv errolda aktibatu behar duzu
|
105
105
|
new:
|
106
106
|
file: ".csv fitxategia helbide elektronikoen datuekin"
|
107
|
-
info: 'Fitxategi bat CSV formatuarekin izan behar da zutabe batekin: posta elektronikoa'
|
108
107
|
submit: Kargatu fitxategia
|
109
108
|
title: Kargatu zentsu berri bat
|
110
109
|
authorizations:
|
data/config/locales/fi-plain.yml
CHANGED
@@ -104,7 +104,7 @@ fi-pl:
|
|
104
104
|
title: Sinun on aktivoitava CSV-rekisteritiedot tälle organisaatiolle
|
105
105
|
new:
|
106
106
|
file: "sähköpostiosoitteet sisältävä .csv-tiedosto"
|
107
|
-
info: 'On oltava CSV-
|
107
|
+
info: 'On oltava CSV-tiedosto, jossa on vain yksi sarake sähköpostiosoitteille:'
|
108
108
|
submit: Lataa tiedosto
|
109
109
|
title: Lataa uusi rekisteri
|
110
110
|
authorizations:
|
data/config/locales/fi.yml
CHANGED
@@ -104,7 +104,7 @@ fi:
|
|
104
104
|
title: Sinun on aktivoitava CSV-rekisteritiedot tälle organisaatiolle
|
105
105
|
new:
|
106
106
|
file: "sähköpostiosoitteet sisältävä .csv-tiedosto"
|
107
|
-
info: 'On oltava CSV-
|
107
|
+
info: 'On oltava CSV-tiedosto, jossa on vain yksi sarake sähköpostiosoitteille:'
|
108
108
|
submit: Lataa tiedosto
|
109
109
|
title: Lataa uusi rekisteri
|
110
110
|
authorizations:
|
data/config/locales/fr.yml
CHANGED
@@ -104,7 +104,7 @@ fr:
|
|
104
104
|
title: Vous devez activer le recensement CSV pour cette organisation
|
105
105
|
new:
|
106
106
|
file: "Fichier .csv avec données de courrier électronique"
|
107
|
-
info: 'Doit être un fichier au format CSV avec une colonne
|
107
|
+
info: 'Doit être un fichier au format CSV avec une seule colonne avec l''adresse e-mail :'
|
108
108
|
submit: Téléverser un fichier
|
109
109
|
title: Télécharger un nouveau recensement
|
110
110
|
authorizations:
|
data/config/locales/gl.yml
CHANGED
@@ -104,7 +104,6 @@ gl:
|
|
104
104
|
title: Debe activar o censo de csv para esta organización
|
105
105
|
new:
|
106
106
|
file: "Ficheiro .csv con datos de correo electrónico"
|
107
|
-
info: 'Debe ser un ficheiro con formato CSV cunha columna: correo electrónico'
|
108
107
|
submit: Cargar ficheiro
|
109
108
|
title: Suba un novo censo
|
110
109
|
authorizations:
|
data/config/locales/hu.yml
CHANGED
@@ -31,13 +31,13 @@ hu:
|
|
31
31
|
organization:
|
32
32
|
update_id_documents_config: "%{user_name} frissítette az azonosító dokumentumok ellenőrzési konfigurációját"
|
33
33
|
user:
|
34
|
-
grant_id_documents_offline_verification: "%{user_name}
|
34
|
+
grant_id_documents_offline_verification: "%{user_name} hitelesítve %{resource_name} egy offline azonosító dokumentum ellenőrzésével"
|
35
35
|
authorization_handlers:
|
36
36
|
admin:
|
37
37
|
csv_census:
|
38
38
|
help:
|
39
|
-
- Az adminisztrátorok CSV-t töltenek
|
40
|
-
- Csak azok a résztvevők kaphatnak igazolást,
|
39
|
+
- Az adminisztrátorok CSV-t töltenek fel az elfogadott résztvevők emailcímeivel
|
40
|
+
- Csak azok a résztvevők kaphatnak igazolást, akiknek az emailje megtalálható a CSV-fájlban
|
41
41
|
id_documents:
|
42
42
|
help:
|
43
43
|
- A felhasználók kitölthetik az adatlapjukat és feltölthetik dokumentumaikat.
|
@@ -46,7 +46,7 @@ hu:
|
|
46
46
|
- Ha nem láthatók tisztán az információk vagy nem tudod ellenőrizni, akkor elutasíthatod és visszaküldheted javításra a kérelmet.
|
47
47
|
postal_letter:
|
48
48
|
help:
|
49
|
-
-
|
49
|
+
- Felhasználók a lakcímükre kérik az ellenőrző kódot.
|
50
50
|
- A kódot tartalmazó levelet a lakcímükre küldöd el.
|
51
51
|
- Levél elküldöttként megjelölve.
|
52
52
|
- Miután a levelet megjelölted elküldöttként, a felhasználó a kód segítségével ellenőrizhető lesz.
|
@@ -104,7 +104,7 @@ hu:
|
|
104
104
|
title: Ennek a szervezetnek aktiválnia kell a csv népszámlálást
|
105
105
|
new:
|
106
106
|
file: ".csv fájl e-mail adatokkal"
|
107
|
-
info: 'CSV formátumú
|
107
|
+
info: 'CSV formátumú fájl lehet csak egy oszloppal, amely az email címeket tartalmazza:'
|
108
108
|
submit: Fájl feltöltés
|
109
109
|
title: Töltsön fel egy új népszámlálást
|
110
110
|
authorizations:
|
data/config/locales/id-ID.yml
CHANGED
@@ -104,7 +104,6 @@ id:
|
|
104
104
|
title: Anda perlu mengaktifkan sensus csv untuk organisasi ini
|
105
105
|
new:
|
106
106
|
file: "File .csv dengan data email"
|
107
|
-
info: 'Harus berupa file dengan format CSV dengan satu kolom: email'
|
108
107
|
submit: Unggah data
|
109
108
|
title: Unggah sensus baru
|
110
109
|
authorizations:
|
data/config/locales/it.yml
CHANGED
@@ -104,7 +104,6 @@ it:
|
|
104
104
|
title: È necessario attivare il censimento CSV per questa organizzazione
|
105
105
|
new:
|
106
106
|
file: "file .csv con dati di posta elettronica"
|
107
|
-
info: 'Deve essere un file con formato CSV con una colonna: email'
|
108
107
|
submit: Caricare un file
|
109
108
|
title: Carica un nuovo censimento
|
110
109
|
authorizations:
|
@@ -184,7 +183,7 @@ it:
|
|
184
183
|
mark_as_sent: Marca come inviato
|
185
184
|
not_yet_sent: Non ancora inviato
|
186
185
|
title: Verifiche in corso
|
187
|
-
username:
|
186
|
+
username: Nickname
|
188
187
|
verification_code: Codice di verifica
|
189
188
|
postages:
|
190
189
|
create:
|
data/config/locales/nl.yml
CHANGED
@@ -54,7 +54,7 @@ nl:
|
|
54
54
|
explanation: Wordt geverifieerd aan de hand van de volkstelling van de organisatie
|
55
55
|
name: De volkstelling van de organisatie
|
56
56
|
direct: direct
|
57
|
-
help:
|
57
|
+
help: Help
|
58
58
|
id_documents:
|
59
59
|
explanation: Upload uw identiteitsdocumenten zodat we uw identiteit kunnen controleren
|
60
60
|
name: Identiteitsdocumenten
|
@@ -104,7 +104,7 @@ nl:
|
|
104
104
|
title: U moet de csv-telling voor deze organisatie activeren
|
105
105
|
new:
|
106
106
|
file: ".csv-bestand met e-mailgegevens"
|
107
|
-
info: 'Moet een bestand zijn
|
107
|
+
info: 'Moet een bestand zijn in CSV formaat met slechts één kolom met het e-mailadres:'
|
108
108
|
submit: Upload bestand
|
109
109
|
title: Upload een nieuwe telling
|
110
110
|
authorizations:
|
data/config/locales/pl.yml
CHANGED
@@ -104,7 +104,6 @@ pl:
|
|
104
104
|
title: Musisz aktywować spis csv dla tej organizacji
|
105
105
|
new:
|
106
106
|
file: "Plik .csv z danymi e-maili"
|
107
|
-
info: 'Musi to być plik w formacie CSV z jedną kolumną: e-mail'
|
108
107
|
submit: Przesyłanie pliku
|
109
108
|
title: Prześlij nowy spis ludności
|
110
109
|
authorizations:
|
data/config/locales/pt-BR.yml
CHANGED
@@ -104,7 +104,6 @@ pt-BR:
|
|
104
104
|
title: Você precisa ativar o censo csv para esta organização
|
105
105
|
new:
|
106
106
|
file: "arquivo .csv com dados de e-mails"
|
107
|
-
info: 'Deve ser um arquivo com formato CSV com uma coluna: email'
|
108
107
|
submit: Subir arquivo
|
109
108
|
title: Carregar um novo censo
|
110
109
|
authorizations:
|
data/config/locales/pt.yml
CHANGED
@@ -104,7 +104,6 @@ pt:
|
|
104
104
|
title: Você precisa ativar o censo csv para esta organização
|
105
105
|
new:
|
106
106
|
file: "arquivo .csv com dados de e-mails"
|
107
|
-
info: 'Deve ser um arquivo com formato CSV com uma coluna: email'
|
108
107
|
submit: Subir arquivo
|
109
108
|
title: Carregar um novo censo
|
110
109
|
authorizations:
|
data/config/locales/sv.yml
CHANGED
@@ -3,19 +3,19 @@ sv:
|
|
3
3
|
attributes:
|
4
4
|
config:
|
5
5
|
available_methods: Tillgängliga metoder
|
6
|
-
offline:
|
7
|
-
offline_explanation:
|
6
|
+
offline: Offline
|
7
|
+
offline_explanation: Anvisningar för verifiering offline
|
8
8
|
online: Uppkopplad
|
9
9
|
id_document_information:
|
10
|
-
document_number:
|
11
|
-
document_type: Typ av
|
10
|
+
document_number: ID-nummer (med bokstav)
|
11
|
+
document_type: Typ av ID-handling
|
12
12
|
id_document_upload:
|
13
|
-
document_number:
|
14
|
-
document_type: Typ av
|
15
|
-
user:
|
16
|
-
verification_attachment:
|
13
|
+
document_number: ID-nummer (med bokstav)
|
14
|
+
document_type: Typ av ID-handling
|
15
|
+
user: Deltagare
|
16
|
+
verification_attachment: Inläst kopia av ID-handlingen
|
17
17
|
offline_confirmation:
|
18
|
-
email:
|
18
|
+
email: Deltagarens e-post
|
19
19
|
postal_letter_address:
|
20
20
|
full_address: Fullständig adress
|
21
21
|
postal_letter_confirmation:
|
@@ -29,149 +29,148 @@ sv:
|
|
29
29
|
authorization_workflows: Verifieringar
|
30
30
|
admin_log:
|
31
31
|
organization:
|
32
|
-
update_id_documents_config: "%{user_name} uppdaterade konfiguration av identitetshandlingar"
|
32
|
+
update_id_documents_config: "%{user_name} uppdaterade konfiguration för verifikation av identitetshandlingar"
|
33
33
|
user:
|
34
|
-
grant_id_documents_offline_verification: "%{user_name}
|
34
|
+
grant_id_documents_offline_verification: "%{user_name} verifierade %{resource_name} hjälp av offlineverifiering av identitetshandlingar"
|
35
35
|
authorization_handlers:
|
36
36
|
admin:
|
37
37
|
csv_census:
|
38
38
|
help:
|
39
|
-
-
|
40
|
-
- Endast deltagare med
|
39
|
+
- Administratörer kan skicka in CSV-fil med e-postadresserna till de godkända deltagarna
|
40
|
+
- Endast deltagare med en e-postadress i CSV-filen kan verifieras
|
41
41
|
id_documents:
|
42
42
|
help:
|
43
|
-
- Användare fyller i sin identitetsinformation och
|
44
|
-
- Du fyller i informationen som
|
45
|
-
- Informationen ska
|
46
|
-
- Om
|
43
|
+
- Användare fyller i sin identitetsinformation och skickar in en kopia av sin ID-handling.
|
44
|
+
- Du fyller i informationen som visas i den inskickade bilden.
|
45
|
+
- Informationen ska stämma överens med vad användaren fyllde i.
|
46
|
+
- Om informationen inte visas tydligt, eller om du inte kan verifiera den, kan du avvisa förfrågan och användaren kommer att kunna åtgärda den.
|
47
47
|
postal_letter:
|
48
48
|
help:
|
49
|
-
-
|
50
|
-
-
|
49
|
+
- Deltagare begär en verifieringskod som ska skickas till deras adress.
|
50
|
+
- Skicka brevet med verifieringskoden till deras adress.
|
51
51
|
- Du markerar brevet som skickat.
|
52
|
-
- När du
|
52
|
+
- När du markerat brevet som skickat kommer användaren att kunna föra in koden och bli verifierad.
|
53
53
|
csv_census:
|
54
|
-
explanation:
|
55
|
-
name: Organisationens
|
54
|
+
explanation: Bli verifierad med hjälp av organisationens medlemslista
|
55
|
+
name: Organisationens medlemslista
|
56
56
|
direct: Direkt
|
57
57
|
help: Hjälp
|
58
58
|
id_documents:
|
59
|
-
explanation:
|
59
|
+
explanation: Skicka in dina identitetshandlingar så att vi kan kontrollera din identitet
|
60
60
|
name: Identitetsdokument
|
61
|
-
multistep:
|
61
|
+
multistep: Flera steg
|
62
62
|
name: Namn
|
63
63
|
postal_letter:
|
64
|
-
explanation: Vi skickar dig ett brev med en kod som du måste ange så vi kan verifiera din adress
|
65
|
-
name: Kod
|
64
|
+
explanation: Vi skickar dig ett brev med en kod som du måste ange så att vi kan verifiera din adress
|
65
|
+
name: Kod via fysiskt brev
|
66
66
|
verifications:
|
67
67
|
authorizations:
|
68
68
|
create:
|
69
|
-
error:
|
70
|
-
success: Du har
|
71
|
-
unconfirmed: Du måste bekräfta din e-post för att auktorisera dig själv.
|
69
|
+
error: Det gick inte att skapa auktoriseringen.
|
70
|
+
success: Du har auktoriserats.
|
71
|
+
unconfirmed: Du måste bekräfta din e-post för att kunna auktorisera dig själv.
|
72
72
|
first_login:
|
73
73
|
actions:
|
74
|
-
another_dummy_authorization_handler: Verifiera
|
75
|
-
csv_census: Verifiera mot organisationens
|
76
|
-
dummy_authorization_handler: Verifiera
|
77
|
-
dummy_authorization_workflow: Verifiera
|
78
|
-
id_documents:
|
79
|
-
postal_letter:
|
74
|
+
another_dummy_authorization_handler: Verifiera med hjälp av ett annat auktoriseringsverktyg
|
75
|
+
csv_census: Verifiera mot organisationens medlemslista
|
76
|
+
dummy_authorization_handler: Verifiera via exempelbehörighetshanteraren
|
77
|
+
dummy_authorization_workflow: Verifiera med exemplet på arbetsflöde för auktorisering
|
78
|
+
id_documents: Verifiera dig genom att skicka in din identitetshandling
|
79
|
+
postal_letter: Verifiera dig genom att ta emot en verifieringskod via fysiskt brev
|
80
80
|
title: Verifiera din identitet
|
81
81
|
verify_with_these_options: 'Det här är de tillgängliga alternativen för att verifiera din identitet:'
|
82
82
|
new:
|
83
83
|
authorize: Skicka
|
84
84
|
authorize_with: Verifiera med %{authorizer}
|
85
|
-
skip_verification: Du kan hoppa över
|
85
|
+
skip_verification: Du kan hoppa över detta just nu och %{link}
|
86
86
|
start_exploring: börja utforska
|
87
87
|
csv_census:
|
88
88
|
admin:
|
89
89
|
census:
|
90
90
|
create:
|
91
|
-
error: Det gick inte att importera
|
91
|
+
error: Det gick inte att importera folkbokföringen.
|
92
92
|
success: Har importerat %{count} objekt (%{errors} fel)
|
93
93
|
destroy_all:
|
94
|
-
success: Alla
|
94
|
+
success: Alla medlemsuppgifeter har raderats
|
95
95
|
destroy:
|
96
|
-
confirm:
|
97
|
-
title: Radera alla
|
96
|
+
confirm: Raderingen av samtliga medlemsuppgifter kan inte ångras. Vill du fortsätta?
|
97
|
+
title: Radera alla medlemsuppgifter
|
98
98
|
index:
|
99
|
-
data: Det finns totalt %{count} poster
|
100
|
-
empty: Det finns inga
|
101
|
-
title:
|
99
|
+
data: Det finns totalt %{count} inlästa poster. Datum för senaste uppdatering var %{due_date}
|
100
|
+
empty: Det finns inga medlemsuppgifter. Importera dem som en CSV-fil med formuläret nedan.
|
101
|
+
title: Aktuella medlemsuppgifter
|
102
102
|
instructions:
|
103
|
-
body: För att göra detta måste du
|
104
|
-
title: Du måste aktivera
|
103
|
+
body: För att göra detta måste du öppna systemadministrationen och lägga till godkännande via csv_census till organisationen
|
104
|
+
title: Du måste aktivera medlemsuppgifter via CSV för organisationen
|
105
105
|
new:
|
106
|
-
file: ".csv-fil med e-
|
107
|
-
|
108
|
-
|
109
|
-
title: Ladda upp en ny folkräkning
|
106
|
+
file: ".csv-fil med e-postadresser"
|
107
|
+
submit: Skicka in fil
|
108
|
+
title: Skicka in nya medlemsuppgifter
|
110
109
|
authorizations:
|
111
110
|
new:
|
112
|
-
error: Vi kunde inte verifiera ditt konto eller du
|
111
|
+
error: Vi kunde inte verifiera ditt konto, eller så finns du inte i organisationens medlemsuppgifter.
|
113
112
|
success: Ditt konto har verifierats.
|
114
113
|
dummy_authorization:
|
115
114
|
extra_explanation:
|
116
|
-
one: Deltagande är begränsat till
|
117
|
-
other: 'Deltagande är begränsat till
|
115
|
+
one: Deltagande är begränsat till deltagare med postnummer %{postal_codes}.
|
116
|
+
other: 'Deltagande är begränsat till deltagare med något av följande postnummer: %{postal_codes}.'
|
118
117
|
id_documents:
|
119
118
|
admin:
|
120
119
|
config:
|
121
120
|
edit:
|
122
|
-
title:
|
123
|
-
update:
|
121
|
+
title: Identitetshandlingens konfiguration
|
122
|
+
update: Uppdatera
|
124
123
|
update:
|
125
|
-
error: Det
|
124
|
+
error: Det gick inte att uppdatera konfigurationen.
|
126
125
|
success: Konfigurationen har uppdaterats
|
127
126
|
confirmations:
|
128
127
|
create:
|
129
|
-
error: Verifieringen
|
128
|
+
error: Verifieringen stämmer inte. Försök igen eller avvisa verifieringen så att användaren kan rätta den
|
130
129
|
success: Användaren har verifierats
|
131
130
|
new:
|
132
|
-
introduce_user_data:
|
131
|
+
introduce_user_data: För in uppgifterna från bilden
|
133
132
|
reject: Avvisa
|
134
133
|
verify: Verifiera
|
135
134
|
offline_confirmations:
|
136
135
|
create:
|
137
|
-
error: Verifieringen
|
138
|
-
success:
|
136
|
+
error: Verifieringen stämmer inte. Försök igen eller be deltagaren att rätta den
|
137
|
+
success: Deltagaren har verifierats
|
139
138
|
new:
|
140
|
-
cancel:
|
141
|
-
introduce_user_data:
|
142
|
-
verify:
|
139
|
+
cancel: Avbryt
|
140
|
+
introduce_user_data: Mata in deltagarens e-postadress samt identitetsuppgifter
|
141
|
+
verify: Verifiera
|
143
142
|
pending_authorizations:
|
144
143
|
index:
|
145
|
-
config:
|
146
|
-
offline_verification: Offline
|
147
|
-
title:
|
144
|
+
config: Konfiguration
|
145
|
+
offline_verification: Offline-verifiering
|
146
|
+
title: Väntande online-verifieringar
|
148
147
|
verification_number: 'Verifiering #%{n}'
|
149
148
|
rejections:
|
150
149
|
create:
|
151
|
-
success: Verifieringen avvisades. Användaren kommer att uppmanas att
|
150
|
+
success: Verifieringen avvisades. Användaren kommer att uppmanas att rätta sina handlingar
|
152
151
|
authorizations:
|
153
152
|
choose:
|
154
153
|
choose_a_type: 'Var god välj hur du vill verifieras:'
|
155
|
-
offline:
|
156
|
-
online:
|
157
|
-
title: Verifiera dig själv med
|
154
|
+
offline: Offline
|
155
|
+
online: Online
|
156
|
+
title: Verifiera dig själv med din identitetshandling
|
158
157
|
create:
|
159
|
-
error: Det gick inte att
|
160
|
-
success: Dokumentet har
|
158
|
+
error: Det gick inte att skicka in ID-handlingen
|
159
|
+
success: Dokumentet har skickats in
|
161
160
|
edit:
|
162
|
-
being_reviewed: Vi granskar dina
|
163
|
-
offline: Använd offline
|
164
|
-
online: Använd online
|
165
|
-
rejection_clarity: Se till att informationen syns tydligt i
|
166
|
-
rejection_correctness: Se till att
|
167
|
-
rejection_notice: Det
|
161
|
+
being_reviewed: Vi granskar dina handlingar. Du kommer att verifieras inom kort
|
162
|
+
offline: Använd offline-verifiering
|
163
|
+
online: Använd online-verifiering
|
164
|
+
rejection_clarity: Se till att informationen syns tydligt i bilden som du skickade in
|
165
|
+
rejection_correctness: Se till att den angivna informationen är korrekt
|
166
|
+
rejection_notice: Det gick inte att verifiera dig. Försök igen
|
168
167
|
send: Begär verifiering igen
|
169
168
|
new:
|
170
169
|
send: Begär verifiering
|
171
|
-
title:
|
170
|
+
title: Skicka in din identitetshandling
|
172
171
|
update:
|
173
|
-
error:
|
174
|
-
success: Dokumentet
|
172
|
+
error: Det gick inte att skicka in ID-handlingen igen
|
173
|
+
success: Dokumentet har skickats in igen
|
175
174
|
dni: ID-kort
|
176
175
|
nie: Personnummer
|
177
176
|
passport: Pass
|
@@ -180,49 +179,49 @@ sv:
|
|
180
179
|
pending_authorizations:
|
181
180
|
index:
|
182
181
|
address: Adress
|
183
|
-
letter_sent_at: Brev skickat
|
182
|
+
letter_sent_at: Brev skickat
|
184
183
|
mark_as_sent: Markera som skickat
|
185
184
|
not_yet_sent: inte skickat än
|
186
|
-
title: Pågående
|
185
|
+
title: Pågående verifieringar
|
187
186
|
username: Användarnamn
|
188
187
|
verification_code: Verifieringskod
|
189
188
|
postages:
|
190
189
|
create:
|
191
|
-
error:
|
190
|
+
error: Det gick inte att markera brevet som skickat
|
192
191
|
success: Brevet har markerats som skickat
|
193
192
|
authorizations:
|
194
193
|
create:
|
195
|
-
error: Det
|
194
|
+
error: Det var ett problem med din förfrågan
|
196
195
|
success: Tack! Vi skickar en verifieringskod till din adress
|
197
196
|
edit:
|
198
197
|
send: Bekräfta
|
199
|
-
title:
|
200
|
-
waiting_for_letter: Vi skickar snart ett brev
|
198
|
+
title: Ange verifieringskoden som du fick
|
199
|
+
waiting_for_letter: Vi skickar snart ett brev med din verifieringskod till din adress
|
201
200
|
new:
|
202
201
|
send: Skicka mig ett brev
|
203
202
|
title: Begär din verifieringskod
|
204
203
|
update:
|
205
|
-
error: Din verifieringskod stämmer inte överens med vår.
|
204
|
+
error: Din verifieringskod stämmer inte överens med vår. Kontrollera brevet som vi skickade till dig igen
|
206
205
|
success: Grattis. Du har blivit verifierad
|
207
206
|
sms:
|
208
207
|
authorizations:
|
209
208
|
create:
|
210
|
-
error:
|
209
|
+
error: Det var ett problem med din förfrågan
|
211
210
|
success: Tack! Vi har skickat ett SMS till din telefon.
|
212
211
|
destroy:
|
213
|
-
success: Verifieringskoden
|
212
|
+
success: Verifieringskoden har återställts. Ange ditt telefonnummer igen.
|
214
213
|
edit:
|
215
214
|
confirm_destroy: Är du säker på att du vill återställa verifieringskoden?
|
216
|
-
destroy:
|
217
|
-
resend: Fick inte verifieringskoden?
|
215
|
+
destroy: Nollställ verifieringskod
|
216
|
+
resend: Fick du inte verifieringskoden?
|
218
217
|
send: Bekräfta
|
219
|
-
title:
|
218
|
+
title: Ange verifieringskoden som du fick
|
220
219
|
new:
|
221
220
|
send: Skicka mig ett SMS
|
222
221
|
title: Begär din verifieringskod
|
223
222
|
update:
|
224
|
-
error:
|
223
|
+
error: Verifieringskoden stämmer inte. Kontrollera det SMS som vi skickade till dig igen.
|
225
224
|
success: Grattis. Du har blivit verifierad.
|
226
225
|
errors:
|
227
226
|
messages:
|
228
|
-
uppercase_only_letters_numbers:
|
227
|
+
uppercase_only_letters_numbers: får endast innehålla stora bokstäver och/eller siffror
|
data/config/locales/tr-TR.yml
CHANGED
@@ -104,7 +104,6 @@ tr:
|
|
104
104
|
title: Bu kuruluş için csv sayımını etkinleştirmeniz gerekir
|
105
105
|
new:
|
106
106
|
file: "e-posta verileri içeren .csv dosyası"
|
107
|
-
info: 'Tek sütunlu CSV biçiminde bir dosya olmalı: e-posta'
|
108
107
|
submit: Dosya yükleme
|
109
108
|
title: Yeni bir nüfus sayımı yükleyin
|
110
109
|
authorizations:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-verifications
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodriguez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-core
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.19.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.19.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: decidim-admin
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.19.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.19.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: decidim-dev
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.19.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.19.0
|
55
55
|
description: Several verification methods for your decidim instance
|
56
56
|
email:
|
57
57
|
- deivid.rodriguez@riseup.net
|
@@ -100,7 +100,6 @@ files:
|
|
100
100
|
- app/models/decidim/verifications/csv_census/data.rb
|
101
101
|
- app/models/decidim/verifications/csv_census/status.rb
|
102
102
|
- app/models/decidim/verifications/csv_datum.rb
|
103
|
-
- app/permissions/decidim/verifications/csv_census/admin/permissions.rb
|
104
103
|
- app/presenters/decidim/verifications/id_documents/authorization_presenter.rb
|
105
104
|
- app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
|
106
105
|
- app/queries/decidim/verifications/authorizations.rb
|
@@ -147,6 +146,7 @@ files:
|
|
147
146
|
- config/locales/id-ID.yml
|
148
147
|
- config/locales/it.yml
|
149
148
|
- config/locales/nl.yml
|
149
|
+
- config/locales/no.yml
|
150
150
|
- config/locales/pl.yml
|
151
151
|
- config/locales/pt-BR.yml
|
152
152
|
- config/locales/pt.yml
|
@@ -202,8 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
202
|
- !ruby/object:Gem::Version
|
203
203
|
version: '0'
|
204
204
|
requirements: []
|
205
|
-
|
206
|
-
rubygems_version: 2.7.6
|
205
|
+
rubygems_version: 3.0.3
|
207
206
|
signing_key:
|
208
207
|
specification_version: 4
|
209
208
|
summary: Decidim verifications module
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Verifications
|
5
|
-
module CsvCensus
|
6
|
-
module Admin
|
7
|
-
class Permissions < Decidim::DefaultPermissions
|
8
|
-
def permissions
|
9
|
-
return permission_action if permission_action.scope != :admin
|
10
|
-
if user.organization.available_authorizations.include?("csv_census")
|
11
|
-
allow! if permission_action.subject == Decidim::Verifications::CsvDatum
|
12
|
-
permission_action
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|