egov_utils 0.4.16 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 468a3e3707028c65d702784c7954712c1e89e73c23bf84b61109d9caf73513bd
4
- data.tar.gz: 9aed28508bf75995324770966307ac293e630de58a46ee22c10572ea6a457d38
3
+ metadata.gz: 2d2e1d5673dcde5b5b71dfc3c0ff99b58358b0cffd8aa96e34d08a2792d89701
4
+ data.tar.gz: f98cff1bdc1746110b2be974637e3e709bb4c5d04276f817ac6c38a00ad59128
5
5
  SHA512:
6
- metadata.gz: 7b5077fa2c120314964b8b62057762741d3839b64f84533896a21d348f81a03c76dc2837a4a860eb607c3b42805fb861a4addbfdaf2168f7d44d6e7818bf57bd
7
- data.tar.gz: ce5e980887007a9286bd9b7dd690e79870f25c0120400a9fa456e47be01730d077afbe58bdcc9d6291c8d0637d203147d6e5cf691164acf855bd47c2399e599d
6
+ metadata.gz: fbb27b66ed09a7ae7db1d8ced5521e26b21c1ba24cf07a6173969dbc9d09938bcdf22579cfa3b879bdb263ef71a2b4bc27d8b988745eabf14224b755a621762f
7
+ data.tar.gz: a3c4478a134879f7598dd57eb1e476253cf3828c587aa114914809a966ab68ee61176d58d22e145cc26f3a64a9965f8f9dd58f5e63b895ab48871a79b7983089
@@ -1,9 +1,9 @@
1
1
  ActiveSupport::Reloader.to_prepare do
2
2
  begin
3
- require_dependency "#{Rails.application.class.parent_name.underscore}/roles"
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.parent_name.underscore}/roles."
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 << self.class.default_role if self.class.default_role && !@all_role_names.any?
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::LdapError,
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
 
@@ -1,3 +1,3 @@
1
1
  module EgovUtils
2
- VERSION = '0.4.16'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -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,11 @@
1
+ FactoryBot.define do
2
+ factory :egov_utils_address, class: 'EgovUtils::Address' do
3
+ street { 'Vysoka' }
4
+ house_number { '156' }
5
+ orientation_number { '6a' }
6
+ city { 'Palermo' }
7
+ postcode { 42000 }
8
+ district { 'Hlavní město Praha' }
9
+ end
10
+
11
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :egov_utils_group, class: 'EgovUtils::Group' do
3
+ name { 'EgovUsers' }
4
+ provider { 'main' }
5
+ ldap_uid { 'S-1-5-21-1698188384-1693678267-1543859470-6637' }
6
+ external_uid { 'DN=Linux,OU=Users,DC=test,DC=justice,DC=cz' }
7
+ end
8
+ 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.16
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: 2019-04-08 00:00:00.000000000 Z
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.2'
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.2'
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: '5.0'
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: '5.0'
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: '2.0'
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: '2.0'
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.3'
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.3'
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.0.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