cats_core 1.0.40 → 1.0.44

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: 37b5451e19e51157d009365bb31175b4d944c3571fcb0d9b6ec3d3dcebb7289d
4
- data.tar.gz: 8b98610327bb324b7804b837c446883eb2853faeb244686bababae44d71b02ff
3
+ metadata.gz: 13bc9433b974cded9d6145d8bffc52e7669f3688b70ee861e5ad2c74110c3d2c
4
+ data.tar.gz: b8cdd5dae74d00d59ae9a75bf63aed63a8873dbd3a578b14c953ea2c52235a3a
5
5
  SHA512:
6
- metadata.gz: 132f9f7a5af86d83a87a8410490dcc0bd1a2134feb1da3fa8dd3eabe3508e9359369e0ec5aa15918e072fe5769f5645229f006c39c7fd070cbfb756b3ee3fad4
7
- data.tar.gz: 218d19acc42b5508c85f9b4e1f3c5b4112bf85b120114038d4f30af3ed4631d92e5dccee8c1f26931b24122d93c62a95ec92bf438785166da69c240306b0cc69
6
+ metadata.gz: 2ae137b536163fbf766211a80ef278eebd5b4ab45023076b9c429594dd08cc5a976ad07bf3a063b11a3d601968112cd274385a54f1578cc10f9126589bfdb7a4
7
+ data.tar.gz: 1433945abdd51c8a3f367920cb7ebe63d291d71448f7d617324352c9bc958a16abfe3ae888f4237e42274db0dcc9f59e4fb4a626ebc13e0a6dc8a09373f9058f
@@ -46,7 +46,7 @@ module Cats
46
46
  end
47
47
 
48
48
  def model_params
49
- params.require(:payload).permit(:name, :location_type, :description, :parent_id)
49
+ params.require(:payload).permit(:code, :name, :location_type, :description, :parent_id)
50
50
  end
51
51
  end
52
52
  end
@@ -8,14 +8,21 @@ module Cats
8
8
  belongs_to :donor
9
9
  belongs_to :hrp
10
10
  belongs_to :currency, optional: true
11
+ belongs_to :commodity_category, optional: true
12
+ belongs_to :unit_of_measure, optional: true
11
13
 
12
- validates :reference_no, :donation_type, :donated_on, presence: true
14
+ validates :reference_no, :amount, :donation_type, :donated_on, presence: true
13
15
  validates :reference_no, uniqueness: true
14
16
  validates :donation_type, inclusion: { in: DONATION_TYPES }
15
- validates :currency, :amount, presence: true, if: -> { donation_type == CASH }
17
+ validates :currency, presence: true, if: -> { donation_type == CASH }
18
+ validates :commodity_category, presence: true, if: -> { donation_type == KIND }
19
+ validates :unit_of_measure, presence: true, if: -> { donation_type == KIND }
16
20
 
17
21
  delegate(:name, to: :donor, prefix: true)
18
22
  delegate(:reference_no, to: :hrp, prefix: true)
23
+ delegate(:name, to: :commodity_category, prefix: true, allow_nil: true)
24
+ delegate(:code, to: :currency, prefix: true, allow_nil: true)
25
+ delegate(:abbreviation, to: :unit_of_measure, prefix: true, allow_nil: true)
19
26
  end
20
27
  end
21
28
  end
@@ -2,12 +2,9 @@ module Cats
2
2
  module Core
3
3
  class GiftCertificate < ApplicationRecord
4
4
  belongs_to :donation
5
- belongs_to :commodity_category
6
5
 
7
6
  validates :reference_no, presence: true, uniqueness: true
8
7
  validates :gift_date, presence: true
9
-
10
- delegate(:name, to: :commodity_category, prefix: true)
11
8
  end
12
9
  end
13
10
  end
@@ -9,6 +9,7 @@ module Cats
9
9
  MEHER = 'Meher'.freeze
10
10
  SEASONS = [BELG, MEHER].freeze
11
11
 
12
+ belongs_to :program
12
13
  belongs_to :ration, optional: true
13
14
  has_many :hrp_items
14
15
 
@@ -12,7 +12,8 @@ module Cats
12
12
 
