decidim-verifications 0.31.5 → 0.32.0.rc1

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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -13
  3. data/app/controllers/concerns/decidim/verifications/renewable.rb +1 -0
  4. data/app/controllers/decidim/verifications/application_controller.rb +2 -3
  5. data/app/controllers/decidim/verifications/authorizations_controller.rb +4 -3
  6. data/app/controllers/decidim/verifications/csv_census/admin/census_controller.rb +1 -9
  7. data/app/controllers/decidim/verifications/csv_census/admin/census_records_controller.rb +2 -10
  8. data/app/controllers/decidim/verifications/id_documents/admin/config_controller.rb +1 -1
  9. data/app/controllers/decidim/verifications/id_documents/admin/confirmations_controller.rb +2 -3
  10. data/app/controllers/decidim/verifications/id_documents/admin/offline_confirmations_controller.rb +1 -1
  11. data/app/controllers/decidim/verifications/id_documents/admin/rejections_controller.rb +1 -2
  12. data/app/controllers/decidim/verifications/id_documents/authorizations_controller.rb +2 -2
  13. data/app/controllers/decidim/verifications/postal_letter/admin/postages_controller.rb +2 -3
  14. data/app/controllers/decidim/verifications/postal_letter/authorizations_controller.rb +2 -2
  15. data/app/controllers/decidim/verifications/sms/authorizations_controller.rb +2 -2
  16. data/app/forms/decidim/verifications/csv_census/admin/census_data_form.rb +1 -0
  17. data/app/forms/decidim/verifications/id_documents/admin/config_form.rb +1 -0
  18. data/app/views/decidim/verifications/csv_census/admin/census/index.html.erb +2 -2
  19. data/app/views/decidim/verifications/csv_census/admin/census/instructions.html.erb +4 -3
  20. data/app/views/decidim/verifications/id_documents/admin/confirmations/new.html.erb +3 -3
  21. data/app/views/decidim/verifications/id_documents/admin/offline_confirmations/new.html.erb +2 -2
  22. data/app/views/decidim/verifications/id_documents/admin/pending_authorizations/index.html.erb +1 -1
  23. data/app/views/decidim/verifications/id_documents/authorizations/_form.html.erb +1 -3
  24. data/app/views/dummy_authorization/_form.html.erb +3 -3
  25. data/config/locales/ar.yml +8 -9
  26. data/config/locales/bg.yml +21 -22
  27. data/config/locales/ca-IT.yml +31 -32
  28. data/config/locales/ca.yml +31 -32
  29. data/config/locales/cs.yml +25 -26
  30. data/config/locales/de.yml +25 -26
  31. data/config/locales/el.yml +8 -9
  32. data/config/locales/en.yml +6 -6
  33. data/config/locales/es-MX.yml +31 -32
  34. data/config/locales/es-PY.yml +31 -32
  35. data/config/locales/es.yml +31 -32
  36. data/config/locales/eu.yml +31 -32
  37. data/config/locales/fi-plain.yml +31 -32
  38. data/config/locales/fi.yml +31 -32
  39. data/config/locales/fr-CA.yml +25 -26
  40. data/config/locales/fr.yml +25 -26
  41. data/config/locales/ga-IE.yml +0 -1
  42. data/config/locales/gl.yml +8 -9
  43. data/config/locales/hu.yml +10 -11
  44. data/config/locales/id-ID.yml +8 -9
  45. data/config/locales/is-IS.yml +9 -10
  46. data/config/locales/it.yml +8 -9
  47. data/config/locales/ja.yml +31 -32
  48. data/config/locales/lb.yml +0 -1
  49. data/config/locales/lt.yml +10 -11
  50. data/config/locales/lv.yml +8 -9
  51. data/config/locales/nl.yml +8 -9
  52. data/config/locales/no.yml +8 -9
  53. data/config/locales/pl.yml +21 -22
  54. data/config/locales/pt-BR.yml +27 -28
  55. data/config/locales/pt.yml +8 -9
  56. data/config/locales/ro-RO.yml +8 -9
  57. data/config/locales/ru.yml +8 -9
  58. data/config/locales/sk.yml +8 -209
  59. data/config/locales/sl.yml +0 -1
  60. data/config/locales/sv.yml +25 -26
  61. data/config/locales/tr-TR.yml +8 -9
  62. data/config/locales/uk.yml +8 -9
  63. data/config/locales/zh-CN.yml +8 -9
  64. data/config/locales/zh-TW.yml +10 -11
  65. data/decidim-verifications.gemspec +7 -8
  66. data/lib/decidim/verifications/adapter.rb +12 -1
  67. data/lib/decidim/verifications/engine.rb +11 -3
  68. data/lib/decidim/verifications/version.rb +1 -1
  69. data/lib/decidim/verifications.rb +8 -3
  70. metadata +10 -14
  71. data/app/controllers/concerns/decidim/verifications/admin/pending_authorization_loader.rb +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab23660af67a5437d887ae8dfd0e774ab25c7d3569179f02015849841c17ad86
4
- data.tar.gz: 06c6dc46eb3d1f008232532da895891d28d16350c5b0f65866bb33d2264f4567
3
+ metadata.gz: 18eeb490e000d6bdf84f6a1745e60fd21d005e88c2a9bb16a8e660b6b090ea2b
4
+ data.tar.gz: 82511430b2884829f35dae429c9bc611bf14c88f16f4328fa9d3a87e87dc560e
5
5
  SHA512:
6
- metadata.gz: 74064a45c98e7c14df37af2f9df691d639aeadb07d0320ae661beef1f5e2269d453dcb2bf4b4101eea1d9877f402c9fd8139c4b984da147c8d514644b72acc93
7
- data.tar.gz: e4035eb218a812d69cefce1af846e59b7f774f2faec189cd95a9223543a390a3faeba173f07bf4b6c218d52b0e23c42c3f79ec5acc5b7fdc6277a0840577d551
6
+ metadata.gz: '096de425a399c348ec3f0964d53a484310686280b3ed1d28de458566585b7f65ea0b9bf306eb9706cbd37062c498661bcdfe0080f1a0875c0304d7c946cfeb34'
7
+ data.tar.gz: 5a7f737b1c79c194e1c859c5ef83c5fb07bf8fc2fae183ec3994fc60b27474f36e7590c8f0b188f707d1c7e29f1a0fb8e5cea4d9f765ea7ebdaf31de7cc22426
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Decidim::Verifications
1
+ # decidim-verifications
2
2
 
3
3
  Decidim offers several methods for allowing participants to get authorization to
4
4
  perform certain privileged actions. This module implements several of those methods
@@ -23,6 +23,10 @@ There are several use cases for this, such as
23
23
  Right now Decidim supports only a few of these cases, but we have an internal
24
24
  API where you can program your own kind of authorizations.
25
25
 
26
+ ## Usage
27
+
28
+ This is a module oriented for developers, as a building block to be used by other modules.
29
+
26
30
  ## Introduction
27
31
 
28
32
  Each decidim instance is in full control of its authorizations, and can customize:
@@ -151,7 +155,7 @@ In order to setup Decidim with SMS verification you need to:
151
155
  Keep in mind that Decidim will not store a free text version of the mobile phone, only a hashed
152
156
  version so we can avoid duplicates and guarantee the users' privacy.
153
157
 
154
- You can find an example [here][example SMS gateway].
158
+ You can find an example in the [example SMS gateway implementation][example SMS gateway].
155
159
 
156
160
  ## Authorization options
157
161
 
@@ -243,17 +247,7 @@ authorization.
243
247
 
244
248
  ## Installation
245
249
 
246
- Add this line to your application's Gemfile:
247
-
248
- ```ruby
249
- gem 'decidim-verifications'
250
- ```
251
-
252
- And then execute:
253
-
254
- ```bash
255
- bundle
256
- ```
250
+ This is on the default Decidim installation so you should not change anything to use this feature.
257
251
 
258
252
  ## Contributing
259
253
 
@@ -7,6 +7,7 @@ module Decidim
7
7
  # Common logic to renew authorizations
8
8
  module Renewable
9
9
  extend ActiveSupport::Concern
10
+
10
11
  included do
11
12
  def renew
12
13
  enforce_permission_to(:renew, :authorization, authorization:)
@@ -27,9 +27,8 @@ module Decidim
27
27
  def confirmed_user
28
28
  return true if !current_user || (current_user && current_user.verifiable?)
29
29
 
30
- redirect_back(
31
- fallback_location: root_path,
32
- alert: t(
30
+ redirect_back_or_to(
31
+ root_path, alert: t(
33
32
  "authorizations.create.unconfirmed",
34
33
  scope: "decidim.verifications"
35
34
  )
@@ -14,6 +14,7 @@ module Decidim
14
14
  include Decidim::UserProfile
15
15
  include Decidim::HtmlSafeFlash
16
16
  include Decidim::Verifications::Renewable
17
+
17
18
  helper Decidim::DecidimFormHelper
18
19
  helper Decidim::AuthorizationFormHelper
19
20
  helper Decidim::TranslationsHelper
@@ -25,7 +26,7 @@ module Decidim
25
26
  def index; end
26
27
 
27
28
  def onboarding_pending
28
- return redirect_back(fallback_location: authorizations_path) unless onboarding_manager.valid?
29
+ return redirect_back_or_to(authorizations_path) unless onboarding_manager.valid?
29
30
 
30
31
  authorizations = action_authorized_to(onboarding_manager.action, **onboarding_manager.action_authorized_resources)
31
32
 
@@ -86,7 +87,7 @@ module Decidim
86
87
 
87
88
  on(:invalid) do
88
89
  flash[:alert] = t("authorizations.create.error", scope: "decidim.verifications")
89
- render action: :new, status: :unprocessable_entity
90
+ render action: :new, status: :unprocessable_content
90
91
  end
91
92
  end
92
93
  end
@@ -151,7 +152,7 @@ module Decidim
151
152
  authorizations = action_authorized_to(onboarding_manager.action, **onboarding_manager.action_authorized_resources)
152
153
  return unless authorizations.ephemeral?
153
154
 
154
- form = Decidim::EphemeralUserForm.new(organization: current_organization, locale: current_locale)
155
+ form = Decidim::EphemeralUserForm.new(organization: current_organization)
155
156
  CreateEphemeralUser.call(form) do
156
157
  on(:ok) do |ephemeral_user|
157
158
  sign_in(ephemeral_user)
@@ -18,13 +18,9 @@ module Decidim
18
18
 
19
19
  helper_method :csv_census_data, :last_login
20
20
 
21
- def index
22
- enforce_permission_to :index, :authorization
23
- end
21
+ def index; end
24
22
 
25
23
  def destroy
26
- enforce_permission_to :destroy, :authorization
27
-
28
24
  Decidim::Commands::DestroyResource.call(census_data, current_user) do
29
25
  on(:ok) do
30
26
  flash[:notice] = I18n.t("census.destroy.success", scope: "decidim.verifications.csv_census.admin")
@@ -34,15 +30,12 @@ module Decidim
34
30
  end
35
31
 
36
32
  def new_import
37
- enforce_permission_to :create, :authorization
38
-
39
33
  @form = form(CensusDataForm).from_params(params)
40
34
  @status = Status.new(current_organization)
41
35
  end
42
36
 
43
37
  def create_import
44
38
  enforce_permission_to :create, :authorization
45
-
46
39
  @form = form(CensusDataForm).from_params(params)
47
40
  @status = Status.new(current_organization)
48
41
 
@@ -83,7 +76,6 @@ module Decidim
83
76
 
84
77
  def show_instructions
85
78
  enforce_permission_to :index, :authorization
86
-
87
79
  render :instructions
88
80
  end
89
81
 
@@ -10,14 +10,10 @@ module Decidim
10
10
  helper_method :csv_census_data
11
11
 
12
12
  def new_record
13
- enforce_permission_to :create, :authorization
14
-
15
13
  @form = form(Admin::CensusForm).instance
16
14
  end
17
15
 
18
16
  def create_record
19
- enforce_permission_to :create, :authorization
20
-
21
17
  @form = form(Admin::CensusForm).from_params(params)
22
18
  Admin::CreateCensusRecord.call(@form) do
23
19
  on(:ok) do
@@ -26,20 +22,16 @@ module Decidim
26
22
  end
27
23
 
28
24
  on(:invalid) do
29
- render :new_record, status: :unprocessable_entity
25
+ render :new_record, status: :unprocessable_content
30
26
  end
31
27
  end
32
28
  end
33
29
 
34
30
  def edit_record
35
- enforce_permission_to :update, :authorization
36
-
37
31
  @form = form(Admin::CensusForm).from_model(census_data)
38
32
  end
39
33
 
40
34
  def update_record
41
- enforce_permission_to :update, :authorization
42
-
43
35
  @form = form(Admin::CensusForm).from_params(params)
44
36
 
45
37
  Admin::UpdateCensusRecord.call(@form, census_data) do
@@ -50,7 +42,7 @@ module Decidim
50
42
 
51
43
  on(:invalid) do
52
44
  flash.now[:alert] = I18n.t("census_records.update_record.invalid", scope: "decidim.verifications.csv_census.admin")
53
- render action: "edit_record", status: :unprocessable_entity
45
+ render action: "edit_record", status: :unprocessable_content
54
46
  end
55
47
  end
56
48
  end
@@ -33,7 +33,7 @@ module Decidim
33
33
 
34
34
  on(:invalid) do
35
35
  flash.now[:alert] = t("config.update.error", scope: "decidim.verifications.id_documents.admin")
36
- render action: :edit, status: :unprocessable_entity
36
+ render action: :edit, status: :unprocessable_content
37
37
  end
38
38
  end
39
39
  end
@@ -13,7 +13,6 @@ module Decidim
13
13
  before_action :load_pending_authorization
14
14
 
15
15
  include Decidim::Admin::WorkflowsBreadcrumb
16
- include Decidim::Verifications::Admin::PendingAuthorizationLoader
17
16
 
18
17
  add_breadcrumb_item_from_menu :workflows_menu
19
18
 
@@ -36,7 +35,7 @@ module Decidim
36
35
 
37
36
  on(:invalid) do
38
37
  flash.now[:alert] = t("confirmations.create.error", scope: "decidim.verifications.id_documents.admin")
39
- render action: :new, status: :unprocessable_entity
38
+ render action: :new, status: :unprocessable_content
40
39
  end
41
40
  end
42
41
  end
@@ -44,7 +43,7 @@ module Decidim
44
43
  private
45
44
 
46
45
  def load_pending_authorization
47
- @pending_authorization = load_pending_authorization!("id_documents", params[:pending_authorization_id])
46
+ @pending_authorization = Authorization.find(params[:pending_authorization_id])
48
47
  end
49
48
  end
50
49
  end
@@ -33,7 +33,7 @@ module Decidim
33
33
 
34
34
  on(:invalid) do
35
35
  flash.now[:alert] = t("offline_confirmations.create.error", scope: "decidim.verifications.id_documents.admin")
36
- render action: :new, status: :unprocessable_entity
36
+ render action: :new, status: :unprocessable_content
37
37
  end
38
38
  end
39
39
  end
@@ -13,7 +13,6 @@ module Decidim
13
13
  before_action :load_pending_authorization
14
14
 
15
15
  include Decidim::Admin::WorkflowsBreadcrumb
16
- include Decidim::Verifications::Admin::PendingAuthorizationLoader
17
16
 
18
17
  add_breadcrumb_item_from_menu :workflows_menu
19
18
 
@@ -33,7 +32,7 @@ module Decidim
33
32
  private
34
33
 
35
34
  def load_pending_authorization
36
- @pending_authorization = load_pending_authorization!("id_documents", params[:pending_authorization_id])
35
+ @pending_authorization = Authorization.find(params[:pending_authorization_id])
37
36
  end
38
37
  end
39
38
  end
@@ -42,7 +42,7 @@ module Decidim
42
42
 
43
43
  on(:invalid) do
44
44
  flash.now[:alert] = t("authorizations.create.error", scope: "decidim.verifications.id_documents")
45
- render action: :new, status: :unprocessable_entity
45
+ render action: :new, status: :unprocessable_content
46
46
  end
47
47
  end
48
48
  end
@@ -72,7 +72,7 @@ module Decidim
72
72
 
73
73
  on(:invalid) do
74
74
  flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.id_documents")
75
- render action: :edit, status: :unprocessable_entity
75
+ render action: :edit, status: :unprocessable_content
76
76
  end
77
77
  end
78
78
  end
@@ -13,7 +13,6 @@ module Decidim
13
13
  before_action :load_pending_authorization
14
14
 
15
15
  include Decidim::Admin::WorkflowsBreadcrumb
16
- include Decidim::Verifications::Admin::PendingAuthorizationLoader
17
16
 
18
17
  add_breadcrumb_item_from_menu :workflows_menu
19
18
 
@@ -29,7 +28,7 @@ module Decidim
29
28
  end
30
29
 
31
30
  on(:invalid) do
32
- render json: { error: I18n.t("postages.create.error", scope: "decidim.verifications.postal_letter.admin") }, status: :unprocessable_entity
31
+ render json: { error: I18n.t("postages.create.error", scope: "decidim.verifications.postal_letter.admin") }, status: :unprocessable_content
33
32
  end
34
33
  end
35
34
  end
@@ -37,7 +36,7 @@ module Decidim
37
36
  private
38
37
 
39
38
  def load_pending_authorization
40
- @pending_authorization = load_pending_authorization!("postal_letter", params[:pending_authorization_id])
39
+ @pending_authorization = Authorization.find(params[:pending_authorization_id])
41
40
  end
42
41
  end
43
42
  end
@@ -29,7 +29,7 @@ module Decidim
29
29
 
30
30
  on(:invalid) do
31
31
  flash.now[:alert] = t("authorizations.create.error", scope: "decidim.verifications.postal_letter")
32
- render :new, status: :unprocessable_entity
32
+ render :new, status: :unprocessable_content
33
33
  end
34
34
  end
35
35
  end
@@ -53,7 +53,7 @@ module Decidim
53
53
 
54
54
  on(:invalid) do
55
55
  flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.postal_letter")
56
- render :edit, status: :unprocessable_entity
56
+ render :edit, status: :unprocessable_content
57
57
  end
58
58
  end
59
59
  end
@@ -27,7 +27,7 @@ module Decidim
27
27
  end
28
28
  on(:invalid) do
29
29
  flash.now[:alert] = t("authorizations.create.error", scope: "decidim.verifications.sms")
30
- render :new, status: :unprocessable_entity
30
+ render :new, status: :unprocessable_content
31
31
  end
32
32
  end
33
33
  end
@@ -52,7 +52,7 @@ module Decidim
52
52
 
53
53
  on(:invalid) do
54
54
  flash.now[:alert] = t("authorizations.update.error", scope: "decidim.verifications.sms")
55
- render :edit, status: :unprocessable_entity
55
+ render :edit, status: :unprocessable_content
56
56
  end
57
57
  end
58
58
  end
@@ -8,6 +8,7 @@ module Decidim
8
8
  class CensusDataForm < Form
9
9
  include Decidim::HasUploadValidations
10
10
  include Decidim::ProcessesFileLocally
11
+
11
12
  mimic :census_data
12
13
 
13
14
  attribute :file, Decidim::Attributes::Blob
@@ -7,6 +7,7 @@ module Decidim
7
7
  module Admin
8
8
  class ConfigForm < Decidim::Form
9
9
  include TranslatableAttributes
10
+
10
11
  mimic :config
11
12
 
12
13
  attribute :offline, Boolean
@@ -1,9 +1,9 @@
1
- <% add_decidim_page_title(t("admin.index.title", scope: "decidim.verifications.csv_census")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="card">
4
4
  <div class="item_show__header item_show__header--with-action-options">
5
5
  <h1 class="item_show__header-title">
6
- <%= t("index.title", scope: "decidim.verifications.csv_census.admin") %>
6
+ <%= t(".title") %>
7
7
  <%= link_to t("index.import_csv", scope: "decidim.verifications.csv_census.admin"), new_import_census_logs_path, method: :get, class: "button button__sm button__transparent-secondary" %>
8
8
  <button type="button" data-action="csv_census-record" data-census-dialog="census_drawer" data-census-url="<%= new_record_census_logs_path %>" class="button button__sm button__secondary">
9
9
  <%= t("index.add_new_record_button", scope: "decidim.verifications.csv_census.admin") %>
@@ -1,11 +1,12 @@
1
- <% add_decidim_page_title(t("admin.instructions.title", scope: "decidim.verifications.csv_census") ) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
+
2
3
  <div class="card">
3
4
  <div class="item_show__header">
4
5
  <h1 class="item_show__header-title">
5
- <%= t("admin.instructions.title", scope: "decidim.verifications.csv_census") %>
6
+ <%= t(".title") %>
6
7
  </h1>
7
8
  </div>
8
9
  <div class="card-section">
9
- <p><%= t("admin.instructions.body", scope: "decidim.verifications.csv_census") %></p>
10
+ <p><%= t(".body") %></p>
10
11
  </div>
11
12
  </div>
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t(".introduce_user_data")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t(".introduce_user_data") %>
5
+ <%= t(".title") %>
6
6
  <%= link_to t(".reject"), pending_authorization_rejection_path(@pending_authorization), method: :post, class: "button button__sm button__secondary alert button--title destroy" %>
7
7
  </h1>
8
8
  </div>
@@ -17,7 +17,7 @@
17
17
 
18
18
  <div class="card-section">
19
19
  <div class="row column">
20
- <%= image_tag decidim.private_download_path(Decidim::PrivateDownload.for(@pending_authorization, attachment_name: :verification_attachment).token), class: "thumbnail" %>
20
+ <%= image_tag @pending_authorization.attached_uploader(:verification_attachment).variant_url(:big), class: "thumbnail" %>
21
21
  </div>
22
22
 
23
23
  <div class="row column">
@@ -1,8 +1,8 @@
1
- <% add_decidim_page_title(t(".introduce_user_data")) %>
1
+ <% add_decidim_page_title(t(".title")) %>
2
2
 
3
3
  <div class="item_show__header">
4
4
  <h1 class="item_show__header-title">
5
- <%= t(".introduce_user_data") %>
5
+ <%= t(".title") %>
6
6
  </h1>
7
7
  </div>
8
8
 
@@ -24,7 +24,7 @@
24
24
  </td>
25
25
  <td>
26
26
  <%= link_to new_pending_authorization_confirmation_path(authorization.id) do %>
27
- <%= image_tag decidim.private_download_path(Decidim::PrivateDownload.for(authorization, attachment_name: :verification_attachment).token), class: "thumbnail-list" %>
27
+ <%= image_tag authorization.attached_uploader(:verification_attachment).variant_url(:thumbnail), class: "thumbnail-list" %>
28
28
  <% end %>
29
29
  </td>
30
30
  </tr>
@@ -6,9 +6,7 @@
6
6
  <%= form.text_field :document_number %>
7
7
 
8
8
  <% if using_online? %>
9
- <%= form.upload :verification_attachment,
10
- button_class: "button button__lg button__transparent-secondary verification__upload-button",
11
- attachments: [@authorization.verification_attachment] %>
9
+ <%= form.upload :verification_attachment, button_class: "button button__lg button__transparent-secondary verification__upload-button" %>
12
10
  <% end %>
13
11
 
14
12
  <%= form.hidden_field :verification_type, value: verification_type %>
@@ -1,6 +1,6 @@
1
- <% if request["postal_codes"].present?
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, user_postal_code: request["user_postal_code"]) %></p>
1
+ <% if request.params["postal_codes"].present?
2
+ postal_codes = request.params["postal_codes"].split(",") %>
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.params["user_postal_code"]) %></p>
4
4
  <% end %>
5
5
 
6
6
  <div class="form__wrapper" data-partial-demo>
@@ -1,4 +1,3 @@
1
- ---
2
1
  ar:
3
2
  activemodel:
4
3
  attributes:
@@ -31,16 +30,16 @@ ar:
31
30
  admin:
32
31
  id_documents:
33
32
  help:
34
- - يقوم المستخدمون بملء معلومات هويتهم وتحميل نسخة من وثيقتهم.
35
- - يمكنك ملء المعلومات الموجودة في الصورة التي تم تحميلها.
36
- - يجب أن تتطابق المعلومات مع كل ما قام المستخدم بملئه.
37
- -
33
+ - يقوم المستخدمون بملء معلومات هويتهم وتحميل نسخة من وثيقتهم.
34
+ - يمكنك ملء المعلومات الموجودة في الصورة التي تم تحميلها.
35
+ - يجب أن تتطابق المعلومات مع كل ما قام المستخدم بملئه.
36
+ -
38
37
  postal_letter:
39
38
  help:
40
- - يطلب المشاركون إرسال رمز التحقق إلى عنوانهم.
41
- - يمكنك إرسال الرسالة إلى عنوانهم مع رمز التحقق.
42
- - يمكنك وضع علامة على الرسالة كما تم إرسالها.
43
- - بمجرد وضع علامة على الرسالة على أنها مرسلة ، سيتمكن المشارك من تقديم الرمز والتحقق منه.
39
+ - يطلب المشاركون إرسال رمز التحقق إلى عنوانهم.
40
+ - يمكنك إرسال الرسالة إلى عنوانهم مع رمز التحقق.
41
+ - يمكنك وضع علامة على الرسالة كما تم إرسالها.
42
+ - بمجرد وضع علامة على الرسالة على أنها مرسلة ، سيتمكن المشارك من تقديم الرمز والتحقق منه.
44
43
  csv_census:
45
44
  name: تعداد المنظمة
46
45
  direct: مباشرة
@@ -1,4 +1,3 @@
1
- ---
2
1
  bg:
3
2
  activemodel:
4
3
  attributes:
@@ -58,39 +57,39 @@ bg:
58
57
  admin:
59
58
  another_dummy_authorization_handler:
60
59
  help:
61
- - Примерен манипулатор за оторизация, така че разработчиците да могат да разберат как работи една проста проверка.
62
- - Той е насочен към разработчиците, за да могат да разберат как да внедрят своя собствена система за проверка.
63
- - Преминете проверка, като въведете номер на паспорт започващ с "A".
60
+ - Примерен манипулатор за оторизация, така че разработчиците да могат да разберат как работи една проста проверка.
61
+ - Той е насочен към разработчиците, за да могат да разберат как да внедрят своя собствена система за проверка.
62
+ - Преминете проверка, като въведете номер на паспорт започващ с "A".
64
63
  csv_census:
65
64
  help:
66
- - Администраторите качват CSV с имейлите на приетите участници.
67
- - Само участници с имейл в този CSV файл могат да бъдат потвърдени.
65
+ - Администраторите качват CSV с имейлите на приетите участници.
66
+ - Само участници с имейл в този CSV файл могат да бъдат потвърдени.
68
67
  default:
69
68
  help:
70
- - Помощния манипулатор на оторизация не е дефиниран.
71
- - Разработчикът трябва да дефинира помощта в ключа за превод (i18n) „%{authorization_handler}“
69
+ - Помощния манипулатор на оторизация не е дефиниран.
70
+ - Разработчикът трябва да дефинира помощта в ключа за превод (i18n) „%{authorization_handler}“
72
71
  dummy_authorization_handler:
73
72
  help:
74
- - Пример за манипулатор за оторизация, така че разработчиците да могат да разберат как работи една проста проверка.
75
- - Той е насочен към разработчиците, за да могат да разберат как да внедрят своя собствена система за проверка.
76
- - Преминете проверка, като въведете номер на документ завършващ с "X".
73
+ - Пример за манипулатор за оторизация, така че разработчиците да могат да разберат как работи една проста проверка.
74
+ - Той е насочен към разработчиците, за да могат да разберат как да внедрят своя собствена система за проверка.
75
+ - Преминете проверка, като въведете номер на документ завършващ с "X".
77
76
  id_documents:
78
77
  help:
79
- - Потребителите попълват своята информация за самоличност и качват копие на своя документ.
80
- - Попълнете информацията, присъстваща в каченото изображение.
81
- - Информацията трябва да съответства на това, което е попълнил потребителят.
82
- - Ако не можете да видите ясно информацията или не можете да я проверите, можете да отхвърлите заявката и потребителят ще има възможността да я коригира.
78
+ - Потребителите попълват своята информация за самоличност и качват копие на своя документ.
79
+ - Попълнете информацията, присъстваща в каченото изображение.
80
+ - Информацията трябва да съответства на това, което е попълнил потребителят.
81
+ - Ако не можете да видите ясно информацията или не можете да я проверите, можете да отхвърлите заявката и потребителят ще има възможността да я коригира.
83
82
  postal_letter:
84
83
  help:
85
- - Участниците искат да им бъде изпратен код за потвърждение на техния адрес.
86
- - Изпращате писмото до техния адрес с кода за потвърждение.
87
- - Маркирате писмото като "изпратено".
88
- - След като маркирате писмото като изпратено, участникът ще може да въведе кода и да бъде потвърден.
84
+ - Участниците искат да им бъде изпратен код за потвърждение на техния адрес.
85
+ - Изпращате писмото до техния адрес с кода за потвърждение.
86
+ - Маркирате писмото като "изпратено".
87
+ - След като маркирате писмото като изпратено, участникът ще може да въведе кода и да бъде потвърден.
89
88
  sms:
90
89
  help:
91
- - Участниците искат код за потвърждение да бъде изпратен на техния телефон.
92
- - Те трябва да въведат кода, за да бъдат потвърдени.
93
- - Ако не получат кода, могат да го поискат отново.
90
+ - Участниците искат код за потвърждение да бъде изпратен на техния телефон.
91
+ - Те трябва да въведат кода, за да бъдат потвърдени.
92
+ - Ако не получат кода, могат да го поискат отново.
94
93
  csv_census:
95
94
  explanation: Потвърждение чрез преброяването на участниците в организацията.
96
95
  name: Преброяване на участниците в организацията