egov_utils 1.0.3 → 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: 576311658a0feeaa6ba711f0bc142cfb6821c2df0ec1281bb2398bde8cb65ce1
4
- data.tar.gz: 30bf27b40fe249beac5a5ce3910b69f531f05e46d4f0ae1356230b1053241e07
3
+ metadata.gz: c3af04b2760bc38581e430b5ad1195fbf621e0ac1e2d013fb256be44ca6a3ce4
4
+ data.tar.gz: bee321a601dfc6cd190770b16f58dc10c001d75588ae25274f5d7ee33061863c
5
5
  SHA512:
6
- metadata.gz: 73be8c981f6919ae34fb88180035256efa58e444c750c706c0e734186143e0cefd1a48d0e943e56ff436fde3b494c2c8aea4d00214139fb6645d4a546d77023c
7
- data.tar.gz: 30092b5882299bcb5ed9aab8cf9d4d06f7aadd40816b94ae428e0ce1293879b375d666f5e6c399e3981f8359940ce207ca4e90bd0c42877e34503896d81fb5aa
6
+ metadata.gz: 3fb0a3419d585ab1cb4b5d8abf72204839fdb4d182720cefd0a2a2c0452b512fe6e52778676644e7a085bbedc21c1a3dd2e1b0437c691343e8b83f955529950f
7
+ data.tar.gz: e147fd2ecbee0e689636b62cec8865f3041f12a9aa9e3b8871d18e334bd61ba7498b883d08a021c0fff58598ac916e3f69df22201b8c08afc50cdc1a01a5a4d2
@@ -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
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.3'
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.3
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-06-01 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