cats_core 1.4.3 → 1.4.4
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/controllers/cats/core/dispatch_plan_items_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_plans_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_transactions_controller.rb +1 -1
- data/app/controllers/cats/core/dispatches_controller.rb +1 -1
- data/app/controllers/cats/core/stacks_controller.rb +2 -2
- data/app/models/cats/core/commodity.rb +1 -1
- data/app/models/cats/core/dispatch_plan.rb +0 -2
- data/app/models/cats/core/dispatch_plan_item.rb +3 -1
- data/app/models/cats/core/transport_bid_item.rb +1 -0
- data/app/notifications/cats/core/allocation_notification.rb +2 -2
- data/app/notifications/cats/core/dispatch_notification.rb +1 -1
- data/app/serializers/cats/core/commodity_serializer.rb +1 -1
- data/app/serializers/cats/core/dispatch_plan_serializer.rb +1 -2
- data/app/services/cats/core/stack_service.rb +8 -8
- data/config/routes.rb +1 -1
- data/db/migrate/20210718043328_create_cats_core_dispatch_plans.rb +0 -5
- data/db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb +4 -0
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/dispatch_plan_items.rb +1 -0
- data/spec/factories/cats/core/dispatch_plans.rb +0 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05ec37047a728927e68df2e0a0ae34dd16cca869cfe658314ea5fb0738ae894b
|
4
|
+
data.tar.gz: 272f1c6cb33e96a8407cab42c3b9bd8b01540156feee9bf4d6012b5b97600b52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19a5247f29b37ca8dc8a0176719b22b924069166168ddcf684a84ca0bcbd45ae170a164516ffada4cb2066b428ece538f89c8daa45bfb2db15bd432fb9676dab
|
7
|
+
data.tar.gz: b41ed1c8028112b527cd21b01821187260ba85ab2647fe7f477422a69f40a72420aed74d6741d3525f5812d110354b85bc12cf23b54163ce921286be1d185e10
|
@@ -14,7 +14,7 @@ module Cats
|
|
14
14
|
# user to give us a source.
|
15
15
|
def create_allocation
|
16
16
|
dispatch = Dispatch.find(model_params[:dispatch_id])
|
17
|
-
commodity = dispatch.dispatch_plan_item.
|
17
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
18
18
|
transaction = DispatchTransaction.new(model_params)
|
19
19
|
|
20
20
|
# Fetch supplier stack by commodity
|
@@ -13,9 +13,9 @@ module Cats
|
|
13
13
|
render json: { success: true, data: serialize(query.result) }
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def items_for_location
|
17
17
|
service = StackService.new
|
18
|
-
commodities = service.
|
18
|
+
commodities = service.items_for_location(current_user)
|
19
19
|
render json: { success: true, data: serialize(commodities) }
|
20
20
|
end
|
21
21
|
|
@@ -38,7 +38,7 @@ module Cats
|
|
38
38
|
validates :arrival_status, presence: true, inclusion: { in: ARRIVAL_STATUSES }
|
39
39
|
validates :status, presence: true, inclusion: { in: STATUSES }
|
40
40
|
|
41
|
-
delegate(:abbreviation, to: :unit_of_measure, prefix:
|
41
|
+
delegate(:abbreviation, to: :unit_of_measure, prefix: 'unit')
|
42
42
|
delegate(:reference_no, to: :source, prefix: true)
|
43
43
|
|
44
44
|
def name
|
@@ -8,7 +8,6 @@ module Cats
|
|
8
8
|
belongs_to :dispatchable, polymorphic: true, optional: true
|
9
9
|
belongs_to :prepared_by, class_name: 'Cats::Core::User'
|
10
10
|
belongs_to :approved_by, class_name: 'Cats::Core::User', optional: true
|
11
|
-
belongs_to :commodity
|
12
11
|
|
13
12
|
has_many :dispatch_plan_items
|
14
13
|
|
@@ -16,7 +15,6 @@ module Cats
|
|
16
15
|
validates :status, inclusion: { in: STATUSES }
|
17
16
|
validate :validate_dispatchable, on: :create
|
18
17
|
|
19
|
-
delegate(:batch_no, :name, :quantity, to: :commodity, prefix: true)
|
20
18
|
delegate(:request_reference, to: :dispatchable, allow_nil: true)
|
21
19
|
delegate(:request_quantity, to: :dispatchable, allow_nil: true)
|
22
20
|
|
@@ -10,6 +10,8 @@ module Cats
|
|
10
10
|
belongs_to :source, class_name: 'Cats::Core::Location'
|
11
11
|
belongs_to :destination, class_name: 'Cats::Core::Location'
|
12
12
|
belongs_to :dispatch_plan
|
13
|
+
belongs_to :commodity
|
14
|
+
|
13
15
|
has_many :dispatches
|
14
16
|
has_many :hub_authorizations
|
15
17
|
|
@@ -18,7 +20,7 @@ module Cats
|
|
18
20
|
validates :status, presence: true, inclusion: { in: STATUSES }
|
19
21
|
|
20
22
|
delegate(:reference_no, to: :dispatch_plan, prefix: :plan, allow_nil: true)
|
21
|
-
delegate(:
|
23
|
+
delegate(:batch_no, :name, to: :commodity, prefix: true)
|
22
24
|
delegate(:name, to: :source, prefix: true)
|
23
25
|
delegate(:name, to: :destination, prefix: true)
|
24
26
|
delegate(:location_type, to: :source, prefix: true)
|
@@ -12,14 +12,14 @@ module Cats
|
|
12
12
|
|
13
13
|
def message
|
14
14
|
allocation_item = params[:allocation_item]
|
15
|
-
commodity = allocation_item.
|
15
|
+
commodity = allocation_item.commodity.name
|
16
16
|
source = allocation_item.source.name
|
17
17
|
destination = allocation_item.destination.name
|
18
18
|
title = "Allocation Notification - #{commodity}"
|
19
19
|
date = Date.today
|
20
20
|
body = <<~BODY
|
21
21
|
Commodity with the following specification has been allocated to you:
|
22
|
-
Batch No. = #{allocation_item.
|
22
|
+
Batch No. = #{allocation_item.commodity.batch_no}
|
23
23
|
Commodity = #{commodity}
|
24
24
|
Quantity = #{allocation_item.quantity}
|
25
25
|
The commodity is expected to be delivered from #{source} to #{destination}
|
@@ -7,7 +7,7 @@ module Cats
|
|
7
7
|
|
8
8
|
def message
|
9
9
|
dispatch = params[:dispatch]
|
10
|
-
commodity = dispatch.dispatch_plan_item.
|
10
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
11
11
|
title = "Dispatch Notification - #{commodity.name}"
|
12
12
|
date = Date.today
|
13
13
|
body = <<~BODY
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
3
|
class CommoditySerializer < ActiveModel::Serializer
|
4
|
-
attributes :id, :name, :batch_no, :description, :unit_of_measure_id, :
|
4
|
+
attributes :id, :name, :batch_no, :description, :unit_of_measure_id, :unit_abbreviation, :source_id,
|
5
5
|
:source_type, :source_reference_no, :quantity, :best_use_before, :volume_per_metric_ton,
|
6
6
|
:arrival_status, :status, :shipping_reference
|
7
7
|
end
|
@@ -2,8 +2,7 @@ module Cats
|
|
2
2
|
module Core
|
3
3
|
class DispatchPlanSerializer < ActiveModel::Serializer
|
4
4
|
attributes :id, :reference_no, :status, :dispatchable_id, :dispatchable_type, :request_reference,
|
5
|
-
:request_quantity, :
|
6
|
-
:upstream
|
5
|
+
:request_quantity, :upstream
|
7
6
|
end
|
8
7
|
end
|
9
8
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cats
|
2
2
|
module Core
|
3
3
|
class StackService
|
4
|
-
def
|
4
|
+
def items_for_location(user)
|
5
5
|
details = user.details
|
6
6
|
|
7
7
|
key_available = details.keys.any? { |key| %w[stores warehouse hub].include?(key) }
|
@@ -17,7 +17,7 @@ module Cats
|
|
17
17
|
|
18
18
|
allocation_items =
|
19
19
|
DispatchPlanItem
|
20
|
-
.joins(dispatch_plan
|
20
|
+
.joins(:dispatch_plan)
|
21
21
|
.where(destination: hub, dispatch_plan: { status: DispatchPlan::APPROVED })
|
22
22
|
|
23
23
|
allocation_items.map do |item|
|
@@ -26,10 +26,10 @@ module Cats
|
|
26
26
|
source: item.source.name,
|
27
27
|
destination: item.destination.name,
|
28
28
|
quantity: item.quantity,
|
29
|
-
batch_no: item.
|
30
|
-
commodity_id: item.
|
31
|
-
commodity_name: item.
|
32
|
-
unit: item.
|
29
|
+
batch_no: item.commodity.batch_no,
|
30
|
+
commodity_id: item.commodity_id,
|
31
|
+
commodity_name: item.commodity.name,
|
32
|
+
unit: item.commodity.unit_abbreviation
|
33
33
|
}
|
34
34
|
end
|
35
35
|
end
|
@@ -39,7 +39,7 @@ module Cats
|
|
39
39
|
warehouses = location.children
|
40
40
|
stores = Store.where(warehouse: warehouses)
|
41
41
|
|
42
|
-
commodity = receipt.dispatch.dispatch_plan_item.
|
42
|
+
commodity = receipt.dispatch.dispatch_plan_item.commodity
|
43
43
|
Stack.where(commodity: commodity, store: stores)
|
44
44
|
end
|
45
45
|
|
@@ -48,7 +48,7 @@ module Cats
|
|
48
48
|
warehouses = location.children
|
49
49
|
stores = Store.where(warehouse: warehouses)
|
50
50
|
|
51
|
-
commodity = dispatch.dispatch_plan_item.
|
51
|
+
commodity = dispatch.dispatch_plan_item.commodity
|
52
52
|
Stack.where(commodity: commodity, store: stores)
|
53
53
|
end
|
54
54
|
end
|
data/config/routes.rb
CHANGED
@@ -137,7 +137,7 @@ Cats::Core::Engine.routes.draw do
|
|
137
137
|
|
138
138
|
get '/stores/:id/stacks', controller: :stacks, action: :index, as: :stacks_store
|
139
139
|
post '/stores/:id/stacks', controller: :stacks, action: :filter
|
140
|
-
get '/stacks/
|
140
|
+
get '/stacks/items_for_location', controller: :stacks, action: :items_for_location, as: :items_for_location
|
141
141
|
get '/receipts/:id/stacks', controller: :stacks, action: :receipt_stacks, as: :receipt_stacks
|
142
142
|
get '/dispatches/:id/stacks', controller: :stacks, action: :dispatch_stacks, as: :dispatch_stacks
|
143
143
|
resources :stacks, only: %i[show index create update]
|
@@ -6,11 +6,6 @@ class CreateCatsCoreDispatchPlans < ActiveRecord::Migration[6.1]
|
|
6
6
|
t.string :status, null: false, default: 'Draft'
|
7
7
|
t.references :dispatchable, polymorphic: true
|
8
8
|
t.boolean :upstream, null: false, default: false
|
9
|
-
t.references :commodity,
|
10
|
-
null: false,
|
11
|
-
index: { name: 'commodity_on_dp_indx' },
|
12
|
-
foreign_key: { to_table: :cats_core_commodities }
|
13
|
-
|
14
9
|
t.references :prepared_by,
|
15
10
|
null: false,
|
16
11
|
index: { name: 'pb_on_dp_indx' },
|
@@ -13,6 +13,10 @@ class CreateCatsCoreDispatchPlanItems < ActiveRecord::Migration[6.1]
|
|
13
13
|
null: false,
|
14
14
|
index: { name: 'dpi_on_destination_indx'},
|
15
15
|
foreign_key: { to_table: :cats_core_locations }
|
16
|
+
t.references :commodity,
|
17
|
+
null: false,
|
18
|
+
index: { name: 'commodity_on_dpi_indx' },
|
19
|
+
foreign_key: { to_table: :cats_core_commodities }
|
16
20
|
t.float :quantity, null: false
|
17
21
|
t.string :commodity_status, null: false, default: 'Good'
|
18
22
|
t.string :status, null: false, default: 'Unauthorized'
|
data/lib/cats/core/version.rb
CHANGED