decidim-direct_verifications 0.22 → 1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +33 -3
  3. data/app/commands/decidim/direct_verifications/verification/create_import.rb +59 -0
  4. data/app/controllers/decidim/direct_verifications/verification/admin/authorizations_controller.rb +42 -0
  5. data/app/controllers/decidim/direct_verifications/verification/admin/direct_verifications_controller.rb +22 -20
  6. data/app/controllers/decidim/direct_verifications/verification/admin/imports_controller.rb +55 -0
  7. data/app/forms/decidim/direct_verifications/registration_form.rb +8 -0
  8. data/app/forms/decidim/direct_verifications/verification/create_import_form.rb +43 -0
  9. data/app/jobs/decidim/direct_verifications/authorize_users_job.rb +36 -0
  10. data/app/jobs/decidim/direct_verifications/base_import_job.rb +54 -0
  11. data/app/jobs/decidim/direct_verifications/register_users_job.rb +20 -0
  12. data/app/jobs/decidim/direct_verifications/revoke_users_job.rb +18 -0
  13. data/app/mailers/decidim/direct_verifications/import_mailer.rb +27 -0
  14. data/app/mailers/decidim/direct_verifications/stats.rb +23 -0
  15. data/app/packs/entrypoints/decidim_direct_verifications.js +4 -0
  16. data/app/packs/entrypoints/decidim_direct_verifications.scss +1 -0
  17. data/app/packs/src/decidim/direct_verifications/admin/checkboxes.js +7 -0
  18. data/app/packs/stylesheets/decidim/direct_verifications/admin/authorizations.scss +17 -0
  19. data/app/views/decidim/direct_verifications/import_mailer/finished_processing.html.erb +7 -0
  20. data/app/views/decidim/direct_verifications/import_mailer/finished_processing.text.erb +7 -0
  21. data/app/views/decidim/direct_verifications/verification/admin/authorizations/index.html.erb +43 -0
  22. data/app/views/decidim/direct_verifications/verification/admin/direct_verifications/index.html.erb +5 -4
  23. data/app/views/decidim/direct_verifications/verification/admin/imports/new.html.erb +50 -0
  24. data/config/assets.rb +24 -0
  25. data/config/initializers/mail_previews.rb +5 -0
  26. data/config/locales/ca.yml +47 -33
  27. data/config/locales/cs.yml +84 -0
  28. data/config/locales/en.yml +44 -13
  29. data/config/locales/es.yml +45 -31
  30. data/config/locales/fr.yml +84 -0
  31. data/lib/decidim/direct_verifications/authorize_user.rb +64 -0
  32. data/lib/decidim/direct_verifications/instrumenter.rb +58 -0
  33. data/lib/decidim/direct_verifications/parsers/base_parser.rb +37 -0
  34. data/lib/decidim/direct_verifications/parsers/metadata_parser.rb +48 -0
  35. data/lib/decidim/direct_verifications/parsers/name_parser.rb +40 -0
  36. data/lib/decidim/direct_verifications/parsers.rb +11 -0
  37. data/lib/decidim/direct_verifications/register_user.rb +54 -0
  38. data/lib/decidim/direct_verifications/revoke_user.rb +45 -0
  39. data/lib/decidim/direct_verifications/tests/factories.rb +11 -0
  40. data/lib/decidim/direct_verifications/tests/verification_controller_examples.rb +13 -8
  41. data/lib/decidim/direct_verifications/user_processor.rb +17 -101
  42. data/lib/decidim/direct_verifications/user_stats.rb +5 -5
  43. data/lib/decidim/direct_verifications/verification/admin_engine.rb +4 -2
  44. data/lib/decidim/direct_verifications/version.rb +3 -3
  45. data/lib/decidim/direct_verifications.rb +24 -1
  46. data/package.json +192 -0
  47. metadata +41 -11
  48. data/app/assets/config/direct_verifications_admin_manifest.js +0 -1
  49. data/app/assets/javascripts/decidim/direct_verifications/verification/admin/direct_verifications_admin.js.es6 +0 -7
  50. data/lib/decidim/direct_verifications/config.rb +0 -23
