cats_core 1.3.24 → 1.3.25

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: 2531c2f89fe44de09ddf14fd923e8d990a3e1926775eea0962b5a3d4787d7457
4
- data.tar.gz: ec9cbed2a69e8f62884556108dbbc1ab448a360a7273fe2843f3fb754a3982c4
3
+ metadata.gz: 0b3911b5d99f63d3bf4e2f3b1f6a1a1cf64107affebb1eed6e33c69a51a38d28
4
+ data.tar.gz: 7be0d6a7f7dfe4e92541d44655a41d35450d9e782dc7b6436b52ecdca20f6647
5
5
  SHA512:
6
- metadata.gz: 52d97959257855990865164a5f63ff2b529b17c97995de5c30ee658ae169ec8a77c3b3ff52a459b658e6dd4f93757ff1db4b64e2c33fb5de004dcd5106b688b6
7
- data.tar.gz: 64edb99aecf7615a963971661748cdef7d62faf0d7450dcdebf0b2ffb1100373ce60a8aa79f261ed884542812530c60f1b8cefcdb4e5f21a59e0c296dec07ed5
6
+ metadata.gz: b828e8e63c64cd816007746b340ca942b875f702026e2d1949e3176f7235c7d373a8aedb782706a2921f1f918fef31ef3dc2df05ab4a80ef2072dd4e32c2d949
7
+ data.tar.gz: beac85a8bcfad3ab5278f99bcb91eab751ebfb82d7ac10feb00e67e753d4831ed8a8a9f8b49524c65e8f7dc4811bd3c0e0cc2451c65be220c4dea22bef21c511
@@ -19,6 +19,10 @@ module Cats
19
19
  delegate(:request_reference, to: :dispatchable, allow_nil: true)
20
20
  delegate(:request_quantity, to: :dispatchable, allow_nil: true)
21
21
 
22
+ before_save do |plan|
23
+ plan.upstream = !plan.dispatchable.nil? && plan.dispatchable_type == RhnRequest.name
24
+ end
25
+
22
26
  def approve
23
27
  raise(StandardError, 'Dispatch plan already approved.') if status == APPROVED
24
28
 
@@ -1,11 +1,18 @@
1
1
  module Cats
2
2
  module Core
3
3
  class PurchaseOrder < ApplicationRecord
4
+ LOCAL = 'Local'.freeze
5
+ FOREIGN = 'Foreign'.freeze
6
+ PURCHASE_TYPES = [LOCAL, FOREIGN].freeze
7
+
4
8
  belongs_to :donation
5
9
  belongs_to :commodity_category
10
+ belongs_to :unit, class_name: 'Cats::Core::UnitOfMeasure'
6
11
 
7
- validates :reference_no, :order_date, :supplier, presence: true
12
+ validates :reference_no, :order_date, :supplier, :quantity, :purchase_type, presence: true
8
13
  validates :reference_no, uniqueness: true
14
+ validates :purchase_type, inclusion: { in: PURCHASE_TYPES }
15
+ validates :quantity, numericality: { greater_than: 0 }
9
16
 
10
17
  delegate(:name, to: :commodity_category, prefix: true)
11
18
 
@@ -4,7 +4,7 @@ module Cats
4
4
  def approve(plan)
5
5
  plan.approve
6
6
 
7
- plan.dispatchable.allocate if plan.dispatchable_type == Cats::Core::RhnRequest.name
7
+ plan.dispatchable.allocate if plan.dispatchable_type == RhnRequest.name
8
8
  # send_notification(plan)
9
9
  plan
10
10
  end
@@ -5,6 +5,8 @@ class CreateCatsCorePurchaseOrders < ActiveRecord::Migration[6.1]
5
5
  t.date :order_date, null: false
6
6
  t.string :requisition_no
7
7
  t.string :supplier, null: false
8
+ t.float :quantity, null: false
9
+ t.string :purchase_type, null: false
8
10
 
9
11
  t.references :donation,
10
12
  null: false,
@@ -14,6 +16,10 @@ class CreateCatsCorePurchaseOrders < ActiveRecord::Migration[6.1]
14
16
  null: false,
15
17
  index: { name: 'po_on_cc_indx' },
16
18
  foreign_key: { to_table: :cats_core_commodity_categories }
19
+ t.references :unit,
20
+ null: false,
21
+ index: { name: 'unit_on_po_indx' },
22
+ foreign_key: { to_table: :cats_core_unit_of_measures }
17
23
 
18
24
  t.timestamps
19
25
  end
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.3.24'.freeze
3
+ VERSION = '1.3.25'.freeze
4
4
  end
5
5
  end
@@ -7,5 +7,9 @@ FactoryBot.define do
7
7
  commodity
8
8
  prepared_by factory: :user
9
9
  approved_by { nil }
10
+
11
+ trait :with_rhn do
12
+ dispatchable { create(:rhn_request) }
13
+ end
10
14
  end
11
15
  end
@@ -4,7 +4,10 @@ FactoryBot.define do
4
4
  order_date { Date.today }
5
5
  requisition_no { FFaker::Name.name }
6
6
  supplier { FFaker::Name.name }
7
+ quantity { 100 }
8
+ purchase_type { Cats::Core::PurchaseOrder::LOCAL }
7
9
  donation
8
10
  commodity_category
11
+ unit factory: :unit_of_measure
9
12
  end
10
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.24
4
+ version: 1.3.25
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-02-03 00:00:00.000000000 Z
11
+ date: 2022-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers