decidim-verifications 0.16.1 → 0.17.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/verifications/csv_census/admin/create_census_data.rb +32 -0
  3. data/app/commands/decidim/verifications/csv_census/confirm_census_authorization.rb +20 -0
  4. data/app/controllers/decidim/verifications/csv_census/admin/census_controller.rb +68 -0
  5. data/app/controllers/decidim/verifications/csv_census/authorizations_controller.rb +39 -0
  6. data/app/controllers/decidim/verifications/sms/authorizations_controller.rb +16 -2
  7. data/app/forms/decidim/verifications/csv_census/admin/census_data_form.rb +20 -0
  8. data/app/forms/decidim/verifications/csv_census/census_form.rb +32 -0
  9. data/app/jobs/decidim/verifications/csv_census/application_job.rb +10 -0
  10. data/app/jobs/decidim/verifications/csv_census/remove_duplicates_job.rb +30 -0
  11. data/app/models/decidim/verifications/application_record.rb +9 -0
  12. data/app/models/decidim/verifications/csv_census/data.rb +41 -0
  13. data/app/models/decidim/verifications/csv_census/status.rb +24 -0
  14. data/app/models/decidim/verifications/csv_datum.rb +29 -0
  15. data/app/permissions/decidim/verifications/csv_census/admin/permissions.rb +19 -0
  16. data/app/views/decidim/verifications/authorizations/_granted_authorization.html.erb +1 -1
  17. data/app/views/decidim/verifications/authorizations/index.html.erb +1 -1
  18. data/app/views/decidim/verifications/csv_census/admin/census/index.html.erb +37 -0
  19. data/app/views/decidim/verifications/csv_census/admin/census/instructions.html.erb +10 -0
  20. data/app/views/decidim/verifications/sms/authorizations/edit.html.erb +10 -1
  21. data/app/views/decidim/verifications/sms/authorizations/new.html.erb +1 -1
  22. data/config/locales/ar-SA.yml +68 -5
  23. data/config/locales/ca.yml +54 -14
  24. data/config/locales/cs-CZ.yml +36 -0
  25. data/config/locales/cs.yml +230 -0
  26. data/config/locales/de.yml +41 -1
  27. data/config/locales/en.yml +65 -24
  28. data/config/locales/es-MX.yml +42 -2
  29. data/config/locales/es-PY.yml +42 -2
  30. data/config/locales/es.yml +56 -16
  31. data/config/locales/eu.yml +41 -1
  32. data/config/locales/fi-pl.yml +36 -0
  33. data/config/locales/fi-plain.yml +228 -0
  34. data/config/locales/fi.yml +50 -10
  35. data/config/locales/fr.yml +41 -1
  36. data/config/locales/gl.yml +41 -1
  37. data/config/locales/hu.yml +42 -2
  38. data/config/locales/id-ID.yml +41 -1
  39. data/config/locales/it.yml +41 -1
  40. data/config/locales/nl.yml +41 -1
  41. data/config/locales/pl.yml +41 -1
  42. data/config/locales/pt-BR.yml +41 -1
  43. data/config/locales/pt.yml +41 -1
  44. data/config/locales/ru.yml +0 -3
  45. data/config/locales/sv.yml +41 -1
  46. data/config/locales/tr-TR.yml +41 -1
  47. data/config/locales/uk.yml +0 -3
  48. data/db/migrate/20181227135423_create_decidim_verifications_csv_data.rb +12 -0
  49. data/lib/decidim/verifications.rb +1 -0
  50. data/lib/decidim/verifications/adapter.rb +13 -1
  51. data/lib/decidim/verifications/csv_census.rb +6 -0
  52. data/lib/decidim/verifications/csv_census/admin.rb +10 -0
  53. data/lib/decidim/verifications/csv_census/admin_engine.rb +23 -0
  54. data/lib/decidim/verifications/csv_census/engine.rb +19 -0
  55. data/lib/decidim/verifications/csv_census/workflow.rb +6 -0
  56. data/lib/decidim/verifications/default_action_authorizer.rb +11 -4
  57. data/lib/decidim/verifications/sms/engine.rb +1 -1
  58. data/lib/decidim/verifications/test/factories.rb +11 -0
  59. data/lib/decidim/verifications/version.rb +1 -1
  60. metadata +31 -7
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Verifications
5
+ module CsvCensus
6
+ class Engine < ::Rails::Engine
7
+ isolate_namespace Decidim::Verifications::CsvCensus
8
+
9
+ paths["db/migrate"] = nil
10
+ paths["lib/tasks"] = nil
11
+
12
+ routes do
13
+ resource :authorization, only: [:new], as: :authorization
14
+ root to: "authorizations#new"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ Decidim::Verifications.register_workflow(:csv_census) do |workflow|
4
+ workflow.engine = Decidim::Verifications::CsvCensus::Engine
5
+ workflow.admin_engine = Decidim::Verifications::CsvCensus::AdminEngine
6
+ end
@@ -14,7 +14,7 @@ module Decidim
14
14
  def initialize(authorization, options, component, resource)
