cats_core 1.2.18 → 1.2.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/cats/core/commodity_substitution.rb +23 -0
- data/app/models/cats/core/donation.rb +2 -2
- data/app/models/cats/core/{hrp.rb → plan.rb} +2 -2
- data/app/models/cats/core/{hrp_item.rb → plan_item.rb} +4 -4
- data/app/models/cats/core/{hrp_item_detail.rb → plan_item_detail.rb} +3 -3
- data/app/models/cats/core/transport_bid_item.rb +1 -0
- data/db/migrate/{20210717031810_create_cats_core_hrps.rb → 20210717031810_create_cats_core_plans.rb} +4 -4
- data/db/migrate/20210717032024_create_cats_core_plan_items.rb +23 -0
- data/db/migrate/20210717032240_create_cats_core_plan_item_details.rb +18 -0
- data/db/migrate/20210717032330_create_cats_core_donations.rb +3 -3
- data/db/migrate/20211229160129_create_cats_core_commodity_substitutions.rb +23 -0
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/commodity_substitutions.rb +8 -0
- data/spec/factories/cats/core/donations.rb +1 -1
- data/spec/factories/cats/core/plan_item_details.rb +7 -0
- data/spec/factories/cats/core/{hrp_items.rb → plan_items.rb} +2 -2
- data/spec/factories/cats/core/plans.rb +10 -0
- metadata +13 -10
- data/db/migrate/20210717032024_create_cats_core_hrp_items.rb +0 -23
- data/db/migrate/20210717032240_create_cats_core_hrp_item_details.rb +0 -18
- data/spec/factories/cats/core/hrp_item_details.rb +0 -7
- data/spec/factories/cats/core/hrps.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5139b115f1503157e1d5f53a0a013b72d1296a0cd1fe808c1fd117a4a813830
|
4
|
+
data.tar.gz: eaf56d0ba167f6360144a4d7e6152eba2e0375b7c272ea271cfc9805178e781b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bad07930acac569a78aee9152527d95c390f48eb3a69070894c888a3ff8de74f07f0904730aa59446b17a9b1979a0cdbd8e898b23eeb231b1693f449f664be7b
|
7
|
+
data.tar.gz: ab180af55c2610e87a0f1f7f7f1031a8730f9cccbae2ea1c0f5bc58cc6cf219dfac657e3078624e2624f38230b950dd49d708d44691f8ed47db55652262852d3
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class CommoditySubstitution < ApplicationRecord
|
4
|
+
belongs_to :program
|
5
|
+
belongs_to :commodity, class_name: 'Cats::Core::CommodityCategory'
|
6
|
+
belongs_to :replaced_by, class_name: 'Cats::Core::CommodityCategory'
|
7
|
+
|
8
|
+
validates :ratio, presence: true
|
9
|
+
validates :program_id, uniqueness: { scope: %i[commodity_id replaced_by_id] }
|
10
|
+
validate :validate_ratio
|
11
|
+
|
12
|
+
def validate_ratio
|
13
|
+
return unless ratio
|
14
|
+
|
15
|
+
left, right = ratio.split(':')
|
16
|
+
left_correct = Integer(left).is_a?(Integer) rescue false
|
17
|
+
right_correct = Integer(right).is_a?(Integer) rescue false
|
18
|
+
|
19
|
+
errors.add(:ratio, 'is not in correct format.') unless left_correct && right_correct
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -6,7 +6,7 @@ module Cats
|
|
6
6
|
DONATION_TYPES = [CASH, KIND].freeze
|
7
7
|
|
8
8
|
belongs_to :donor
|
9
|
-
belongs_to :
|
9
|
+
belongs_to :plan
|
10
10
|
belongs_to :currency, optional: true
|
11
11
|
belongs_to :commodity_category, optional: true
|
12
12
|
belongs_to :unit_of_measure, optional: true
|
@@ -19,7 +19,7 @@ module Cats
|
|
19
19
|
validates :unit_of_measure, presence: true, if: -> { donation_type == KIND }
|
20
20
|
|
21
21
|
delegate(:name, to: :donor, prefix: true)
|
22
|
-
delegate(:reference_no, to: :
|
22
|
+
delegate(:reference_no, to: :plan, prefix: true)
|
23
23
|
delegate(:name, to: :commodity_category, prefix: true, allow_nil: true)
|
24
24
|
delegate(:code, to: :currency, prefix: true, allow_nil: true)
|
25
25
|
delegate(:abbreviation, to: :unit_of_measure, prefix: true, allow_nil: true)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
|
-
class
|
3
|
+
class Plan < ApplicationRecord
|
4
4
|
DRAFT = 'Draft'.freeze
|
5
5
|
APPROVED = 'Approved'.freeze
|
6
6
|
NEEDS_APPROVED = 'Needs Approved'.freeze
|
@@ -13,7 +13,7 @@ module Cats
|
|
13
13
|
|
14
14
|
belongs_to :program
|
15
15
|
belongs_to :ration, optional: true
|
16
|
-
has_many :
|
16
|
+
has_many :plan_items
|
17
17
|
|
18
18
|
validates :reference_no, :year, :status, presence: true
|
19
19
|
validates :season, presence: true, inclusion: { in: SEASONS }
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
|
-
class
|
4
|
-
belongs_to :
|
3
|
+
class PlanItem < ApplicationRecord
|
4
|
+
belongs_to :plan
|
5
5
|
belongs_to :woreda, -> { where(location_type: Cats::Core::Location::WOREDA) }, class_name: 'Cats::Core::Location'
|
6
6
|
belongs_to :operator
|
7
7
|
|
8
|
-
has_many :
|
8
|
+
has_many :plan_item_details
|
9
9
|
|
10
10
|
validates :beneficiaries, presence: true, numericality: { greater_than: 0 }
|
11
|
-
validates :
|
11
|
+
validates :plan_id, uniqueness: { scope: :woreda_id }
|
12
12
|
|
13
13
|
delegate(:name, to: :woreda, prefix: true)
|
14
14
|
delegate(:name, to: :operator, prefix: true)
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
|
-
class
|
4
|
-
belongs_to :
|
3
|
+
class PlanItemDetail < ApplicationRecord
|
4
|
+
belongs_to :plan_item
|
5
5
|
belongs_to :ration_item
|
6
6
|
|
7
7
|
validates :amount, presence: true, numericality: { greater_than: 0 }
|
8
|
-
validates :
|
8
|
+
validates :plan_item_id, uniqueness: { scope: :ration_item_id }
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/db/migrate/{20210717031810_create_cats_core_hrps.rb → 20210717031810_create_cats_core_plans.rb}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
class
|
1
|
+
class CreateCatsCorePlans < ActiveRecord::Migration[6.1]
|
2
2
|
def change
|
3
|
-
create_table :
|
3
|
+
create_table :cats_core_plans do |t|
|
4
4
|
t.string :reference_no, unique: true
|
5
5
|
t.integer :year, null: false
|
6
6
|
t.string :season, null: false
|
@@ -8,11 +8,11 @@ class CreateCatsCoreHrps < ActiveRecord::Migration[6.1]
|
|
8
8
|
|
9
9
|
t.references :program,
|
10
10
|
null: false,
|
11
|
-
index: { name: '
|
11
|
+
index: { name: 'program_on_plan_indx' },
|
12
12
|
foreign_key: { to_table: :cats_core_programs }
|
13
13
|
t.references :ration,
|
14
14
|
null: true,
|
15
|
-
index: { name: '
|
15
|
+
index: { name: 'ration_on_plan_indx' },
|
16
16
|
foreign_key: { to_table: :cats_core_rations }
|
17
17
|
|
18
18
|
t.timestamps
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateCatsCorePlanItems < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_plan_items do |t|
|
4
|
+
t.references :plan,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'plan_on_plan_items_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_plans }
|
8
|
+
t.references :woreda,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'woreda_on_plan_items_idnx' },
|
11
|
+
foreign_key: { to_table: :cats_core_locations }
|
12
|
+
t.integer :beneficiaries, null: false
|
13
|
+
t.references :operator,
|
14
|
+
null: false,
|
15
|
+
index: { name: 'operator_on_plan_items_indx' },
|
16
|
+
foreign_key: { to_table: :cats_core_operators }
|
17
|
+
|
18
|
+
t.timestamps
|
19
|
+
end
|
20
|
+
|
21
|
+
add_index :cats_core_plan_items, [:plan_id, :woreda_id], unique: true
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateCatsCorePlanItemDetails < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_plan_item_details do |t|
|
4
|
+
t.references :plan_item,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'pi_on_pid_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_plan_items }
|
8
|
+
t.references :ration_item,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'ri_on_pid_indx' },
|
11
|
+
foreign_key: { to_table: :cats_core_ration_items }
|
12
|
+
t.float :amount, null: false
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
add_index(:cats_core_plan_item_details, [:plan_item_id, :ration_item_id], unique: true, name: 'pii_rii_on_pid_indx')
|
17
|
+
end
|
18
|
+
end
|
@@ -8,10 +8,10 @@ class CreateCatsCoreDonations < ActiveRecord::Migration[6.1]
|
|
8
8
|
null: false,
|
9
9
|
index: { name: 'donor_on_donation_indx' },
|
10
10
|
foreign_key: { to_table: :cats_core_donors }
|
11
|
-
t.references :
|
11
|
+
t.references :plan,
|
12
12
|
null: false,
|
13
|
-
index: { name: '
|
14
|
-
foreign_key: { to_table: :
|
13
|
+
index: { name: 'plan_on_donation_indx' },
|
14
|
+
foreign_key: { to_table: :cats_core_plans }
|
15
15
|
t.float :amount, null: false
|
16
16
|
t.references :currency,
|
17
17
|
null: true,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateCatsCoreCommoditySubstitutions < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_commodity_substitutions do |t|
|
4
|
+
t.references :program,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'program_on_cs_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_programs }
|
8
|
+
t.references :commodity,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'commodity_on_cs_indx' },
|
11
|
+
foreign_key: { to_table: :cats_core_commodity_categories }
|
12
|
+
t.references :replaced_by,
|
13
|
+
null: false,
|
14
|
+
index: { name: 'rb_on_cs_indx' },
|
15
|
+
foreign_key: { to_table: :cats_core_commodity_categories }
|
16
|
+
t.string :ratio, null: false
|
17
|
+
|
18
|
+
t.timestamps
|
19
|
+
|
20
|
+
t.index [:program_id, :commodity_id, :replaced_by_id], unique: true, name: 'pcr_on_cs_indx'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/cats/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cats_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henock L.
|
@@ -256,6 +256,7 @@ files:
|
|
256
256
|
- app/models/cats/core/application_record.rb
|
257
257
|
- app/models/cats/core/commodity.rb
|
258
258
|
- app/models/cats/core/commodity_category.rb
|
259
|
+
- app/models/cats/core/commodity_substitution.rb
|
259
260
|
- app/models/cats/core/contract_item.rb
|
260
261
|
- app/models/cats/core/currency.rb
|
261
262
|
- app/models/cats/core/dispatch.rb
|
@@ -265,15 +266,15 @@ files:
|
|
265
266
|
- app/models/cats/core/donation.rb
|
266
267
|
- app/models/cats/core/donor.rb
|
267
268
|
- app/models/cats/core/gift_certificate.rb
|
268
|
-
- app/models/cats/core/hrp.rb
|
269
|
-
- app/models/cats/core/hrp_item.rb
|
270
|
-
- app/models/cats/core/hrp_item_detail.rb
|
271
269
|
- app/models/cats/core/location.rb
|
272
270
|
- app/models/cats/core/menu.rb
|
273
271
|
- app/models/cats/core/menu_item.rb
|
274
272
|
- app/models/cats/core/notification.rb
|
275
273
|
- app/models/cats/core/notification_rule.rb
|
276
274
|
- app/models/cats/core/operator.rb
|
275
|
+
- app/models/cats/core/plan.rb
|
276
|
+
- app/models/cats/core/plan_item.rb
|
277
|
+
- app/models/cats/core/plan_item_detail.rb
|
277
278
|
- app/models/cats/core/program.rb
|
278
279
|
- app/models/cats/core/purchase_order.rb
|
279
280
|
- app/models/cats/core/ration.rb
|
@@ -341,9 +342,9 @@ files:
|
|
341
342
|
- db/migrate/20210717031108_create_cats_core_donors.rb
|
342
343
|
- db/migrate/20210717031216_create_cats_core_rations.rb
|
343
344
|
- db/migrate/20210717031343_create_cats_core_ration_items.rb
|
344
|
-
- db/migrate/
|
345
|
-
- db/migrate/
|
346
|
-
- db/migrate/
|
345
|
+
- db/migrate/20210717031810_create_cats_core_plans.rb
|
346
|
+
- db/migrate/20210717032024_create_cats_core_plan_items.rb
|
347
|
+
- db/migrate/20210717032240_create_cats_core_plan_item_details.rb
|
347
348
|
- db/migrate/20210717032330_create_cats_core_donations.rb
|
348
349
|
- db/migrate/20210717032602_create_cats_core_gift_certificates.rb
|
349
350
|
- db/migrate/20210717032855_create_cats_core_purchase_orders.rb
|
@@ -372,6 +373,7 @@ files:
|
|
372
373
|
- db/migrate/20211229160126_create_cats_core_transport_offers.rb
|
373
374
|
- db/migrate/20211229160127_create_cats_core_transport_contracts.rb
|
374
375
|
- db/migrate/20211229160128_create_cats_core_contract_items.rb
|
376
|
+
- db/migrate/20211229160129_create_cats_core_commodity_substitutions.rb
|
375
377
|
- lib/cats/core.rb
|
376
378
|
- lib/cats/core/engine.rb
|
377
379
|
- lib/cats/core/version.rb
|
@@ -382,6 +384,7 @@ files:
|
|
382
384
|
- spec/factories/cats/core/application_modules.rb
|
383
385
|
- spec/factories/cats/core/commodities.rb
|
384
386
|
- spec/factories/cats/core/commodity_categories.rb
|
387
|
+
- spec/factories/cats/core/commodity_substitutions.rb
|
385
388
|
- spec/factories/cats/core/contract_items.rb
|
386
389
|
- spec/factories/cats/core/currencies.rb
|
387
390
|
- spec/factories/cats/core/dispatch_plan_items.rb
|
@@ -391,15 +394,15 @@ files:
|
|
391
394
|
- spec/factories/cats/core/donations.rb
|
392
395
|
- spec/factories/cats/core/donors.rb
|
393
396
|
- spec/factories/cats/core/gift_certificates.rb
|
394
|
-
- spec/factories/cats/core/hrp_item_details.rb
|
395
|
-
- spec/factories/cats/core/hrp_items.rb
|
396
|
-
- spec/factories/cats/core/hrps.rb
|
397
397
|
- spec/factories/cats/core/locations.rb
|
398
398
|
- spec/factories/cats/core/menu_items.rb
|
399
399
|
- spec/factories/cats/core/menus.rb
|
400
400
|
- spec/factories/cats/core/notification_rules.rb
|
401
401
|
- spec/factories/cats/core/notifications.rb
|
402
402
|
- spec/factories/cats/core/operators.rb
|
403
|
+
- spec/factories/cats/core/plan_item_details.rb
|
404
|
+
- spec/factories/cats/core/plan_items.rb
|
405
|
+
- spec/factories/cats/core/plans.rb
|
403
406
|
- spec/factories/cats/core/programs.rb
|
404
407
|
- spec/factories/cats/core/purchase_orders.rb
|
405
408
|
- spec/factories/cats/core/ration_items.rb
|
@@ -1,23 +0,0 @@
|
|
1
|
-
class CreateCatsCoreHrpItems < ActiveRecord::Migration[6.1]
|
2
|
-
def change
|
3
|
-
create_table :cats_core_hrp_items do |t|
|
4
|
-
t.references :hrp,
|
5
|
-
null: false,
|
6
|
-
index: { name: 'hrp_on_hrp_items_indx' },
|
7
|
-
foreign_key: { to_table: :cats_core_hrps }
|
8
|
-
t.references :woreda,
|
9
|
-
null: false,
|
10
|
-
index: { name: 'woreda_on_hrp_items_idnx' },
|
11
|
-
foreign_key: { to_table: :cats_core_locations }
|
12
|
-
t.integer :beneficiaries, null: false
|
13
|
-
t.references :operator,
|
14
|
-
null: false,
|
15
|
-
index: { name: 'operator_on_hrp_items_indx' },
|
16
|
-
foreign_key: { to_table: :cats_core_operators }
|
17
|
-
|
18
|
-
t.timestamps
|
19
|
-
end
|
20
|
-
|
21
|
-
add_index :cats_core_hrp_items, [:hrp_id, :woreda_id], unique: true
|
22
|
-
end
|
23
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
class CreateCatsCoreHrpItemDetails < ActiveRecord::Migration[6.1]
|
2
|
-
def change
|
3
|
-
create_table :cats_core_hrp_item_details do |t|
|
4
|
-
t.references :hrp_item,
|
5
|
-
null: false,
|
6
|
-
index: { name: 'hi_on_hid_indx' },
|
7
|
-
foreign_key: { to_table: :cats_core_hrp_items }
|
8
|
-
t.references :ration_item,
|
9
|
-
null: false,
|
10
|
-
index: { name: 'ri_on_hid_indx' },
|
11
|
-
foreign_key: { to_table: :cats_core_ration_items }
|
12
|
-
t.float :amount, null: false
|
13
|
-
|
14
|
-
t.timestamps
|
15
|
-
end
|
16
|
-
add_index(:cats_core_hrp_item_details, [:hrp_item_id, :ration_item_id], unique: true, name: 'hii_rii_on_hid_indx')
|
17
|
-
end
|
18
|
-
end
|