cats_core 1.3.3 → 1.3.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cdba57c2bf858a5e13e6b3fbda47480ebde0daab288fe316227c79fb09a25dca
4
- data.tar.gz: abd8687cafb652893f8c7acde57e8d44f83a35e0cc60f0cbf38634505ac96b05
3
+ metadata.gz: 9380d0ff2181f5043d3c4d4f6251dde2561d5b08013959b6848558b505dbba2d
4
+ data.tar.gz: 1dc278bcfb116197b0c04620de35f042669a11e5690ce14fa93959a252f0e922
5
5
  SHA512:
6
- metadata.gz: 37408f5b51f9b8fa476432a57eb5424e76f482e533915f5e9810afdc29b62af9e233019bf8ae209837e07cabd3b6b7645cd1892c233713a94e93c5fecce02ec9
7
- data.tar.gz: b122ff2735e2f6b2186c38ff01aaf886e5e7317a7a9c956489f481f97991a1e00d9871c00ebe1b1e0013fbe886aeb85bb78ed7274221c21191b1fae2488392a1
6
+ metadata.gz: 0cecc9ef0cf5fc29c4b912e5b513afd23db6f6d607a93bdcd927348b2f11928df5624ccde4ae80b12048db368f1da25f4b8781b5a22014cb1b1fc2e0e251dba5
7
+ data.tar.gz: e3e5fbbe9e672a276f80a1d90e5c4b6a1958b5ccf894b1196387a7e9f50ce44a3d8285afdbcc8100c04b91702f9efa55b3b099074fd44330c6aa3ec38df53f6b
@@ -6,7 +6,7 @@ module Cats
6
6
  DONATION_TYPES = [CASH, KIND].freeze
7
7
 
8
8
  belongs_to :donor
9
- belongs_to :plan
9
+ belongs_to :plan, optional: true
10
10
  belongs_to :currency, optional: true
11
11
  belongs_to :commodity_category, optional: true
12
12
  belongs_to :unit_of_measure, optional: true
@@ -1,7 +1,7 @@
1
1
  module Cats
2
2
  module Core
3
3
  class GiftCertificate < ApplicationRecord
4
- belongs_to :donation
4
+ belongs_to :donation, optional: true
5
5
  belongs_to :commodity_category
6
6
  belongs_to :unit_of_measure
7
7
 
@@ -0,0 +1,11 @@
1
+ module Cats
2
+ module Core
3
+ class MonthlyPlan < ApplicationRecord
4
+ belongs_to :ration
5
+ belongs_to :plan
6
+
7
+ validates :reference_no, presence: true, uniqueness: true
8
+ validates :status, presence: true, inclusion: { in: Cats::Core::Plan::STATUSES }
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module Cats
2
+ module Core
3
+ class MonthlyPlanItem < ApplicationRecord
4
+ belongs_to :monthly_plan
5
+ belongs_to :plan_item
6
+
7
+ validates :beneficiaries, presence: true, numericality: { greater_than: 0 }
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module Cats
2
+ module Core
3
+ class MonthlyPlanItemDetail < ApplicationRecord
4
+ belongs_to :monthly_plan_item
5
+ belongs_to :ration_item
6
+
7
+ validates :amount, presence: true, numericality: { greater_than: 0 }
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,28 @@
1
+ module Cats
2
+ module Core
3
+ class RegionalRequest < ApplicationRecord
4
+ belongs_to :plan
5
+
6
+ validates :reference_no, presence: true, uniqueness: true
7
+ validates :beneficiaries, :no_of_days, :month, presence: true, numericality: { greater_than: 0 }
8
+ validate :validate_month, :validate_beneficiaries
9
+
10
+ delegate(:reference_no, to: :plan, prefix: true)
11
+
12
+ def validate_month
13
+ return unless month
14
+
15
+ errors.add(:month, 'cannot be greater than 12.') if month > 12
16
+ end
17
+
18
+ def validate_beneficiaries
19
+ return unless beneficiaries
20
+
21
+ return unless plan
22
+
23
+ total = plan.plan_items.sum(:beneficiaries)
24
+ errors.add(:beneficiaries, "cannot be higher than #{total}.") if total < beneficiaries
25
+ end
26
+ end
27
+ end
28
+ end
@@ -2,6 +2,7 @@ class CreateCatsCoreDonations < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  create_table :cats_core_donations do |t|
4
4
  t.string :reference_no, unique: true
5
+ t.string :description
5
6
  t.string :donation_type, null: false
6
7
  t.date :donated_on, null: false
7
8
  t.references :donor,
@@ -9,7 +10,7 @@ class CreateCatsCoreDonations < ActiveRecord::Migration[6.1]
9
10
  index: { name: 'donor_on_donation_indx' },
10
11
  foreign_key: { to_table: :cats_core_donors }
11
12
  t.references :plan,
12
- null: false,
13
+ null: true,
13
14
  index: { name: 'plan_on_donation_indx' },
14
15
  foreign_key: { to_table: :cats_core_plans }
15
16
  t.float :amount, null: false
@@ -5,10 +5,10 @@ class CreateCatsCoreGiftCertificates < ActiveRecord::Migration[6.1]
5
5
  t.date :gift_date, null: false
6
6
 
7
7
  t.references :donation,
8
- null: false,
8
+ null: true,
9
9
  index: { name: 'gc_on_donation_indx' },
10
10
  foreign_key: { to_table: :cats_core_donations }
