cats_core 1.3.3 → 1.3.7

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: 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