cats_core 1.4.42 → 1.4.45
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/cats/core/dispatch_plans_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_transactions_controller.rb +5 -0
- data/app/controllers/cats/core/loans_controller.rb +2 -2
- data/app/controllers/cats/core/purchase_orders_controller.rb +1 -1
- data/app/controllers/cats/core/receipt_transactions_controller.rb +5 -0
- data/app/controllers/cats/core/round_beneficiaries_controller.rb +49 -0
- data/app/controllers/cats/core/swaps_controller.rb +3 -3
- data/app/models/cats/core/beneficiary.rb +9 -0
- data/app/models/cats/core/commodity_donation.rb +4 -0
- data/app/models/cats/core/loan.rb +4 -0
- data/app/models/cats/core/plan.rb +4 -0
- data/app/models/cats/core/purchase_order.rb +4 -0
- data/app/models/cats/core/round_beneficiary.rb +16 -0
- data/app/models/cats/core/round_plan.rb +1 -0
- data/app/models/cats/core/round_plan_item.rb +1 -0
- data/app/models/cats/core/swap.rb +4 -0
- data/app/serializers/cats/core/round_beneficiary_serializer.rb +8 -0
- data/app/services/cats/core/authorization_service.rb +17 -0
- data/app/services/cats/core/beneficiary_service.rb +87 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20210717032855_create_cats_core_purchase_orders.rb +1 -0
- data/db/migrate/20220511082354_create_cats_core_beneficiaries.rb +4 -0
- data/db/migrate/20220626063501_create_cats_core_loans.rb +1 -0
- data/db/migrate/20220626063757_create_cats_core_swaps.rb +1 -0
- data/db/migrate/20220626132050_create_cats_core_round_beneficiaries.rb +26 -0
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/beneficiaries.rb +1 -0
- data/spec/factories/cats/core/loans.rb +1 -0
- data/spec/factories/cats/core/purchase_orders.rb +1 -0
- data/spec/factories/cats/core/round_beneficiaries.rb +10 -0
- data/spec/factories/cats/core/swaps.rb +1 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 710ffdc5b10d0f97aa5f40aaa8e67a99eaea21120c0b96894d46f86a47b10312
|
4
|
+
data.tar.gz: 3c1b7594b8717c668bb9f38d481afa54057005f524171bd3c088fdf6047344b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b522fa9d586d12f3255b0a9044caff4c8b694e336e3b284a657bc14d2f10a0e10ad3fce4d082784b65435bd73c396b8a593c6c7630bc90b9ac1388bf6f51915
|
7
|
+
data.tar.gz: 46fbc7ca6360f71e4f6cc992f03a3711b302f2f351c7dca8996999cee8c8eaf196321324bf9ed3f6bf16940c04f5224c72bd5124147663a7b4533aeddd9f27bd
|
@@ -12,8 +12,8 @@ module Cats
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def model_params
|
15
|
-
params.require(:payload).permit(:reference_no, :lender, :agreement_date, :repayment_date,
|
16
|
-
:commodity_category_id)
|
15
|
+
params.require(:payload).permit(:reference_no, :description, :lender, :agreement_date, :repayment_date,
|
16
|
+
:quantity, :unit_id, :commodity_category_id)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -17,7 +17,7 @@ module Cats
|
|
17
17
|
def model_params
|
18
18
|
params.require(:payload).permit(:reference_no, :order_date, :requisition_no, :supplier, :cash_donation_id,
|
19
19
|
:commodity_category_id, :quantity, :purchase_type, :unit_id, :price,
|
20
|
-
:currency_id)
|
20
|
+
:currency_id, :description)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class RoundBeneficiariesController < ApplicationController
|
4
|
+
include Common
|
5
|
+
|
6
|
+
def index
|
7
|
+
beneficiaries = RoundBeneficiary.joins(:round_plan_item)
|
8
|
+
.where(round_plan_item: { round_plan_id: params[:id] })
|
9
|
+
.includes(:beneficiary, :commodity_category, :unit)
|
10
|
+
render json: { success: true, data: serialize(beneficiaries) }
|
11
|
+
end
|
12
|
+
|
13
|
+
def generate
|
14
|
+
service = BeneficiaryService.new
|
15
|
+
result = service.generate_distribution_list(params[:id])
|
16
|
+
render json: { success: result }
|
17
|
+
rescue StandardError => e
|
18
|
+
render json: { success: false, error: e.message }
|
19
|
+
end
|
20
|
+
|
21
|
+
def filter
|
22
|
+
query = RoundBeneficiary.includes(:beneficiary, :commodity_category, :unit).ransack(params[:q])
|
23
|
+
render json: { success: true, data: serialize(query.result) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def remove_beneficiaries
|
27
|
+
service = BeneficiaryService.new
|
28
|
+
result = service.remove_items(params[:id], common_params[:ids])
|
29
|
+
render json: { success: result }
|
30
|
+
rescue StandardError => e
|
31
|
+
render json: { success: false, error: e.message }
|
32
|
+
end
|
33
|
+
|
34
|
+
def confirm_receipt
|
35
|
+
service = BeneficiaryService.new
|
36
|
+
result = service.confirm_receipt(params[:id], common_params[:ids])
|
37
|
+
render json: { success: result }
|
38
|
+
rescue StandardError => e
|
39
|
+
render json: { success: false, error: e.message }
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def common_params
|
45
|
+
params.permit(ids: [])
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -12,9 +12,9 @@ module Cats
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def model_params
|
15
|
-
params.require(:payload).permit(:reference_no, :swapper, :agreement_date, :issued_commodity_id,
|
16
|
-
:issued_quantity, :received_commodity_id, :received_quantity,
|
17
|
-
:
|
15
|
+
params.require(:payload).permit(:reference_no, :swapper, :agreement_date, :issued_commodity_id, :description,
|
16
|
+
:issued_quantity, :received_commodity_id, :received_quantity, :issued_unit_id,
|
17
|
+
:received_unit_id)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -6,12 +6,21 @@ module Cats
|
|
6
6
|
GENDERS = [MALE, FEMALE].freeze
|
7
7
|
|
8
8
|
belongs_to :beneficiary_category
|
9
|
+
belongs_to :fdp, class_name: 'Location'
|
9
10
|
|
10
11
|
validates :full_name, :age, :gender, presence: true
|
11
12
|
validates :gender, inclusion: { in: GENDERS }
|
12
13
|
validates :age, numericality: { greater_than: 0, less_than: 100 }
|
14
|
+
validate :validate_fdp
|
13
15
|
|
14
16
|
delegate(:name, to: :beneficiary_category, prefix: true)
|
17
|
+
delegate(:name, to: :fdp, prefix: true)
|
18
|
+
|
19
|
+
def validate_fdp
|
20
|
+
return unless fdp
|
21
|
+
|
22
|
+
errors.add(:fdp, 'should be a valid distribution point.') unless fdp.location_type == Location::FDP
|
23
|
+
end
|
15
24
|
end
|
16
25
|
end
|
17
26
|
end
|
@@ -10,6 +10,10 @@ module Cats
|
|
10
10
|
delegate(:reference_no, to: :plan, prefix: true, allow_nil: true)
|
11
11
|
delegate(:name, to: :commodity_category, prefix: true)
|
12
12
|
delegate(:abbreviation, to: :unit, prefix: true)
|
13
|
+
|
14
|
+
def commodity_name
|
15
|
+
commodity_category.name
|
16
|
+
end
|
13
17
|
end
|
14
18
|
end
|
15
19
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class RoundBeneficiary < ApplicationRecord
|
4
|
+
belongs_to :beneficiary
|
5
|
+
belongs_to :round_plan_item
|
6
|
+
belongs_to :commodity_category
|
7
|
+
belongs_to :unit, class_name: 'UnitOfMeasure'
|
8
|
+
|
9
|
+
validates :quantity, presence: true, numericality: { greater_than: 0 }
|
10
|
+
|
11
|
+
delegate(:full_name, to: :beneficiary, prefix: true)
|
12
|
+
delegate(:name, to: :commodity_category, prefix: true)
|
13
|
+
delegate(:abbreviation, to: :unit, prefix: true)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -14,6 +14,7 @@ module Cats
|
|
14
14
|
has_many :round_rations
|
15
15
|
has_many :beneficiary_round_plan_items, through: :round_plan_items
|
16
16
|
has_many :round_plan_item_details, through: :beneficiary_round_plan_items
|
17
|
+
has_many :round_beneficiaries, through: :round_plan_items
|
17
18
|
|
18
19
|
validates :rounds, presence: true
|
19
20
|
validates :reference_no, presence: true, uniqueness: true
|
@@ -10,6 +10,7 @@ module Cats
|
|
10
10
|
|
11
11
|
has_many :beneficiary_round_plan_items
|
12
12
|
has_many :round_plan_item_details, through: :beneficiary_round_plan_items
|
13
|
+
has_many :round_beneficiaries
|
13
14
|
|
14
15
|
validates :plan_item_id, presence: true
|
15
16
|
validates :round_plan_id, uniqueness: { scope: :fdp_id }
|
@@ -14,6 +14,10 @@ module Cats
|
|
14
14
|
delegate(:name, to: :received_commodity, prefix: true)
|
15
15
|
delegate(:abbreviation, to: :issued_unit, prefix: true)
|
16
16
|
delegate(:abbreviation, to: :received_unit, prefix: true)
|
17
|
+
|
18
|
+
def commodity_name
|
19
|
+
received_commodity.name
|
20
|
+
end
|
17
21
|
end
|
18
22
|
end
|
19
23
|
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class RoundBeneficiarySerializer < ActiveModel::Serializer
|
4
|
+
attributes :id, :beneficiary_id, :beneficiary_full_name, :round_plan_item_id, :commodity_category_id,
|
5
|
+
:commodity_category_name, :quantity, :unit_id, :unit_abbreviation, :received
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -43,6 +43,23 @@ module Cats
|
|
43
43
|
authorization.dispatch.stack
|
44
44
|
authorization
|
45
45
|
end
|
46
|
+
|
47
|
+
def receipt_authorization(id)
|
48
|
+
item = DispatchPlanItem.find(id).includes(
|
49
|
+
:destination,
|
50
|
+
:unit,
|
51
|
+
commodity: { project: :source }
|
52
|
+
)
|
53
|
+
{
|
54
|
+
date: Date.today,
|
55
|
+
reference_no: item.reference_no,
|
56
|
+
destination: item.destination.name,
|
57
|
+
source: item.commodity.project.source.description,
|
58
|
+
commodity: "#{item.commodity.project.source.commodity_name} (#{item.commodity.batch_no})",
|
59
|
+
unit: item.unit.abbreviation,
|
60
|
+
quantity: item.quantity
|
61
|
+
}
|
62
|
+
end
|
46
63
|
end
|
47
64
|
end
|
48
65
|
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
module Cats
|
2
|
+
module Core
|
3
|
+
class BeneficiaryService
|
4
|
+
def clear_distribution_list(id)
|
5
|
+
round_plan = RoundPlan.find(id)
|
6
|
+
raise(StandardError, 'Round plan is not in draft state.') unless round_plan.status == RoundPlan::DRAFT
|
7
|
+
|
8
|
+
RoundBeneficiary.joins(:round_plan_item).where(round_plan_item: { round_plan_id: id }).delete_all
|
9
|
+
end
|
10
|
+
|
11
|
+
def generate_distribution_list(id)
|
12
|
+
clear_distribution_list(id)
|
13
|
+
round_plan = RoundPlan.find(id)
|
14
|
+
plan_days = round_plan.plan.no_of_round_days
|
15
|
+
rounds = round_plan.rounds.count
|
16
|
+
beneficiaries = Beneficiary.joins(:beneficiary_category).where(
|
17
|
+
beneficiary_category: { plan_id: round_plan.plan_id }
|
18
|
+
).group_by(&:fdp_id)
|
19
|
+
beneficiaries.each_key do |key|
|
20
|
+
beneficiaries[key] = beneficiaries[key].group_by(&:beneficiary_category_id)
|
21
|
+
end
|
22
|
+
rations = round_plan.round_rations
|
23
|
+
|
24
|
+
round_beneficiaries = []
|
25
|
+
round_plan.round_plan_items.each do |rpi|
|
26
|
+
fdp_beneficiaries = beneficiaries[rpi.fdp_id]
|
27
|
+
fdp_beneficiaries.each_key do |key|
|
28
|
+
category_rations = rations.select { |r| r.beneficiary_category_id == key }
|
29
|
+
category_rations.each do |ration|
|
30
|
+
fdp_beneficiaries[key].each do |beneficiary|
|
31
|
+
round_beneficiaries << {
|
32
|
+
beneficiary_id: beneficiary.id,
|
33
|
+
round_plan_item_id: rpi.id,
|
34
|
+
commodity_category_id: ration.commodity_category_id,
|
35
|
+
quantity: plan_days / ration.no_of_days * ration.quantity * rounds,
|
36
|
+
unit_id: ration.unit_of_measure_id,
|
37
|
+
received: false
|
38
|
+
}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
RoundBeneficiary.insert_all!(round_beneficiaries, record_timestamps: true)
|
45
|
+
true
|
46
|
+
end
|
47
|
+
|
48
|
+
def remove_items(plan_id, ids)
|
49
|
+
raise(StandardError, 'No beneficiaries specified.') if ids.count.zero?
|
50
|
+
|
51
|
+
begin
|
52
|
+
plan = RoundPlan.find(plan_id)
|
53
|
+
rescue ActiveRecord::RecordNotFound
|
54
|
+
raise(StandardError, 'Round plan not found.') unless plan
|
55
|
+
end
|
56
|
+
|
57
|
+
beneficiaries = RoundBeneficiary.joins(:round_plan_item)
|
58
|
+
.where(round_plan_item: { round_plan_id: plan_id })
|
59
|
+
to_delete = RoundBeneficiary.where(id: ids)
|
60
|
+
diff = to_delete - beneficiaries
|
61
|
+
raise(StandardError, 'Round plan beneficiaries should be from the same plan.') if diff.count.positive?
|
62
|
+
|
63
|
+
to_delete.delete_all
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
67
|
+
def confirm_receipt(plan_id, ids)
|
68
|
+
raise(StandardError, 'No beneficiaries specified.') if ids.count.zero?
|
69
|
+
|
70
|
+
begin
|
71
|
+
plan = RoundPlan.find(plan_id)
|
72
|
+
rescue ActiveRecord::RecordNotFound
|
73
|
+
raise(StandardError, 'Round plan not found.') unless plan
|
74
|
+
end
|
75
|
+
|
76
|
+
beneficiaries = RoundBeneficiary.joins(:round_plan_item)
|
77
|
+
.where(round_plan_item: { round_plan_id: plan_id })
|
78
|
+
to_confirm = RoundBeneficiary.where(id: ids)
|
79
|
+
diff = to_confirm - beneficiaries
|
80
|
+
raise(StandardError, 'Round plan beneficiaries should be from the same plan.') if diff.count.positive?
|
81
|
+
|
82
|
+
to_confirm.update_all(received: true)
|
83
|
+
true
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/config/routes.rb
CHANGED
@@ -167,18 +167,27 @@ Cats::Core::Engine.routes.draw do
|
|
167
167
|
action: :create_allocation,
|
168
168
|
as: :allocation_transaction
|
169
169
|
)
|
170
|
+
post '/dispatch_transactions/filter', controller: :dispatch_transactions, action: :filter
|
170
171
|
resources :dispatch_transactions, except: %i[index new edit destroy]
|
172
|
+
post '/receipt_transactions/filter', controller: :receipt_transactions, action: :filter
|
171
173
|
resources :receipt_transactions, except: %i[index new edit destroy]
|
172
174
|
resources :lost_commodities, except: %i[index destroy]
|
173
175
|
get '/plans/:id/round_plans', controller: :round_plans, action: :index, as: :round_plans_plan
|
176
|
+
|
177
|
+
post '/round_beneficiaries/filter'
|
178
|
+
resources :round_beneficiaries, only: %i[show]
|
174
179
|
post '/round_plans/generate'
|
175
180
|
post '/round_plans/filter'
|
176
181
|
resources :round_plans, except: %i[index destroy] do
|
177
182
|
member do
|
178
183
|
post 'generate_dispatch_plan', controller: :dispatch_plans, action: :generate
|
179
184
|
post 'remove_items'
|
185
|
+
post 'remove_beneficiaries', controller: :round_beneficiaries, action: :remove_beneficiaries
|
186
|
+
post 'confirm_receipt', controller: :round_beneficiaries, action: :confirm_receipt
|
180
187
|
post 'generate_round_needs'
|
181
188
|
post 'approve'
|
189
|
+
post 'generate_distribution_list', controller: :round_beneficiaries, action: :generate
|
190
|
+
get 'beneficiaries', controller: :round_beneficiaries, action: :index
|
182
191
|
end
|
183
192
|
end
|
184
193
|
|
@@ -2,6 +2,7 @@ class CreateCatsCorePurchaseOrders < ActiveRecord::Migration[6.1]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_purchase_orders do |t|
|
4
4
|
t.string :reference_no, unique: true
|
5
|
+
t.string :description
|
5
6
|
t.date :order_date, null: false
|
6
7
|
t.string :requisition_no
|
7
8
|
t.string :supplier, null: false
|
@@ -9,6 +9,10 @@ class CreateCatsCoreBeneficiaries < ActiveRecord::Migration[7.0]
|
|
9
9
|
null: false,
|
10
10
|
index: { name: 'bc_on_beneficiaries_indx' },
|
11
11
|
foreign_key: { to_table: :cats_core_beneficiary_categories }
|
12
|
+
t.references :fdp,
|
13
|
+
null: false,
|
14
|
+
index: { name: 'fdp_on_beneficiaries_indx' },
|
15
|
+
foreign_key: { to_table: :cats_core_locations }
|
12
16
|
|
13
17
|
t.timestamps
|
14
18
|
end
|
@@ -2,6 +2,7 @@ class CreateCatsCoreSwaps < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_swaps do |t|
|
4
4
|
t.string :reference_no, unique: true
|
5
|
+
t.string :description
|
5
6
|
t.string :swapper, null: false
|
6
7
|
t.date :agreement_date, null: false
|
7
8
|
t.float :issued_quantity, null: false
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class CreateCatsCoreRoundBeneficiaries < ActiveRecord::Migration[7.0]
|
2
|
+
def change
|
3
|
+
create_table :cats_core_round_beneficiaries do |t|
|
4
|
+
t.references :beneficiary,
|
5
|
+
null: false,
|
6
|
+
index: { name: 'beneficiary_on_rb_indx' },
|
7
|
+
foreign_key: { to_table: :cats_core_beneficiaries }
|
8
|
+
t.references :round_plan_item,
|
9
|
+
null: false,
|
10
|
+
index: { name: 'rpi_on_rb_indx' },
|
11
|
+
foreign_key: { to_table: :cats_core_round_plan_items }
|
12
|
+
t.references :commodity_category,
|
13
|
+
null: false,
|
14
|
+
index: { name: 'cc_on_rb_indx' },
|
15
|
+
foreign_key: { to_table: :cats_core_commodity_categories }
|
16
|
+
t.float :quantity, null: false
|
17
|
+
t.references :unit,
|
18
|
+
null: false,
|
19
|
+
index: { name: 'unit_on_rb_indx' },
|
20
|
+
foreign_key: { to_table: :cats_core_unit_of_measures }
|
21
|
+
t.boolean :received, null: false, default: false
|
22
|
+
|
23
|
+
t.timestamps
|
24
|
+
end
|
25
|
+
end
|
26
|
+
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.4.
|
4
|
+
version: 1.4.45
|
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-06-
|
11
|
+
date: 2022-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|
@@ -252,6 +252,7 @@ files:
|
|
252
252
|
- app/controllers/cats/core/receipt_transactions_controller.rb
|
253
253
|
- app/controllers/cats/core/receipts_controller.rb
|
254
254
|
- app/controllers/cats/core/roles_controller.rb
|
255
|
+
- app/controllers/cats/core/round_beneficiaries_controller.rb
|
255
256
|
- app/controllers/cats/core/round_plans_controller.rb
|
256
257
|
- app/controllers/cats/core/routes_controller.rb
|
257
258
|
- app/controllers/cats/core/spaces_controller.rb
|
@@ -310,6 +311,7 @@ files:
|
|
310
311
|
- app/models/cats/core/rhn_request.rb
|
311
312
|
- app/models/cats/core/role.rb
|
312
313
|
- app/models/cats/core/role_menu.rb
|
314
|
+
- app/models/cats/core/round_beneficiary.rb
|
313
315
|
- app/models/cats/core/round_plan.rb
|
314
316
|
- app/models/cats/core/round_plan_item.rb
|
315
317
|
- app/models/cats/core/round_plan_item_detail.rb
|
@@ -361,6 +363,7 @@ files:
|
|
361
363
|
- app/serializers/cats/core/receipt_transaction_serializer.rb
|
362
364
|
- app/serializers/cats/core/role_menu_serializer.rb
|
363
365
|
- app/serializers/cats/core/role_serializer.rb
|
366
|
+
- app/serializers/cats/core/round_beneficiary_serializer.rb
|
364
367
|
- app/serializers/cats/core/round_plan_serializer.rb
|
365
368
|
- app/serializers/cats/core/route_serializer.rb
|
366
369
|
- app/serializers/cats/core/stack_serializer.rb
|
@@ -371,6 +374,7 @@ files:
|
|
371
374
|
- app/serializers/cats/core/unit_of_measure_serializer.rb
|
372
375
|
- app/serializers/cats/core/user_serializer.rb
|
373
376
|
- app/services/cats/core/authorization_service.rb
|
377
|
+
- app/services/cats/core/beneficiary_service.rb
|
374
378
|
- app/services/cats/core/dispatch_plan_service.rb
|
375
379
|
- app/services/cats/core/dispatch_service.rb
|
376
380
|
- app/services/cats/core/menu_service.rb
|
@@ -451,6 +455,7 @@ files:
|
|
451
455
|
- db/migrate/20220511082354_create_cats_core_beneficiaries.rb
|
452
456
|
- db/migrate/20220626063501_create_cats_core_loans.rb
|
453
457
|
- db/migrate/20220626063757_create_cats_core_swaps.rb
|
458
|
+
- db/migrate/20220626132050_create_cats_core_round_beneficiaries.rb
|
454
459
|
- lib/cats/core.rb
|
455
460
|
- lib/cats/core/engine.rb
|
456
461
|
- lib/cats/core/version.rb
|
@@ -498,6 +503,7 @@ files:
|
|
498
503
|
- spec/factories/cats/core/rhn_requests.rb
|
499
504
|
- spec/factories/cats/core/role_menus.rb
|
500
505
|
- spec/factories/cats/core/roles.rb
|
506
|
+
- spec/factories/cats/core/round_beneficiaries.rb
|
501
507
|
- spec/factories/cats/core/round_plan_item_details.rb
|
502
508
|
- spec/factories/cats/core/round_plan_items.rb
|
503
509
|
- spec/factories/cats/core/round_plans.rb
|