11
-
11
+
12
12
  t.string :vessel
13
13
  t.string :port
14
14
  t.string :customs_declaration_no
@@ -14,6 +14,6 @@ class CreateCatsCoreTransportBidItems < ActiveRecord::Migration[6.1]
14
14
  t.timestamps
15
15
  end
16
16
 
17
- add_index :cats_core_transport_bid_items, :transport_plan_item_id, unique: true
17
+ add_index :cats_core_transport_bid_items, :transport_plan_item_id, unique: true, name: 'tbi_on_tpi_uniq_indx'
18
18
  end
19
19
  end
@@ -0,0 +1,16 @@
1
+ class CreateCatsCoreRegionalRequests < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cats_core_regional_requests do |t|
4
+ t.string :reference_no, unique: true
5
+ t.integer :beneficiaries, null: false
6
+ t.integer :month, null: false
7
+ t.integer :no_of_days, null: false
8
+ t.references :plan,
9
+ null: false,
10
+ index: { name: 'plan_on_rr_indx' },
11
+ foreign_key: { to_table: :cats_core_plans }
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
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
+
15
+ t.timestamps
16
+ end
17
+ end
18
+ 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
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.3.3'.freeze
3
+ VERSION = '1.3.7'.freeze
4
4
  end
5
5
  end
@@ -1,6 +1,7 @@
1
1
  FactoryBot.define do
2
2
  factory :donation, class: 'Cats::Core::Donation' do
3
3
  reference_no { FFaker::Name.name }
4
+ description { FFaker::Name.name }
4
5
  donation_type { Cats::Core::Donation::KIND }
5
6
  donated_on { Date.today }
6
7
  donor
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :monthly_plan_item_detail, class: 'Cats::Core::MonthlyPlanItemDetail' do
3
+ monthly_plan_item
4
+ ration_item
5
+ amount { 150 }
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :monthly_plan_item, class: 'Cats::Core::MonthlyPlanItem' do
3
+ monthly_plan
4
+ beneficiaries { 100 }
5
+ plan_item
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :monthly_plan, class: 'Cats::Core::MonthlyPlan' do
3
+ reference_no { FFaker::Name.name }
4
+ status { Cats::Core::Plan::DRAFT }
5
+ ration
6
+ plan
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ FactoryBot.define do
2
+ factory :regional_request, class: 'Cats::Core::RegionalRequest' do
3
+ plan do
4
+ pl = create(:plan)
5
+ 3.times { create(:plan_item, plan: pl, beneficiaries: 100) }
6
+ pl
7
+ end
8
+ reference_no { FFaker::Name.name }
9
+ beneficiaries { 100 }
10
+ month { 1 }
11
+ no_of_days { 30 }
12
+ end
13
+ end
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.3
4
+ version: 1.3.7
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-04 00:00:00.000000000 Z
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,9 @@ 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
272
275
  - app/models/cats/core/notification.rb
273
276
  - app/models/cats/core/notification_rule.rb
274
277
  - app/models/cats/core/offer_item.rb
@@ -282,6 +285,7 @@ files:
282
285
  - app/models/cats/core/ration_item.rb
283
286
  - app/models/cats/core/receipt.rb
284
287
  - app/models/cats/core/receipt_transaction.rb
288
+ - app/models/cats/core/regional_request.rb
285
289
  - app/models/cats/core/rhn_request.rb
286
290
  - app/models/cats/core/role.rb
287
291
  - app/models/cats/core/role_menu.rb
@@ -380,6 +384,10 @@ files:
380
384
  - db/migrate/20211229160128_create_cats_core_contract_items.rb
381
385
  - db/migrate/20211229160129_create_cats_core_commodity_substitutions.rb
382
386
  - db/migrate/20220103152802_create_cats_core_tenderers.rb
387
+ - db/migrate/20220105084347_create_cats_core_regional_requests.rb
388
+ - db/migrate/20220107121752_create_cats_core_monthly_plans.rb
389
+ - db/migrate/20220107125025_create_cats_core_monthly_plan_items.rb
390
+ - db/migrate/20220107132433_create_cats_core_monthly_plan_item_details.rb
383
391
  - lib/cats/core.rb
384
392
  - lib/cats/core/engine.rb
385
393
  - lib/cats/core/version.rb
@@ -403,6 +411,9 @@ files:
403
411
  - spec/factories/cats/core/locations.rb
404
412
  - spec/factories/cats/core/menu_items.rb
405
413
  - spec/factories/cats/core/menus.rb
414
+ - spec/factories/cats/core/monthly_plan_item_details.rb
415
+ - spec/factories/cats/core/monthly_plan_items.rb
416
+ - spec/factories/cats/core/monthly_plans.rb
406
417
  - spec/factories/cats/core/notification_rules.rb
407
418
  - spec/factories/cats/core/notifications.rb
408
419
  - spec/factories/cats/core/offer_items.rb
@@ -416,6 +427,7 @@ files:
416
427
  - spec/factories/cats/core/rations.rb
417
428
  - spec/factories/cats/core/receipt_transactions.rb
418
429
  - spec/factories/cats/core/receipts.rb
430
+ - spec/factories/cats/core/regional_requests.rb
419
431
  - spec/factories/cats/core/rhn_requests.rb
420
432
  - spec/factories/cats/core/role_menus.rb
421
433
  - spec/factories/cats/core/roles.rb