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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46866bd8cd323b73b2c99ad7f027e7b3ae9042f871d93b9b5ca0f45677fe643e
4
- data.tar.gz: b233828c37f7dc42a4093aaee39ec5339f28e11ddd539910004803ba035be4eb
3
+ metadata.gz: c3af04b2760bc38581e430b5ad1195fbf621e0ac1e2d013fb256be44ca6a3ce4
4
+ data.tar.gz: bee321a601dfc6cd190770b16f58dc10c001d75588ae25274f5d7ee33061863c
5
5
  SHA512:
6
- metadata.gz: 5b165226cc59161621b0645957accb50a58e153c4f139aaf6a22b19772a22900f75b7a99b4ab84899a732820d25e43c14bea28546ac7b648e8205f64a6a476c5
7
- data.tar.gz: e25fd828cad3f7116847a65471415624493ccf04011987f5584a96bfb67598e3cff944ddc300947226b24232946bf696fa07b5b80d6c4e636ed9815dbf53fadd
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
- belongs_to :residence, class_name: 'EgovUtils::Address', optional: true
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
@@ -12,7 +12,9 @@ EgovUtils::Engine.routes.draw do
12
12
  get :confirm, on: :member
13
13
  end
14
14
 
15
- resources :people
15
+ resources :people do
16
+ get :addresses
17
+ end
16
18
 
17
19
  resources :groups do
18
20
  member do
@@ -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
@@ -1,3 +1,3 @@
1
1
  module EgovUtils
2
- VERSION = '1.0.1'
2
+ VERSION = '1.1.0'
3
3
  end
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.1
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-05-15 00:00:00.000000000 Z
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