decidim-verifications 0.16.1 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
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