15
15
  @authorization = authorization
16
16
  @options = options.deep_dup || {} # options hash is cloned to allow changes applied to it without risks
17
- @component = resource&.component || component
17
+ @component = resource.try(:component) || component
18
18
  @resource = resource
19
19
  end
20
20
 
@@ -70,8 +70,9 @@ module Decidim
70
70
  attr_reader :authorization, :options, :component, :resource
71
71
 
72
72
  def unmatched_fields
73
- @unmatched_fields ||= (valid_options_keys & authorization.metadata.to_h.keys).each_with_object({}) do |field, unmatched|
74
- unmatched[field] = options[field] if authorization.metadata[field] != options[field]
73
+ @unmatched_fields ||= (valued_options_keys & authorization.metadata.to_h.keys).each_with_object({}) do |field, unmatched|
74
+ required_value = options[field].respond_to?(:value) ? options[field].value : options[field]
75
+ unmatched[field] = required_value if authorization.metadata[field] != required_value
75
76
  unmatched
76
77
  end
77
78
  end
@@ -85,7 +86,13 @@ module Decidim
85
86
 
86
87
  def valid_options_keys
87
88
  @valid_options_keys ||= options.map do |key, value|
88
- key if value.present?
89
+ key if value.present? || value.try(:required_for_authorization?)
90
+ end.compact
91
+ end
92
+
93
+ def valued_options_keys
94
+ @valued_options_keys ||= options.map do |key, value|
95
+ key if value.respond_to?(:value) ? value.value.present? : value.present?
89
96
  end.compact
90
97
  end
91
98
 
@@ -11,7 +11,7 @@ module Decidim
11
11
  paths["lib/tasks"] = nil
12
12
 
13
13
  routes do
14
- resource :authorizations, only: [:new, :create, :edit, :update], as: :authorization
14
+ resource :authorizations, only: [:new, :create, :edit, :update, :destroy], as: :authorization
15
15
 
16
16
  root to: "authorizations#new"
17
17
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/core/test/factories"
4
+ require "decidim/dev"
5
+
6
+ FactoryBot.define do
7
+ factory :csv_datum, class: "Decidim::Verifications::CsvDatum" do
8
+ email { generate(:email) }
9
+ organization
10
+ end
11
+ end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-verifications version.
5
5
  module Verifications
6
6
  def self.version
7
- "0.16.1"
7
+ "0.17.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-verifications
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodriguez
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.1
19
+ version: 0.17.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.16.1
26
+ version: 0.17.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.16.1
33
+ version: 0.17.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.16.1
40
+ version: 0.17.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.16.1
47
+ version: 0.17.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.16.1
54
+ version: 0.17.0
55
55
  description: Several verification methods for your decidim instance
56
56
  email:
57
57
  - deivid.rodriguez@riseup.net
@@ -63,11 +63,15 @@ files:
63
63
  - Rakefile
64
64
  - app/commands/decidim/verifications/authorize_user.rb
65
65
  - app/commands/decidim/verifications/confirm_user_authorization.rb
66
+ - app/commands/decidim/verifications/csv_census/admin/create_census_data.rb
67
+ - app/commands/decidim/verifications/csv_census/confirm_census_authorization.rb
66
68
  - app/commands/decidim/verifications/id_documents/admin/confirm_user_offline_authorization.rb
67
69
  - app/commands/decidim/verifications/id_documents/admin/update_config.rb
68
70
  - app/commands/decidim/verifications/perform_authorization_step.rb
69
71
  - app/controllers/decidim/verifications/application_controller.rb
70
72
  - app/controllers/decidim/verifications/authorizations_controller.rb
73
+ - app/controllers/decidim/verifications/csv_census/admin/census_controller.rb
74
+ - app/controllers/decidim/verifications/csv_census/authorizations_controller.rb
71
75
  - app/controllers/decidim/verifications/id_documents/admin/config_controller.rb
72
76
  - app/controllers/decidim/verifications/id_documents/admin/confirmations_controller.rb
73
77
  - app/controllers/decidim/verifications/id_documents/admin/offline_confirmations_controller.rb
@@ -78,6 +82,8 @@ files:
78
82
  - app/controllers/decidim/verifications/postal_letter/admin/postages_controller.rb