13
13
  has_ancestry
14
14
 
15
- validates :name, :location_type, presence: true
15
+ validates :code, :name, :location_type, presence: true
16
+ validates :code, uniqueness: true
16
17
  validates :location_type, inclusion: { in: LOCATION_TYPES }
17
18
  validate :validate_location_parent
18
19
 
@@ -1,6 +1,7 @@
1
1
  class CreateCatsCoreLocations < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  create_table :cats_core_locations do |t|
4
+ t.string :code, unique: true
4
5
  t.string :name, null: false
5
6
  t.string :location_type, null: false
6
7
  t.string :description
@@ -6,6 +6,10 @@ class CreateCatsCoreHrps < ActiveRecord::Migration[6.1]
6
6
  t.string :season, null: false
7
7
  t.string :status, null: false, default: 'Draft'
8
8
 
9
+ t.references :program,
10
+ null: false,
11
+ index: { name: 'program_on_hrp_indx' },
12
+ foreign_key: { to_table: :cats_core_programs }
9
13
  t.references :ration,
10
14
  null: true,
11
15
  index: { name: 'ration_on_hrp_indx' },
@@ -12,11 +12,19 @@ class CreateCatsCoreDonations < ActiveRecord::Migration[6.1]
12
12
  null: false,
13
13
  index: { name: 'hrp_on_donation_indx' },
14
14
  foreign_key: { to_table: :cats_core_hrps }
15
- t.float :amount
15
+ t.float :amount, null: false
16
16
  t.references :currency,
17
17
  null: true,
18
18
  index: { name: 'currency_on_donation_indx' },
19
19
  foreign_key: { to_table: :cats_core_currencies }
20
+ t.references :commodity_category,
21
+ null: true,
22
+ index: { name: 'cc_on_donation_indx' },
23
+ foreign_key: { to_table: :cats_core_commodity_categories }
24
+ t.references :unit_of_measure,
25
+ null: true,
26
+ index: { name: 'uom_on_donation_indx' },
27
+ foreign_key: { to_table: :cats_core_unit_of_measures }
20
28
 
21
29
  t.timestamps
22
30
  end
@@ -8,10 +8,6 @@ class CreateCatsCoreGiftCertificates < ActiveRecord::Migration[6.1]
8
8
  null: false,
9
9
  index: { name: 'gc_on_donation_indx' },
10
10
  foreign_key: { to_table: :cats_core_donations }
11
- t.references :commodity_category,
12
- null: false,
13
- index: { name: 'gc_on_cc_indx' },
14
- foreign_key: { to_table: :cats_core_commodity_categories }
15
11
 
16
12
  t.string :vessel
17
13
  t.string :port
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.0.40'.freeze
3
+ VERSION = '1.0.44'.freeze
4
4
  end
5
5
  end
@@ -5,7 +5,9 @@ FactoryBot.define do
5
5
  donated_on { Date.today }
6
6
  donor
7
7
  hrp
8
- amount { nil }
8
+ amount { 100 }
9
9
  currency { nil }
10
+ commodity_category
11
+ unit_of_measure
10
12
  end
11
13
  end
@@ -3,7 +3,6 @@ FactoryBot.define do
3
3
  reference_no { FFaker::Name.name }
4
4
  gift_date { Date.today - 1.month }
5
5
  donation
6
- commodity_category
7
6
  vessel { FFaker::Name.name }
8
7
  port { FFaker::Name.name }
9
8
  customs_declaration_no { FFaker::Name.name }
@@ -4,6 +4,7 @@ FactoryBot.define do
4
4
  year { 1 }
5
5
  season { Cats::Core::Hrp::BELG }
6
6
  status { Cats::Core::Hrp::DRAFT }
7
+ program
7
8
  ration
8
9
  end
9
10
  end
@@ -1,5 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :location, class: 'Cats::Core::Location', aliases: [:parent] do
3
+ code { FFaker::Name.name }
3
4
  name { FFaker::Name.name }
4
5
  location_type { Cats::Core::Location::REGION }
5
6
  ancestry { nil }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cats_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.40
4
+ version: 1.0.44
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-19 00:00:00.000000000 Z
11
+ date: 2021-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers