egov_utils 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/egov_utils/eGovUtilities.coffee.erb +1 -0
- data/app/controllers/egov_utils/people_controller.rb +18 -2
- data/app/models/egov_utils/person.rb +12 -1
- data/app/models/egov_utils/user.rb +7 -0
- data/app/services/egov_utils/refresh_user_groups.rb +1 -8
- data/config/routes.rb +3 -1
- data/db/migrate/20220624070709_migrate_person_residence_to_addresses.rb +20 -0
- data/lib/egov_utils/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3af04b2760bc38581e430b5ad1195fbf621e0ac1e2d013fb256be44ca6a3ce4
|
4
|
+
data.tar.gz: bee321a601dfc6cd190770b16f58dc10c001d75588ae25274f5d7ee33061863c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fb0a3419d585ab1cb4b5d8abf72204839fdb4d182720cefd0a2a2c0452b512fe6e52778676644e7a085bbedc21c1a3dd2e1b0437c691343e8b83f955529950f
|
7
|
+
data.tar.gz: e147fd2ecbee0e689636b62cec8865f3041f12a9aa9e3b8871d18e334bd61ba7498b883d08a021c0fff58598ac916e3f69df22201b8c08afc50cdc1a01a5a4d2
|
@@ -78,6 +78,7 @@ window.eGovUtilities =
|
|
78
78
|
initSelect2: ($container)->
|
79
79
|
$container ||= $(document)
|
80
80
|
$('[data-provide="select2"]', $container).select2(width: null)
|
81
|
+
$('[data-provide="select2"]', $container).trigger("select2:initialized")
|
81
82
|
|
82
83
|
destroySelect2: ($container)->
|
83
84
|
$container ||= $(document)
|
@@ -9,8 +9,8 @@ module EgovUtils
|
|
9
9
|
respond_to do |format|
|
10
10
|
if params['_type'] == 'query'
|
11
11
|
format.json{ render json: {
|
12
|
-
results: @people_schema.entities.includes(:residence).collect do |p|
|
13
|
-
{id: p.id, text: p.to_s, residence: p.residence.to_s}
|
12
|
+
results: @people_schema.entities.includes(:residence, :addresses).collect do |p|
|
13
|
+
{id: p.id, text: p.to_s, residence: p.residence.to_s, addresses: p.addresses}
|
14
14
|
end
|
15
15
|
}}
|
16
16
|
else
|
@@ -22,5 +22,21 @@ module EgovUtils
|
|
22
22
|
def show
|
23
23
|
end
|
24
24
|
|
25
|
+
def addresses
|
26
|
+
addresses = Address.where(person_id: params[:person_id])
|
27
|
+
|
28
|
+
render json: {
|
29
|
+
results: addresses.map do |a|
|
30
|
+
{
|
31
|
+
id: a.id,
|
32
|
+
text: a.to_s,
|
33
|
+
street: a.street,
|
34
|
+
number: a.number,
|
35
|
+
postcode: a.postcode,
|
36
|
+
city: a.city
|
37
|
+
}
|
38
|
+
end
|
39
|
+
}
|
40
|
+
end
|
25
41
|
end
|
26
42
|
end
|
@@ -1,7 +1,10 @@
|
|
1
1
|
module EgovUtils
|
2
2
|
class Person < ApplicationRecord
|
3
3
|
|
4
|
-
|
4
|
+
# This is kept for accepts_nested_attributes_for compatibility, but
|
5
|
+
# overloaded below.
|
6
|
+
has_one :residence, class_name: 'EgovUtils::Address'
|
7
|
+
has_many :addresses
|
5
8
|
has_one :natural_person, dependent: :destroy
|
6
9
|
has_one :legal_person, dependent: :destroy
|
7
10
|
|
@@ -22,6 +25,14 @@ module EgovUtils
|
|
22
25
|
end
|
23
26
|
end
|
24
27
|
|
28
|
+
def residence
|
29
|
+
addresses.order(created_at: :desc).first
|
30
|
+
end
|
31
|
+
|
32
|
+
def residence=(address)
|
33
|
+
addresses << address
|
34
|
+
end
|
35
|
+
|
25
36
|
def to_s
|
26
37
|
person_entity.to_s
|
27
38
|
end
|
@@ -142,6 +142,13 @@ module EgovUtils
|
|
142
142
|
all_role_names.map{|rn| EgovUtils::UserUtils::Role.find(rn) }.compact.collect{|cls| cls.new }
|
143
143
|
end
|
144
144
|
|
145
|
+
def ldap_dn
|
146
|
+
@ldap_dn ||= begin
|
147
|
+
dn = auth_source.send(:get_user_dn, login)
|
148
|
+
dn[:dn] if dn
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
145
152
|
def ldap_groups
|
146
153
|
groups.where.not(ldap_uid: nil)
|
147
154
|
end
|
@@ -15,19 +15,12 @@ module EgovUtils
|
|
15
15
|
|
16
16
|
attr_reader :user
|
17
17
|
|
18
|
-
def ldap_dn
|
19
|
-
@ldap_dn ||= begin
|
20
|
-
dn = user.auth_source.send(:get_user_dn, user.login)
|
21
|
-
dn[:dn] if dn
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
18
|
def ldap_groups
|
26
19
|
return [] if user.provider.blank?
|
27
20
|
|
28
21
|
@ldap_groups ||= begin
|
29
22
|
EgovUtils::Group.where(provider: user.provider).to_a.select do |g|
|
30
|
-
user.auth_source.member?(ldap_dn, g.external_uid)
|
23
|
+
user.auth_source.member?(user.ldap_dn, g.external_uid)
|
31
24
|
end
|
32
25
|
end
|
33
26
|
end
|
data/config/routes.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
class MigratePersonResidenceToAddresses < ActiveRecord::Migration[6.1]
|
2
|
+
def up
|
3
|
+
add_column :egov_utils_addresses, :person_id, :bigint, index: true
|
4
|
+
add_foreign_key :egov_utils_addresses, :egov_utils_people, column: :person_id
|
5
|
+
|
6
|
+
execute <<-SQL
|
7
|
+
UPDATE egov_utils_addresses
|
8
|
+
SET person_id = egov_utils_people.id
|
9
|
+
FROM egov_utils_people
|
10
|
+
WHERE egov_utils_addresses.id = egov_utils_people.residence_id;
|
11
|
+
SQL
|
12
|
+
|
13
|
+
remove_index :egov_utils_people, :residence_id
|
14
|
+
remove_column :egov_utils_people, :residence_id
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
raise ActiveRecord::IrreversibleMigration
|
19
|
+
end
|
20
|
+
end
|
data/lib/egov_utils/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: egov_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
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: 2022-
|
11
|
+
date: 2022-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -616,6 +616,7 @@ files:
|
|
616
616
|
- db/migrate/20180403150556_create_egov_utils_legal_people.rb
|
617
617
|
- db/migrate/20180424143207_add_titles_to_natural_people.rb
|
618
618
|
- db/migrate/20220331113917_add_days_before_inactive_to_egov_utils_users.rb
|
619
|
+
- db/migrate/20220624070709_migrate_person_residence_to_addresses.rb
|
619
620
|
- lib/azahara_schema_currency.rb
|
620
621
|
- lib/azahara_schema_currency/aggregation_attribute_patch.rb
|
621
622
|
- lib/azahara_schema_currency/association_attribute_patch.rb
|