decidim-direct_verifications 0.17.8 → 1.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -2
  3. data/app/assets/config/direct_verifications_admin_manifest.css +3 -0
  4. data/app/assets/stylesheets/decidim/direct_verifications/authorizations.scss +17 -0
  5. data/app/commands/decidim/direct_verifications/verification/create_import.rb +50 -0
  6. data/app/controllers/decidim/direct_verifications/verification/admin/authorizations_controller.rb +40 -0
  7. data/app/controllers/decidim/direct_verifications/verification/admin/direct_verifications_controller.rb +71 -46
  8. data/app/controllers/decidim/direct_verifications/verification/admin/imports_controller.rb +55 -0
  9. data/app/forms/decidim/direct_verifications/registration_form.rb +8 -0
  10. data/app/forms/decidim/direct_verifications/verification/create_import_form.rb +43 -0
  11. data/app/jobs/decidim/direct_verifications/authorize_users_job.rb +34 -0
  12. data/app/jobs/decidim/direct_verifications/base_import_job.rb +38 -0
  13. data/app/jobs/decidim/direct_verifications/register_users_job.rb +19 -0
  14. data/app/jobs/decidim/direct_verifications/revoke_users_job.rb +17 -0
  15. data/app/mailers/decidim/direct_verifications/import_mailer.rb +27 -0
  16. data/app/mailers/decidim/direct_verifications/stats.rb +23 -0
  17. data/app/views/decidim/direct_verifications/import_mailer/finished_processing.html.erb +7 -0
  18. data/app/views/decidim/direct_verifications/import_mailer/finished_processing.text.erb +7 -0
  19. data/app/views/decidim/direct_verifications/verification/admin/authorizations/index.html.erb +42 -0
  20. data/app/views/decidim/direct_verifications/verification/admin/direct_verifications/index.html.erb +18 -17
  21. data/app/views/decidim/direct_verifications/verification/admin/imports/new.html.erb +50 -0
  22. data/app/views/decidim/direct_verifications/verification/admin/stats/index.html.erb +3 -3
  23. data/config/initializers/mail_previews.rb +5 -0
  24. data/config/locales/ca.yml +25 -20
  25. data/config/locales/cs.yml +69 -0
  26. data/config/locales/en.yml +34 -2
  27. data/config/locales/es.yml +25 -20
  28. data/config/locales/fr.yml +69 -0
  29. data/lib/decidim/direct_verifications.rb +24 -1
  30. data/lib/decidim/direct_verifications/authorize_user.rb +64 -0
  31. data/lib/decidim/direct_verifications/instrumenter.rb +58 -0
  32. data/lib/decidim/direct_verifications/parsers.rb +11 -0
  33. data/lib/decidim/direct_verifications/parsers/base_parser.rb +37 -0
  34. data/lib/decidim/direct_verifications/parsers/metadata_parser.rb +54 -0
  35. data/lib/decidim/direct_verifications/parsers/name_parser.rb +40 -0
  36. data/lib/decidim/direct_verifications/register_user.rb +54 -0
  37. data/lib/decidim/direct_verifications/revoke_user.rb +45 -0
  38. data/lib/decidim/direct_verifications/tests/factories.rb +11 -0
  39. data/lib/decidim/direct_verifications/tests/verification_controller_examples.rb +83 -0
  40. data/lib/decidim/direct_verifications/user_processor.rb +18 -98
  41. data/lib/decidim/direct_verifications/user_stats.rb +9 -6
  42. data/lib/decidim/direct_verifications/verification/admin_engine.rb +6 -1
  43. data/lib/decidim/direct_verifications/version.rb +3 -2
  44. metadata +38 -9
  45. data/lib/decidim/direct_verifications/config.rb +0 -23
@@ -22,7 +22,7 @@ module Decidim
22
22
  end
23
23
 
24
24
  def unconfirmed
25
- registered_users.where("decidim_users.confirmed_at IS NULL").count
25
+ registered_users.where(decidim_users: { confirmed_at: nil }).count
26
26
  end
27
27
 
28
28
  def authorized
@@ -30,7 +30,7 @@ module Decidim
30
30
  end
31
31
 
32
32
  def authorized_unconfirmed
33
- authorized_users.where("decidim_users.confirmed_at IS NULL").count
33
+ authorized_users.where(decidim_users: { confirmed_at: nil }).count
34
34
  end
35
35
 
36
36
  private
@@ -39,12 +39,12 @@ module Decidim
39
39
  if authorization_handler.empty?
40
40
  filter = { decidim_organization_id: organization.id }
41
41
  filter[:email] = emails unless emails.empty?
42
- return User.where(filter).where.not(email: '')
42
+ return User.where(filter).where.not(email: "")
43
43
  end
44
- authorized_users(false)
44
+ authorized_users(strict: false)
45
45
  end
46
46
 
47
- def authorized_users(strict = true)
47
+ def authorized_users(strict: true)
48
48
  q = Decidim::Authorization.joins(:user)
49
49
  unless authorization_handler.empty?
50
50
  q = q.where(name: authorization_handler)
@@ -55,17 +55,20 @@ module Decidim
55
55
  end
56
56
  q = q.where("decidim_users.decidim_organization_id=:org and decidim_users.email!=''", org: organization.id)
57
57
  return q if emails.empty?
58
- q.where("decidim_users.email IN (:emails)", emails: emails)
58
+
59
+ q.where(decidim_users: { email: emails })
59
60
  end
60
61
 
61
62
  def expires_in
62
63
  return unless workflow_manifest
63
64
  return if workflow_manifest.expires_in.zero?
65
+
64
66
  workflow_manifest.expires_in
65
67
  end
66
68
 
67
69
  def workflow_manifest
68
70
  return if authorization_handler.empty?
71
+
69
72
  @workflow_manifest ||= Decidim::Verifications.find_workflow_manifest(authorization_handler)
70
73
  end
71
74
  end
@@ -10,12 +10,17 @@ module Decidim
10
10
  routes do
11
11
  resources :direct_verifications, only: [:index, :create, :stats]
12
12
  resources :stats, only: [:index]
13
+ resources :authorizations, only: [:index, :destroy]
14
+ resources :imports, only: [:new, :create]
13
15
 
14
16
  root to: "direct_verifications#index"
15
17
  end
16
18
 
17
19
  initializer "decidim_direct_verifications.admin_assets" do |app|
18
- app.config.assets.precompile += %w(direct_verifications_admin_manifest.js)
20
+ app.config.assets.precompile += %w(
21
+ direct_verifications_admin_manifest.js
22
+ direct_verifications_admin_manifest.css
23
+ )
19
24
  end
20
25
  end
21
26
  end
@@ -3,7 +3,8 @@
3
3
  module Decidim
4
4
  # This holds the decidim-direct_verifications version.
5
5
  module DirectVerifications
6
- VERSION = "0.17.8"
7
- DECIDIM_VERSION = ">= 0.17.1"
6
+ VERSION = "1.0"
7
+ DECIDIM_VERSION = "0.24.3"
8
+ MIN_DECIDIM_VERSION = ">= 0.23.0"
8
9
  end
9
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-direct_verifications
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.8
4
+ version: '1.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Vergés
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-12 00:00:00.000000000 Z
11
+ date: 2021-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-admin
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.17.1
19
+ version: 0.23.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.17.1
26
+ version: 0.23.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: decidim-core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.17.1
33
+ version: 0.23.0
34
34
  type: :runtime
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.17.1
40
+ version: 0.23.0
41
41
  description: Provides a verification method that also registers users directly in
42
42
  the platform. Can be used to mass verificate user with other verification handlers
43
43
  email:
@@ -49,23 +49,52 @@ files:
49
49
  - LICENSE-AGPLv3.txt
50
50
  - README.md
51
51
  - Rakefile
52
+ - app/assets/config/direct_verifications_admin_manifest.css
52
53
  - app/assets/config/direct_verifications_admin_manifest.js
53
54
  - app/assets/javascripts/decidim/direct_verifications/verification/admin/direct_verifications_admin.js.es6
55
+ - app/assets/stylesheets/decidim/direct_verifications/authorizations.scss
54
56
  - app/commands/decidim/direct_verifications/verification/confirm_user_authorization.rb
57
+ - app/commands/decidim/direct_verifications/verification/create_import.rb
55
58
  - app/commands/decidim/direct_verifications/verification/destroy_user_authorization.rb
59
+ - app/controllers/decidim/direct_verifications/verification/admin/authorizations_controller.rb
56
60
  - app/controllers/decidim/direct_verifications/verification/admin/direct_verifications_controller.rb
61
+ - app/controllers/decidim/direct_verifications/verification/admin/imports_controller.rb
57
62
  - app/controllers/decidim/direct_verifications/verification/admin/stats_controller.rb
58
63
  - app/controllers/decidim/direct_verifications/verification/authorizations_controller.rb
64
+ - app/forms/decidim/direct_verifications/registration_form.rb
65
+ - app/forms/decidim/direct_verifications/verification/create_import_form.rb
59
66
  - app/forms/decidim/direct_verifications/verification/direct_verifications_form.rb
67
+ - app/jobs/decidim/direct_verifications/authorize_users_job.rb
68
+ - app/jobs/decidim/direct_verifications/base_import_job.rb
69
+ - app/jobs/decidim/direct_verifications/register_users_job.rb
70
+ - app/jobs/decidim/direct_verifications/revoke_users_job.rb
71
+ - app/mailers/decidim/direct_verifications/import_mailer.rb
72
+ - app/mailers/decidim/direct_verifications/stats.rb
73
+ - app/views/decidim/direct_verifications/import_mailer/finished_processing.html.erb
74
+ - app/views/decidim/direct_verifications/import_mailer/finished_processing.text.erb
75
+ - app/views/decidim/direct_verifications/verification/admin/authorizations/index.html.erb
60
76
  - app/views/decidim/direct_verifications/verification/admin/direct_verifications/index.html.erb
77
+ - app/views/decidim/direct_verifications/verification/admin/imports/new.html.erb
61
78
  - app/views/decidim/direct_verifications/verification/admin/stats/index.html.erb
62
79
  - app/views/devise/mailer/direct_invite.html.erb
63
80
  - app/views/devise/mailer/direct_invite.text.erb
81
+ - config/initializers/mail_previews.rb
64
82
  - config/locales/ca.yml
83
+ - config/locales/cs.yml
65
84
  - config/locales/en.yml
66
85
  - config/locales/es.yml
86
+ - config/locales/fr.yml
67
87
  - lib/decidim/direct_verifications.rb
68
- - lib/decidim/direct_verifications/config.rb
88
+ - lib/decidim/direct_verifications/authorize_user.rb
89
+ - lib/decidim/direct_verifications/instrumenter.rb
90
+ - lib/decidim/direct_verifications/parsers.rb
91
+ - lib/decidim/direct_verifications/parsers/base_parser.rb
92
+ - lib/decidim/direct_verifications/parsers/metadata_parser.rb
93
+ - lib/decidim/direct_verifications/parsers/name_parser.rb
94
+ - lib/decidim/direct_verifications/register_user.rb
95
+ - lib/decidim/direct_verifications/revoke_user.rb
96
+ - lib/decidim/direct_verifications/tests/factories.rb
97
+ - lib/decidim/direct_verifications/tests/verification_controller_examples.rb
69
98
  - lib/decidim/direct_verifications/user_processor.rb
70
99
  - lib/decidim/direct_verifications/user_stats.rb
71
100
  - lib/decidim/direct_verifications/verification.rb
@@ -86,14 +115,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
115
  requirements:
87
116
  - - ">="
88
117
  - !ruby/object:Gem::Version
89
- version: '2.5'
118
+ version: '2.7'
90
119
  required_rubygems_version: !ruby/object:Gem::Requirement
91
120
  requirements:
92
121
  - - ">="
93
122
  - !ruby/object:Gem::Version
94
123
  version: '0'
95
124
  requirements: []
96
- rubygems_version: 3.0.3
125
+ rubygems_version: 3.1.4
97
126
  signing_key:
98
127
  specification_version: 4
99
128
  summary: A decidim batch direct registration and verification module
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module DirectVerifications
5
- class << self
6
- attr_accessor :config
7
- def configure
8
- yield self.config ||= Config.new
9
- end
10
- end
11
-
12
- class Config
13
- attr_reader :manage_workflows
14
- def manage_workflows=(manage_workflows)
15
- @manage_workflows.concat(manage_workflows).uniq!
16
- end
17
-
18
- def initialize
19
- @manage_workflows = ["direct_verifications"]
20
- end
21
- end
22
- end
23
- end