79
83
  - app/controllers/decidim/verifications/postal_letter/authorizations_controller.rb
80
84
  - app/controllers/decidim/verifications/sms/authorizations_controller.rb
85
+ - app/forms/decidim/verifications/csv_census/admin/census_data_form.rb
86
+ - app/forms/decidim/verifications/csv_census/census_form.rb
81
87
  - app/forms/decidim/verifications/id_documents/admin/config_form.rb
82
88
  - app/forms/decidim/verifications/id_documents/admin/offline_confirmation_form.rb
83
89
  - app/forms/decidim/verifications/id_documents/information_form.rb
@@ -88,6 +94,13 @@ files:
88
94
  - app/forms/decidim/verifications/postal_letter/postage_form.rb
89
95
  - app/forms/decidim/verifications/sms/confirmation_form.rb
90
96
  - app/forms/decidim/verifications/sms/mobile_phone_form.rb
97
+ - app/jobs/decidim/verifications/csv_census/application_job.rb
98
+ - app/jobs/decidim/verifications/csv_census/remove_duplicates_job.rb
99
+ - app/models/decidim/verifications/application_record.rb
100
+ - app/models/decidim/verifications/csv_census/data.rb
101
+ - app/models/decidim/verifications/csv_census/status.rb
102
+ - app/models/decidim/verifications/csv_datum.rb
103
+ - app/permissions/decidim/verifications/csv_census/admin/permissions.rb
91
104
  - app/presenters/decidim/verifications/id_documents/authorization_presenter.rb
92
105
  - app/presenters/decidim/verifications/postal_letter/authorization_presenter.rb
93
106
  - app/queries/decidim/verifications/authorizations.rb
@@ -97,6 +110,8 @@ files:
97
110
  - app/views/decidim/verifications/authorizations/first_login.html.erb
98
111
  - app/views/decidim/verifications/authorizations/index.html.erb
99
112
  - app/views/decidim/verifications/authorizations/new.html.erb
113
+ - app/views/decidim/verifications/csv_census/admin/census/index.html.erb
114
+ - app/views/decidim/verifications/csv_census/admin/census/instructions.html.erb
100
115
  - app/views/decidim/verifications/id_documents/admin/config/edit.html.erb
101
116
  - app/views/decidim/verifications/id_documents/admin/confirmations/new.html.erb
102
117
  - app/views/decidim/verifications/id_documents/admin/offline_confirmations/new.html.erb
@@ -114,6 +129,7 @@ files:
114
129
  - config/locales/ar-SA.yml
115
130
  - config/locales/ca.yml
116
131
  - config/locales/cs-CZ.yml
132
+ - config/locales/cs.yml
117
133
  - config/locales/de.yml
118
134
  - config/locales/en.yml
119
135
  - config/locales/es-MX.yml
@@ -121,6 +137,7 @@ files:
121
137
  - config/locales/es.yml
122
138
  - config/locales/eu.yml
123
139
  - config/locales/fi-pl.yml
140
+ - config/locales/fi-plain.yml
124
141
  - config/locales/fi.yml
125
142
  - config/locales/fr.yml
126
143
  - config/locales/gl.yml
@@ -136,8 +153,14 @@ files:
136
153
  - config/locales/tr-TR.yml
137
154
  - config/locales/uk.yml
138
155
  - db/migrate/20171030133426_move_authorizations_to_new_api.rb
156
+ - db/migrate/20181227135423_create_decidim_verifications_csv_data.rb
139
157
  - lib/decidim/verifications.rb
140
158
  - lib/decidim/verifications/adapter.rb
159
+ - lib/decidim/verifications/csv_census.rb
160
+ - lib/decidim/verifications/csv_census/admin.rb
161
+ - lib/decidim/verifications/csv_census/admin_engine.rb
162
+ - lib/decidim/verifications/csv_census/engine.rb
163
+ - lib/decidim/verifications/csv_census/workflow.rb
141
164
  - lib/decidim/verifications/default_action_authorizer.rb
142
165
  - lib/decidim/verifications/engine.rb
143
166
  - lib/decidim/verifications/id_documents.rb
@@ -154,6 +177,7 @@ files:
154
177
  - lib/decidim/verifications/sms.rb
155
178
  - lib/decidim/verifications/sms/engine.rb
156
179
  - lib/decidim/verifications/sms/example_gateway.rb
180
+ - lib/decidim/verifications/test/factories.rb
157
181
  - lib/decidim/verifications/version.rb
158
182
  - lib/decidim/verifications/workflow_manifest.rb
159
183
  - lib/decidim/verifications/workflows.rb