data/package.json ADDED
@@ -0,0 +1,192 @@
1
+ {
2
+ "name": "decidim-verifications-direct_verifications",
3
+ "version": "1.1.0",
4
+ "description": "A tool for Decidim that allows to track time spent by volunteers doing any arbitrary task",
5
+ "scripts": {
6
+ "lint": "eslint -c .eslintrc.json --ext .js app/packs/",
7
+ "lint-fix": "eslint -c .eslintrc.json --ext .js app/packs/ --fix",
8
+ "stylelint": "stylelint **/*.scss",
9
+ "stylelint-fix": "stylelint **/*.scss --fix"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/Platoniq/decidim-verifications-direct_verifications.git"
14
+ },
15
+ "keywords": [
16
+ "decidim"
17
+ ],
18
+ "author": "ivan@platoniq.net",
19
+ "license": "AGPL-3.0-or-later",
20
+ "bugs": {
21
+ "url": "https://github.com/Platoniq/decidim-verifications-direct_verifications/issues"
22
+ },
23
+ "homepage": "https://github.com/Platoniq/decidim-verifications-direct_verifications#readme",
24
+ "stylelint": {
25
+ "rules": {
26
+ "at-rule-empty-line-before": [
27
+ "always",
28
+ {
29
+ "except": [
30
+ "blockless-after-same-name-blockless",
31
+ "first-nested"
32
+ ],
33
+ "ignore": [
34
+ "after-comment"
35
+ ],
36
+ "ignoreAtRules": [
37
+ "else"
38
+ ]
39
+ }
40
+ ],
41
+ "at-rule-name-case": "lower",
42
+ "at-rule-semicolon-newline-after": "always",
43
+ "block-closing-brace-empty-line-before": "never",
44
+ "block-closing-brace-newline-after": "always",
45
+ "block-closing-brace-newline-before": "always-multi-line",
46
+ "block-closing-brace-space-before": "always-single-line",
47
+ "block-no-empty": true,
48
+ "block-opening-brace-newline-after": "always-multi-line",
49
+ "block-opening-brace-space-after": "always-single-line",
50
+ "block-opening-brace-space-before": "always",
51
+ "color-hex-case": "lower",
52
+ "color-hex-length": "short",
53
+ "color-no-invalid-hex": true,
54
+ "comment-empty-line-before": [
55
+ "always",
56
+ {
57
+ "except": [
58
+ "first-nested"
59
+ ],
60
+ "ignore": [
61
+ "stylelint-commands"
62
+ ]
63
+ }
64
+ ],
65
+ "comment-no-empty": true,
66
+ "comment-whitespace-inside": "always",
67
+ "custom-property-empty-line-before": [
68
+ "always",
69
+ {
70
+ "except": [
71
+ "after-custom-property",
72
+ "first-nested"
73
+ ],
74
+ "ignore": [
75
+ "after-comment",
76
+ "inside-single-line-block"
77
+ ]
78
+ }
79
+ ],
80
+ "declaration-bang-space-after": "never",
81
+ "declaration-bang-space-before": "always",
82
+ "declaration-block-no-duplicate-properties": [
83
+ true,
84
+ {
85
+ "ignore": [
86
+ "consecutive-duplicates-with-different-values"
87
+ ]
88
+ }
89
+ ],
90
+ "declaration-block-no-redundant-longhand-properties": true,
91
+ "declaration-block-no-shorthand-property-overrides": true,
92
+ "declaration-block-semicolon-newline-after": "always-multi-line",
93
+ "declaration-block-semicolon-space-after": "always-single-line",
94
+ "declaration-block-semicolon-space-before": "never",
95
+ "declaration-block-single-line-max-declarations": 1,
96
+ "declaration-block-trailing-semicolon": "always",
97
+ "declaration-colon-newline-after": "always-multi-line",
98
+ "declaration-colon-space-after": "always-single-line",
99
+ "declaration-colon-space-before": "never",
100
+ "declaration-empty-line-before": [
101
+ "always",
102
+ {
103
+ "except": [
104
+ "after-declaration",
105
+ "first-nested"
106
+ ],
107
+ "ignore": [
108
+ "after-comment",
109
+ "inside-single-line-block"
110
+ ]
111
+ }
112
+ ],
113
+ "function-calc-no-unspaced-operator": true,
114
+ "function-comma-newline-after": "always-multi-line",
115
+ "function-comma-space-after": "always-single-line",
116
+ "function-comma-space-before": "never",
117
+ "function-linear-gradient-no-nonstandard-direction": true,
118
+ "function-max-empty-lines": 0,
119
+ "function-name-case": "lower",
120
+ "function-parentheses-newline-inside": "always-multi-line",
121
+ "function-parentheses-space-inside": "never-single-line",
122
+ "function-whitespace-after": "always",
123
+ "indentation": 2,
124
+ "keyframe-declaration-no-important": true,
125
+ "length-zero-no-unit": true,
126
+ "max-empty-lines": 1,
127
+ "media-feature-colon-space-after": "always",
128
+ "media-feature-colon-space-before": "never",
129
+ "media-feature-name-case": "lower",
130
+ "media-feature-name-no-unknown": true,
131
+ "media-feature-parentheses-space-inside": "never",
132
+ "media-feature-range-operator-space-after": "always",
133
+ "media-feature-range-operator-space-before": "always",
134
+ "media-query-list-comma-newline-after": "always-multi-line",
135
+ "media-query-list-comma-space-after": "always-single-line",
136
+ "media-query-list-comma-space-before": "never",
137
+ "no-empty-source": true,
138
+ "no-eol-whitespace": true,
139
+ "no-extra-semicolons": true,
140
+ "no-invalid-double-slash-comments": true,
141
+ "no-missing-end-of-source-newline": true,
142
+ "number-leading-zero": "never",
143
+ "number-no-trailing-zeros": true,
144
+ "property-case": "lower",
145
+ "property-no-unknown": true,
146
+ "rule-empty-line-before": [
147
+ "always-multi-line",
148
+ {
149
+ "except": [
150
+ "first-nested"
151
+ ],
152
+ "ignore": [
153
+ "after-comment"
154
+ ]
155
+ }
156
+ ],
157
+ "selector-attribute-brackets-space-inside": "never",
158
+ "selector-attribute-operator-space-after": "never",
159
+ "selector-attribute-operator-space-before": "never",
160
+ "selector-combinator-space-after": "always",
161
+ "selector-combinator-space-before": "always",
162
+ "selector-descendant-combinator-no-non-space": true,
163
+ "selector-list-comma-newline-after": "always",
164
+ "selector-list-comma-space-before": "never",
165
+ "selector-max-empty-lines": 0,
166
+ "selector-pseudo-class-case": "lower",
167
+ "selector-pseudo-class-no-unknown": true,
168
+ "selector-pseudo-class-parentheses-space-inside": "never",
169
+ "selector-pseudo-element-case": "lower",
170
+ "selector-pseudo-element-colon-notation": "double",
171
+ "selector-pseudo-element-no-unknown": true,
172
+ "selector-type-case": "lower",
173
+ "selector-type-no-unknown": true,
174
+ "shorthand-property-no-redundant-values": true,
175
+ "string-no-newline": true,
176
+ "unit-case": "lower",
177
+ "unit-no-unknown": true,
178
+ "value-list-comma-newline-after": "always-multi-line",
179
+ "value-list-comma-space-after": "always-single-line",
180
+ "value-list-comma-space-before": "never",
181
+ "value-list-max-empty-lines": 0
182
+ }
183
+ },
184
+ "devDependencies": {
185
+ "eslint": "^7.32.0",
186
+ "eslint": "^7.25.0",
187
+ "eslint-config-prettier": "^8.2.0",
188
+ "eslint-config-standard": "^11.0.0",
189
+ "eslint-plugin-import": "^2.22.0",
190
+ "stylelint": "13.11.0"
191
+ }
192
+ }
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.22'
4
+ version: '1.1'
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: 2020-11-12 00:00:00.000000000 Z
11
+ date: 2022-03-02 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.22.0
19
+ version: 0.25.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.22.0
26
+ version: 0.25.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.22.0
33
+ version: 0.25.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.22.0
40
+ version: 0.25.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.js
53
- - app/assets/javascripts/decidim/direct_verifications/verification/admin/direct_verifications_admin.js.es6
54
52
  - app/commands/decidim/direct_verifications/verification/confirm_user_authorization.rb
53
+ - app/commands/decidim/direct_verifications/verification/create_import.rb
55
54
  - app/commands/decidim/direct_verifications/verification/destroy_user_authorization.rb
55
+ - app/controllers/decidim/direct_verifications/verification/admin/authorizations_controller.rb
56
56
  - app/controllers/decidim/direct_verifications/verification/admin/direct_verifications_controller.rb
57
+ - app/controllers/decidim/direct_verifications/verification/admin/imports_controller.rb
57
58
  - app/controllers/decidim/direct_verifications/verification/admin/stats_controller.rb
58
59
  - app/controllers/decidim/direct_verifications/verification/authorizations_controller.rb
60
+ - app/forms/decidim/direct_verifications/registration_form.rb
61
+ - app/forms/decidim/direct_verifications/verification/create_import_form.rb
59
62
  - app/forms/decidim/direct_verifications/verification/direct_verifications_form.rb
63
+ - app/jobs/decidim/direct_verifications/authorize_users_job.rb
64
+ - app/jobs/decidim/direct_verifications/base_import_job.rb
65
+ - app/jobs/decidim/direct_verifications/register_users_job.rb
66
+ - app/jobs/decidim/direct_verifications/revoke_users_job.rb
67
+ - app/mailers/decidim/direct_verifications/import_mailer.rb
68
+ - app/mailers/decidim/direct_verifications/stats.rb
69
+ - app/packs/entrypoints/decidim_direct_verifications.js
70
+ - app/packs/entrypoints/decidim_direct_verifications.scss
71
+ - app/packs/src/decidim/direct_verifications/admin/checkboxes.js
72
+ - app/packs/stylesheets/decidim/direct_verifications/admin/authorizations.scss
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/assets.rb
82
+ - config/initializers/mail_previews.rb
64
83
  - config/locales/ca.yml
84
+ - config/locales/cs.yml
65
85
  - config/locales/en.yml
66
86
  - config/locales/es.yml
87
+ - config/locales/fr.yml
67
88
  - lib/decidim/direct_verifications.rb
68
- - lib/decidim/direct_verifications/config.rb
89
+ - lib/decidim/direct_verifications/authorize_user.rb
90
+ - lib/decidim/direct_verifications/instrumenter.rb
91
+ - lib/decidim/direct_verifications/parsers.rb
92
+ - lib/decidim/direct_verifications/parsers/base_parser.rb
93
+ - lib/decidim/direct_verifications/parsers/metadata_parser.rb
94
+ - lib/decidim/direct_verifications/parsers/name_parser.rb
95
+ - lib/decidim/direct_verifications/register_user.rb
96
+ - lib/decidim/direct_verifications/revoke_user.rb
97
+ - lib/decidim/direct_verifications/tests/factories.rb
69
98
  - lib/decidim/direct_verifications/tests/verification_controller_examples.rb
70
99
  - lib/decidim/direct_verifications/user_processor.rb
71
100
  - lib/decidim/direct_verifications/user_stats.rb
@@ -75,6 +104,7 @@ files:
75
104
  - lib/decidim/direct_verifications/verification/engine.rb
76
105
  - lib/decidim/direct_verifications/verification/workflow.rb
77
106
  - lib/decidim/direct_verifications/version.rb
107
+ - package.json
78
108
  homepage: https://github.com/Platoniq/decidim-verifications-direct_verifications
79
109
  licenses:
80
110
  - AGPL-3.0
@@ -87,14 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
87
117
  requirements:
88
118
  - - ">="
89
119
  - !ruby/object:Gem::Version
90
- version: '2.5'
120
+ version: '2.7'
91
121
  required_rubygems_version: !ruby/object:Gem::Requirement
92
122
  requirements:
93
123
  - - ">="
94
124
  - !ruby/object:Gem::Version
95
125
  version: '0'
96
126
  requirements: []
97
- rubygems_version: 3.0.3
127
+ rubygems_version: 3.1.6
98
128
  signing_key:
99
129
  specification_version: 4
100
130
  summary: A decidim batch direct registration and verification module
@@ -1 +0,0 @@
1
- //= link decidim/direct_verifications/verification/admin/direct_verifications_admin.js
@@ -1,7 +0,0 @@
1
- // = require_self
2
-
3
- $(() => {
4
- $('[type="checkbox"]#register').change(function () {
5
- $(this).closest('label').find('.callout').toggleClass('hide', !$(this).prop('checked'))
6
- })
7
- })
@@ -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