cats_core 1.3.6 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/models/cats/core/monthly_plan.rb +17 -0
- data/app/models/cats/core/monthly_plan_item.rb +12 -0
- data/app/models/cats/core/monthly_plan_item_detail.rb +10 -0
- data/app/models/cats/core/monthly_ration.rb +11 -0
- data/app/models/cats/core/regional_request.rb +10 -2
- data/db/migrate/20220105084347_create_cats_core_regional_requests.rb +4 -0
- data/db/migrate/20220107121752_create_cats_core_monthly_plans.rb +22 -0
- data/db/migrate/20220107125025_create_cats_core_monthly_plan_items.rb +17 -0
- data/db/migrate/20220107132433_create_cats_core_monthly_plan_item_details.rb +17 -0
- data/db/migrate/20220107224630_create_cats_core_monthly_rations.rb +22 -0
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/monthly_plan_item_details.rb +7 -0
- data/spec/factories/cats/core/monthly_plan_items.rb +7 -0
- data/spec/factories/cats/core/monthly_plans.rb +9 -0
- data/spec/factories/cats/core/monthly_rations.rb +9 -0
- data/spec/factories/cats/core/regional_requests.rb +1 -0
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b11b523effee1abb0d25abc8f495da5417f4a92d260339588bd30dfd617bd4e
|
4
|
+
data.tar.gz: adb1c8af3fd35b7d40b6d1b462110dad73b5128dd3a7ab1064c401aef2a9218d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af209110dee908a47a8b8dd6e6bf156a7b9ec72b17aaef38dc2ebb49fc052bc72edb5bd566ac4711a4714c68f9fb81a863a777c2feb7345696d7ed295a30ecc3
|
7
|
+
data.tar.gz: 7880e17c8a0bebc41bfa79f012ea0e5db7ac1ead2cd00ecd7d3680eae9253d3af76813426ddd492d72985c631e57119f1960e2ffb45b5404a7b0b2efbd7b5044
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class MonthlyPlan < ApplicationRecord
|
4
|
+
belongs_to :ration
|
5
|
+
belongs_to :plan
|
6
|
+
belongs_to :regional_request
|
7
|
+
|
8
|
+
has_many :monthly_plan_items
|
9
|
+
has_many :monthly_rations
|
10
|
+
|
11
|
+
validates :reference_no, presence: true, uniqueness: true
|
12
|
+
validates :status, presence: true, inclusion: { in: Cats::Core::Plan::STATUSES }
|
13
|
+
|
14
|
+
delegate(:reference_no, to: :regional_request, prefix: 'request')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class MonthlyPlanItem < ApplicationRecord
|
4
|
+
belongs_to :monthly_plan
|
5
|
+
belongs_to :plan_item
|
6
|
+
|
7
|
+
has_many :monthly_plan_item_details
|
8
|
+
|
9
|
+
validates :beneficiaries, presence: true, numericality: { greater_than: 0 }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class MonthlyRation < ApplicationRecord
|
4
|
+
belongs_to :commodity_category
|
5
|
+
belongs_to :unit_of_measure
|
6
|
+
belongs_to :monthly_plan
|
7
|
+
|
8
|
+
validates :amount, :no_of_days, presence: true, numericality: { greater_than: 0 }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -2,13 +2,15 @@ module Cats
|
|
2
2
|
module Core
|
3
3
|
class RegionalRequest < ApplicationRecord
|
4
4
|
belongs_to :plan
|
5
|
+
belongs_to :region, class_name: 'Cats::Core::Location'
|
5
6
|
|
6
7
|
validates :reference_no, presence: true, uniqueness: true
|
7
8
|
validates :beneficiaries, :no_of_days, :month, presence: true, numericality: { greater_than: 0 }
|
8
|
-
validate :validate_month, :validate_beneficiaries
|
9
|
+
validate :validate_month, :validate_beneficiaries, :validate_region
|
9
10
|
|
10
11
|
delegate(:reference_no, to: :plan, prefix: true)
|
11
|
-
|
12
|
+
delegate(:name, to: :region, prefix: true)
|
13
|
+
|
12
14
|
def validate_month
|
13
15
|
return unless month
|
14
16
|
|
@@ -23,6 +25,12 @@ module Cats
|
|
23
25
|
total = plan.plan_items.sum(:beneficiaries)
|
24
26
|
errors.add(:beneficiaries, "cannot be higher than #{total}.") if total < beneficiaries
|
25
27
|
end
|
28
|
+
|
29
|
+
def validate_region
|
30
|
+
return unless region
|
31
|
+
|
32
|
+
errors.add(:region, 'is not valid.') unless region.location_type == Cats::Core::Location::REGION
|
33
|
+
end
|
26
34
|
end
|
27
35
|
end
|
28
36
|
end
|
@@ -9,6 +9,10 @@ class CreateCatsCoreRegionalRequests < ActiveRecord::Migration[6.1]
|
|
9
9
|
null: false,
|
10
10
|
index: { name: 'plan_on_rr_indx' },
|
11
11
|
foreign_key: { to_table: :cats_core_plans }
|
12
|
+
t.references :region,
|
13
|
+
null: false,
|
14
|
+
index: { name: 'region_on_rr_indx' },
|
15
|
+
foreign_key: { to_table: :cats_core_locations }
|
12
16
|
|
13
17
|
t.timestamps
|
14
18
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class CreateCatsCoreMonthlyPlans < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_monthly_plans do |t|
|
4
|
+
t.string :reference_no, unique: true
|
5
|
+
t.string :status, null: false, default: 'Draft'
|
6
|
+
t.references :ration,
|
7
|
+
null: false,
|
8
|
+
index: { name: 'ration_on_mp_indx' },
|
9
|
+
foreign_key: { to_table: :cats_core_rations }
|
10
|
+
t.references :plan,
|
11
|
+
null: false,
|
12
|
+
index: { name: 'plan_on_mp_indx' },
|
13
|
+
foreign_key: { to_table: :cats_core_plans }
|
14
|
+
t.references :regional_request,
|
15
|
+
null: false,
|
16
|
+
index: { name: 'rr_on_mp_indx' },
|
17
|
+
foreign_key: { to_table: :cats_core_regional_requests }
|
18
|
+
|
19
|
+
t.timestamps
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateCatsCoreMonthlyPlanItems < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_monthly_plan_items do |t|
|
4
|
+
t.references :monthly_plan,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'mp_on_mpi_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_monthly_plans }
|
8
|
+
t.integer :beneficiaries, null: false
|
9
|
+
t.references :plan_item,
|
10
|
+
null: false,
|
11
|
+
index: { name: 'pi_on_mpi_indx' },
|
12
|
+
foreign_key: { to_table: :cats_core_plan_items }
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateCatsCoreMonthlyPlanItemDetails < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_monthly_plan_item_details do |t|
|
4
|
+
t.references :monthly_plan_item,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'mpi_on_mpid_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_monthly_plan_items }
|
8
|
+
t.references :ration_item,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'ri_on_mpid_indx' },
|
11
|
+
foreign_key: { to_table: :cats_core_ration_items }
|
12
|
+
t.float :amount, null: false
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class CreateCatsCoreMonthlyRations < ActiveRecord::Migration[6.1]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_monthly_rations do |t|
|
4
|
+
t.references :commodity_category,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'cc_on_mr_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_commodity_categories }
|
8
|
+
t.float :amount, null: false
|
9
|
+
t.references :unit_of_measure,
|
10
|
+
null: false,
|
11
|
+
index: { name: 'uom_on_mr_indx' },
|
12
|
+
foreign_key: { to_table: :cats_core_unit_of_measures }
|
13
|
+
t.integer :no_of_days, null: false
|
14
|
+
t.references :monthly_plan,
|
15
|
+
index: { name: 'mp_on_mr_indx' },
|
16
|
+
null: false,
|
17
|
+
foreign_key: { to_table: :cats_core_monthly_plans }
|
18
|
+
|
19
|
+
t.timestamps
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/cats/core/version.rb
CHANGED
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.3.
|
4
|
+
version: 1.3.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henock L.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|
@@ -269,6 +269,10 @@ files:
|
|
269
269
|
- app/models/cats/core/location.rb
|
270
270
|
- app/models/cats/core/menu.rb
|
271
271
|
- app/models/cats/core/menu_item.rb
|
272
|
+
- app/models/cats/core/monthly_plan.rb
|
273
|
+
- app/models/cats/core/monthly_plan_item.rb
|
274
|
+
- app/models/cats/core/monthly_plan_item_detail.rb
|
275
|
+
- app/models/cats/core/monthly_ration.rb
|
272
276
|
- app/models/cats/core/notification.rb
|
273
277
|
- app/models/cats/core/notification_rule.rb
|
274
278
|
- app/models/cats/core/offer_item.rb
|
@@ -382,6 +386,10 @@ files:
|
|
382
386
|
- db/migrate/20211229160129_create_cats_core_commodity_substitutions.rb
|
383
387
|
- db/migrate/20220103152802_create_cats_core_tenderers.rb
|
384
388
|
- db/migrate/20220105084347_create_cats_core_regional_requests.rb
|
389
|
+
- db/migrate/20220107121752_create_cats_core_monthly_plans.rb
|
390
|
+
- db/migrate/20220107125025_create_cats_core_monthly_plan_items.rb
|
391
|
+
- db/migrate/20220107132433_create_cats_core_monthly_plan_item_details.rb
|
392
|
+
- db/migrate/20220107224630_create_cats_core_monthly_rations.rb
|
385
393
|
- lib/cats/core.rb
|
386
394
|
- lib/cats/core/engine.rb
|
387
395
|
- lib/cats/core/version.rb
|
@@ -405,6 +413,10 @@ files:
|
|
405
413
|
- spec/factories/cats/core/locations.rb
|
406
414
|
- spec/factories/cats/core/menu_items.rb
|
407
415
|
- spec/factories/cats/core/menus.rb
|
416
|
+
- spec/factories/cats/core/monthly_plan_item_details.rb
|
417
|
+
- spec/factories/cats/core/monthly_plan_items.rb
|
418
|
+
- spec/factories/cats/core/monthly_plans.rb
|
419
|
+
- spec/factories/cats/core/monthly_rations.rb
|
408
420
|
- spec/factories/cats/core/notification_rules.rb
|
409
421
|
- spec/factories/cats/core/notifications.rb
|
410
422
|
- spec/factories/cats/core/offer_items.rb
|