egov_utils 0.4.16 → 0.5.1
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.
- checksums.yaml +4 -4
- data/app/models/ability.rb +2 -2
- data/app/models/egov_utils/user.rb +2 -4
- data/app/resources/egov_utils/organization.rb +9 -1
- data/lib/egov_utils/auth_source.rb +2 -2
- data/lib/egov_utils/version.rb +1 -1
- data/lib/tasks/egov_utils_tasks.rake +3 -0
- data/spec/factories/egov_utils_addresses.rb +11 -0
- data/spec/factories/egov_utils_groups.rb +8 -0
- data/spec/factories/egov_utils_people.rb +29 -0
- data/spec/factories/egov_utils_users.rb +12 -0
- metadata +93 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d2e1d5673dcde5b5b71dfc3c0ff99b58358b0cffd8aa96e34d08a2792d89701
|
4
|
+
data.tar.gz: f98cff1bdc1746110b2be974637e3e709bb4c5d04276f817ac6c38a00ad59128
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbb27b66ed09a7ae7db1d8ced5521e26b21c1ba24cf07a6173969dbc9d09938bcdf22579cfa3b879bdb263ef71a2b4bc27d8b988745eabf14224b755a621762f
|
7
|
+
data.tar.gz: a3c4478a134879f7598dd57eb1e476253cf3828c587aa114914809a966ab68ee61176d58d22e145cc26f3a64a9965f8f9dd58f5e63b895ab48871a79b7983089
|
data/app/models/ability.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
ActiveSupport::Reloader.to_prepare do
|
2
2
|
begin
|
3
|
-
require_dependency "#{Rails.application.class.
|
3
|
+
require_dependency "#{Rails.application.class.module_parent_name.underscore}/roles"
|
4
4
|
rescue LoadError => e
|
5
5
|
Rails.logger.warn "!! You have not defined roles."
|
6
|
-
Rails.logger.warn "!! Please define it in lib/#{Rails.application.class.
|
6
|
+
Rails.logger.warn "!! Please define it in lib/#{Rails.application.class.module_arent_name.underscore}/roles."
|
7
7
|
Rails.logger.warn "!! EgovUtils roles management will not work without it."
|
8
8
|
end
|
9
9
|
end
|
@@ -3,6 +3,7 @@ require 'request_store_rails'
|
|
3
3
|
|
4
4
|
module EgovUtils
|
5
5
|
class User < Principal
|
6
|
+
DEFAULT_ROLE = nil
|
6
7
|
|
7
8
|
has_and_belongs_to_many :groups
|
8
9
|
|
@@ -35,9 +36,6 @@ module EgovUtils
|
|
35
36
|
not_in_group(group).where(provider: nil)
|
36
37
|
}
|
37
38
|
|
38
|
-
cattr_accessor :default_role
|
39
|
-
self.default_role = nil
|
40
|
-
|
41
39
|
attribute :generate_password, :boolean, default: false
|
42
40
|
|
43
41
|
def self.authenticate(login, password, active_only=true)
|
@@ -129,7 +127,7 @@ module EgovUtils
|
|
129
127
|
@all_role_names ||= Rails.cache.fetch("#{cache_key}/all_role_names", expires_in: 1.hours) do
|
130
128
|
groups.collect{|g| g.roles}.reduce([], :concat) + roles
|
131
129
|
end
|
132
|
-
@all_role_names <<
|
130
|
+
@all_role_names << DEFAULT_ROLE if DEFAULT_ROLE && !@all_role_names.any?
|
133
131
|
@all_role_names
|
134
132
|
end
|
135
133
|
|
@@ -5,7 +5,8 @@ module EgovUtils
|
|
5
5
|
new(id: 1, name: 'Městský soud 1', key: '104000', category_abbrev: 'MS' ),
|
6
6
|
new(id: 2, name: 'Krajský soud 1', key: '204000', category_abbrev: 'KS' ),
|
7
7
|
new(id: 3, name: 'Krajský soud 2', key: '205000', category_abbrev: 'KS' ),
|
8
|
-
new(id: 13, name: 'Okresní soud 1', key: '204001', category_abbrev: 'OS' )
|
8
|
+
new(id: 13, name: 'Okresní soud 1', key: '204001', category_abbrev: 'OS' ),
|
9
|
+
new(id: 14, name: 'Okresní soud v Chomutově', key: '205030', category_abbrev: 'OS' )
|
9
10
|
]
|
10
11
|
end
|
11
12
|
|
@@ -13,6 +14,13 @@ module EgovUtils
|
|
13
14
|
all.detect{ |o| o.key == key }
|
14
15
|
end
|
15
16
|
|
17
|
+
def self.courts(organization_keys=nil)
|
18
|
+
all.select do |o|
|
19
|
+
%w{OS KS MS}.include?(o.category_abbrev) &&
|
20
|
+
(organization_keys.nil? || organization_keys.include?(o.key))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
16
24
|
def self.region_courts(branches=false)
|
17
25
|
all.select{ |o| %w{KS MS}.include?(o.category_abbrev) }
|
18
26
|
end
|
@@ -8,7 +8,7 @@ module EgovUtils
|
|
8
8
|
class AuthSource
|
9
9
|
|
10
10
|
NETWORK_EXCEPTIONS = [
|
11
|
-
Net::LDAP::
|
11
|
+
Net::LDAP::Error,
|
12
12
|
Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::ECONNRESET,
|
13
13
|
Errno::EHOSTDOWN, Errno::EHOSTUNREACH,
|
14
14
|
SocketError
|
@@ -338,7 +338,7 @@ module EgovUtils
|
|
338
338
|
attr_name.collect{|an| get_attr(entry, an).presence }.compact.first.to_s
|
339
339
|
elsif !attr_name.blank?
|
340
340
|
value = entry[attr_name].is_a?(Array) ? entry[attr_name].first : entry[attr_name]
|
341
|
-
value.to_s.force_encoding('UTF-8')
|
341
|
+
value.to_s.dup.force_encoding('UTF-8')
|
342
342
|
end
|
343
343
|
end
|
344
344
|
|
data/lib/egov_utils/version.rb
CHANGED
@@ -25,8 +25,10 @@ namespace :egov_utils do
|
|
25
25
|
.merge('password' => 'abcdefgh', 'password_confirmation' => 'abcdefgh')
|
26
26
|
end
|
27
27
|
users = EgovUtils::User.where.not(provider: nil).collect{|u| u.attributes.except('id', 'created_at', 'updated_at') }
|
28
|
+
groups = EgovUtils::Group.where.not(provider: nil).collect{|u| u.attributes.except('id', 'created_at', 'updated_at') }
|
28
29
|
DatabaseCleaner.clean_with :truncation
|
29
30
|
EgovUtils::User.create(users)
|
31
|
+
EgovUtils::Group.create(groups)
|
30
32
|
EgovUtils::User.create(admins).each do |admin|
|
31
33
|
attrs = admins.detect{ |a| a['login'] == admin.login }
|
32
34
|
admin.update_columns(password_digest: attrs['password_digest'])
|
@@ -34,6 +36,7 @@ namespace :egov_utils do
|
|
34
36
|
end
|
35
37
|
|
36
38
|
task load_staging_data: [:require_factory_bot, :cleanup_db] do
|
39
|
+
FactoryBot.find_definitions if Rails.env.staging?
|
37
40
|
require Rails.root.join('db', 'staging.rb')
|
38
41
|
end
|
39
42
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :egov_utils_person, class: 'EgovUtils::Person' do
|
3
|
+
transient do
|
4
|
+
natural_attributes { Hash.new }
|
5
|
+
end
|
6
|
+
association :residence, factory: :egov_utils_address
|
7
|
+
joid { SecureRandom.uuid }
|
8
|
+
person_type { nil }
|
9
|
+
natural_person { nil }
|
10
|
+
legal_person { nil }
|
11
|
+
|
12
|
+
trait :natural do
|
13
|
+
person_type { 'natural' }
|
14
|
+
after(:build) do |person, evaluator|
|
15
|
+
evaluator.natural_person = FactoryBot.build(:egov_utils_natural_person, evaluator.natural_attributes.merge(person: person))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
factory :natural_person, traits: [:natural]
|
20
|
+
end
|
21
|
+
|
22
|
+
factory :egov_utils_natural_person, class: 'EgovUtils::NaturalPerson' do
|
23
|
+
firstname { 'John' }
|
24
|
+
sequence(:lastname){|n| "Doe-#{n}"}
|
25
|
+
birth_date { Date.today - (Random.new.rand(50)+18).years }
|
26
|
+
association :person, factory: :egov_utils_person
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
FactoryBot.define do
|
2
|
+
factory :egov_utils_user, class: 'EgovUtils::User' do
|
3
|
+
firstname { 'John' }
|
4
|
+
lastname { 'Doe' }
|
5
|
+
login { mail }
|
6
|
+
sequence(:mail) {|n| "user#{n}@example.com"}
|
7
|
+
password { 'abcdef123456' }
|
8
|
+
password_confirmation { 'abcdef123456' }
|
9
|
+
active { true }
|
10
|
+
roles { [] }
|
11
|
+
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: egov_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondřej Ezr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '5.
|
19
|
+
version: '5.1'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '7'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '5.
|
29
|
+
version: '5.1'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '7'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: bcrypt
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +78,14 @@ dependencies:
|
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
81
|
+
version: '6.0'
|
76
82
|
type: :runtime
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
88
|
+
version: '6.0'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: i18n-js
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +162,14 @@ dependencies:
|
|
156
162
|
requirements:
|
157
163
|
- - "~>"
|
158
164
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
165
|
+
version: '3.0'
|
160
166
|
type: :runtime
|
161
167
|
prerelease: false
|
162
168
|
version_requirements: !ruby/object:Gem::Requirement
|
163
169
|
requirements:
|
164
170
|
- - "~>"
|
165
171
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
172
|
+
version: '3.0'
|
167
173
|
- !ruby/object:Gem::Dependency
|
168
174
|
name: money
|
169
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +184,20 @@ dependencies:
|
|
178
184
|
- - "~>"
|
179
185
|
- !ruby/object:Gem::Version
|
180
186
|
version: '6.11'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: therubyracer
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '0'
|
194
|
+
type: :runtime
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '0'
|
181
201
|
- !ruby/object:Gem::Dependency
|
182
202
|
name: request_store_rails
|
183
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -352,14 +372,14 @@ dependencies:
|
|
352
372
|
requirements:
|
353
373
|
- - "~>"
|
354
374
|
- !ruby/object:Gem::Version
|
355
|
-
version: '0.
|
375
|
+
version: '0.4'
|
356
376
|
type: :runtime
|
357
377
|
prerelease: false
|
358
378
|
version_requirements: !ruby/object:Gem::Requirement
|
359
379
|
requirements:
|
360
380
|
- - "~>"
|
361
381
|
- !ruby/object:Gem::Version
|
362
|
-
version: '0.
|
382
|
+
version: '0.4'
|
363
383
|
- !ruby/object:Gem::Dependency
|
364
384
|
name: egon_gate
|
365
385
|
requirement: !ruby/object:Gem::Requirement
|
@@ -388,6 +408,62 @@ dependencies:
|
|
388
408
|
- - "~>"
|
389
409
|
- !ruby/object:Gem::Version
|
390
410
|
version: '1.6'
|
411
|
+
- !ruby/object:Gem::Dependency
|
412
|
+
name: database_cleaner-active_record
|
413
|
+
requirement: !ruby/object:Gem::Requirement
|
414
|
+
requirements:
|
415
|
+
- - ">="
|
416
|
+
- !ruby/object:Gem::Version
|
417
|
+
version: '0'
|
418
|
+
type: :development
|
419
|
+
prerelease: false
|
420
|
+
version_requirements: !ruby/object:Gem::Requirement
|
421
|
+
requirements:
|
422
|
+
- - ">="
|
423
|
+
- !ruby/object:Gem::Version
|
424
|
+
version: '0'
|
425
|
+
- !ruby/object:Gem::Dependency
|
426
|
+
name: factory_bot_rails
|
427
|
+
requirement: !ruby/object:Gem::Requirement
|
428
|
+
requirements:
|
429
|
+
- - "~>"
|
430
|
+
- !ruby/object:Gem::Version
|
431
|
+
version: '4.0'
|
432
|
+
type: :development
|
433
|
+
prerelease: false
|
434
|
+
version_requirements: !ruby/object:Gem::Requirement
|
435
|
+
requirements:
|
436
|
+
- - "~>"
|
437
|
+
- !ruby/object:Gem::Version
|
438
|
+
version: '4.0'
|
439
|
+
- !ruby/object:Gem::Dependency
|
440
|
+
name: rspec-rails
|
441
|
+
requirement: !ruby/object:Gem::Requirement
|
442
|
+
requirements:
|
443
|
+
- - ">="
|
444
|
+
- !ruby/object:Gem::Version
|
445
|
+
version: '0'
|
446
|
+
type: :development
|
447
|
+
prerelease: false
|
448
|
+
version_requirements: !ruby/object:Gem::Requirement
|
449
|
+
requirements:
|
450
|
+
- - ">="
|
451
|
+
- !ruby/object:Gem::Version
|
452
|
+
version: '0'
|
453
|
+
- !ruby/object:Gem::Dependency
|
454
|
+
name: pry-rails
|
455
|
+
requirement: !ruby/object:Gem::Requirement
|
456
|
+
requirements:
|
457
|
+
- - ">="
|
458
|
+
- !ruby/object:Gem::Version
|
459
|
+
version: '0'
|
460
|
+
type: :development
|
461
|
+
prerelease: false
|
462
|
+
version_requirements: !ruby/object:Gem::Requirement
|
463
|
+
requirements:
|
464
|
+
- - ">="
|
465
|
+
- !ruby/object:Gem::Version
|
466
|
+
version: '0'
|
391
467
|
- !ruby/object:Gem::Dependency
|
392
468
|
name: sqlite3
|
393
469
|
requirement: !ruby/object:Gem::Requirement
|
@@ -567,6 +643,10 @@ files:
|
|
567
643
|
- lib/egov_utils/version.rb
|
568
644
|
- lib/grid/shield_grid.rb
|
569
645
|
- lib/tasks/egov_utils_tasks.rake
|
646
|
+
- spec/factories/egov_utils_addresses.rb
|
647
|
+
- spec/factories/egov_utils_groups.rb
|
648
|
+
- spec/factories/egov_utils_people.rb
|
649
|
+
- spec/factories/egov_utils_users.rb
|
570
650
|
- vendor/assets/fonts/Linotype.eot
|
571
651
|
- vendor/assets/fonts/Linotype.ttf
|
572
652
|
- vendor/assets/images/shieldui/editor.png
|
@@ -689,7 +769,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
689
769
|
- !ruby/object:Gem::Version
|
690
770
|
version: '0'
|
691
771
|
requirements: []
|
692
|
-
rubygems_version: 3.
|
772
|
+
rubygems_version: 3.1.6
|
693
773
|
signing_key:
|
694
774
|
specification_version: 4
|
695
775
|
summary: The eGoverment utilities is set of functionalities to support basic eGoverment
|