cats_core 1.5.19 → 1.5.21
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/commodities_controller.rb +3 -3
- data/app/controllers/cats/core/dispatch_authorizations_controller.rb +4 -4
- data/app/controllers/cats/core/dispatch_plan_items_controller.rb +1 -1
- data/app/controllers/cats/core/dispatch_plans_controller.rb +2 -2
- data/app/controllers/cats/core/dispatch_transactions_controller.rb +1 -1
- data/app/controllers/cats/core/dispatches_controller.rb +5 -5
- data/app/controllers/cats/core/loans_controller.rb +1 -1
- data/app/controllers/cats/core/purchase_orders_controller.rb +2 -2
- data/app/controllers/cats/core/receipt_authorizations_controller.rb +5 -5
- data/app/controllers/cats/core/receipt_transactions_controller.rb +2 -2
- data/app/controllers/cats/core/receipts_controller.rb +1 -1
- data/app/controllers/cats/core/roles_controller.rb +1 -1
- data/app/controllers/cats/core/round_beneficiaries_controller.rb +5 -5
- data/app/controllers/cats/core/round_plans_controller.rb +3 -3
- data/app/controllers/cats/core/stack_transactions_controller.rb +1 -1
- data/app/controllers/cats/core/stacks_controller.rb +2 -2
- data/app/controllers/cats/core/stores_controller.rb +1 -1
- data/app/controllers/cats/core/swaps_controller.rb +2 -2
- data/app/controllers/cats/core/users_controller.rb +1 -1
- data/app/controllers/concerns/cats/core/common.rb +15 -16
- data/app/models/cats/core/authorization.rb +1 -1
- data/app/models/cats/core/beneficiary_plan_item.rb +1 -1
- data/app/models/cats/core/commodity.rb +12 -12
- data/app/models/cats/core/commodity_substitution.rb +2 -2
- data/app/models/cats/core/dispatch.rb +16 -16
- data/app/models/cats/core/dispatch_authorization.rb +3 -3
- data/app/models/cats/core/dispatch_plan.rb +6 -6
- data/app/models/cats/core/dispatch_plan_item.rb +10 -10
- data/app/models/cats/core/dispatch_transaction.rb +8 -8
- data/app/models/cats/core/location.rb +2 -2
- data/app/models/cats/core/receipt_authorization.rb +2 -2
- data/app/models/cats/core/receipt_transaction.rb +2 -2
- data/app/models/cats/core/round_beneficiary.rb +4 -4
- data/app/models/cats/core/round_plan.rb +2 -2
- data/app/models/cats/core/round_plan_item.rb +2 -2
- data/app/models/cats/core/route.rb +2 -2
- data/app/models/cats/core/stack.rb +30 -30
- data/app/models/cats/core/stacking_rule.rb +2 -2
- data/app/models/cats/core/store.rb +21 -21
- data/app/models/cats/core/transporter.rb +2 -2
- data/app/models/cats/core/unit_conversion.rb +1 -3
- data/app/serializers/cats/core/cash_donation_serializer.rb +1 -1
- data/app/serializers/cats/core/commodity_donation_serializer.rb +2 -2
- data/app/serializers/cats/core/commodity_serializer.rb +2 -2
- data/app/serializers/cats/core/dispatch_authorization_serializer.rb +2 -2
- data/app/serializers/cats/core/dispatch_plan_item_serializer.rb +3 -3
- data/app/serializers/cats/core/dispatch_plan_serializer.rb +1 -1
- data/app/serializers/cats/core/dispatch_serializer.rb +2 -2
- data/app/serializers/cats/core/dispatch_transaction_serializer.rb +1 -1
- data/app/serializers/cats/core/loan_serializer.rb +1 -1
- data/app/serializers/cats/core/purchase_order_serializer.rb +2 -2
- data/app/serializers/cats/core/receipt_authorization_serializer.rb +2 -2
- data/app/serializers/cats/core/receipt_serializer.rb +1 -1
- data/app/serializers/cats/core/receipt_transaction_serializer.rb +2 -2
- data/app/serializers/cats/core/round_beneficiary_serializer.rb +1 -1
- data/app/serializers/cats/core/round_plan_serializer.rb +1 -1
- data/app/serializers/cats/core/stack_serializer.rb +1 -1
- data/app/serializers/cats/core/store_serializer.rb +1 -1
- data/app/serializers/cats/core/swap_serializer.rb +2 -2
- data/app/services/cats/core/authorization_service.rb +3 -9
- data/app/services/cats/core/beneficiary_service.rb +2 -2
- data/app/services/cats/core/dispatch_plan_service.rb +1 -1
- data/app/services/cats/core/dispatch_service.rb +18 -20
- data/app/services/cats/core/notification_service.rb +1 -1
- data/app/services/cats/core/round_plan_service.rb +4 -6
- data/app/services/cats/core/space_service.rb +6 -6
- data/app/services/cats/core/stack_service.rb +8 -8
- data/app/services/cats/core/user_service.rb +1 -1
- data/db/migrate/20210715114910_create_cats_core_users.rb +3 -3
- data/db/migrate/20210715120018_create_cats_core_roles.rb +11 -11
- data/db/migrate/20210715121244_create_cats_core_menus.rb +3 -3
- data/db/migrate/20210715122141_create_cats_core_menu_items.rb +3 -3
- data/db/migrate/20210715122423_create_cats_core_role_menus.rb +12 -12
- data/db/migrate/20210717031810_create_cats_core_plans.rb +3 -3
- data/db/migrate/20210717032024_create_cats_core_plan_items.rb +19 -19
- data/db/migrate/20210717032260_create_cats_core_beneficiary_categories.rb +3 -3
- data/db/migrate/20210717032270_create_cats_core_rations.rb +9 -9
- data/db/migrate/20210717032290_create_cats_core_beneficiary_plan_items.rb +7 -7
- data/db/migrate/20210717032295_create_cats_core_plan_item_details.rb +7 -7
- data/db/migrate/20210717032330_create_cats_core_commodity_donations.rb +12 -12
- data/db/migrate/20210717032408_create_cats_core_cash_donations.rb +6 -6
- data/db/migrate/20210717032602_create_cats_core_gift_certificates.rb +12 -12
- data/db/migrate/20210717032855_create_cats_core_purchase_orders.rb +12 -12
- data/db/migrate/20210717032927_create_cats_core_projects.rb +3 -3
- data/db/migrate/20210717033223_create_cats_core_commodities.rb +9 -9
- data/db/migrate/20210717140855_create_cats_core_stores.rb +3 -3
- data/db/migrate/20210717171101_create_cats_core_stacks.rb +9 -9
- data/db/migrate/20210718040129_create_cats_core_routes.rb +9 -9
- data/db/migrate/20210718042755_create_cats_core_rhn_requests.rb +6 -6
- data/db/migrate/20210718043328_create_cats_core_dispatch_plans.rb +6 -6
- data/db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb +15 -15
- data/db/migrate/20210718045516_create_cats_core_dispatches.rb +12 -12
- data/db/migrate/20210718055414_create_cats_core_dispatch_authorizations.rb +12 -12
- data/db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb +10 -10
- data/db/migrate/20210727074646_create_cats_core_receipt_authorizations.rb +12 -12
- data/db/migrate/20210727105834_create_cats_core_receipts.rb +6 -6
- data/db/migrate/20210728041505_create_cats_core_lost_commodities.rb +6 -6
- data/db/migrate/20210814160628_create_cats_core_receipt_transactions.rb +9 -9
- data/db/migrate/20210814175406_create_cats_core_stack_transactions.rb +9 -9
- data/db/migrate/20211215114737_create_cats_core_transport_plans.rb +3 -3
- data/db/migrate/20211215114835_create_cats_core_transport_plan_items.rb +9 -9
- data/db/migrate/20211215121151_create_cats_core_transport_bids.rb +3 -3
- data/db/migrate/20211215124452_create_cats_core_transport_bid_items.rb +9 -9
- data/db/migrate/20211229160125_create_cats_core_transport_offers.rb +7 -7
- data/db/migrate/20211229160126_create_cats_core_offer_items.rb +6 -6
- data/db/migrate/20211229160127_create_cats_core_transport_contracts.rb +6 -6
- data/db/migrate/20211229160128_create_cats_core_contract_items.rb +9 -9
- data/db/migrate/20211229160129_create_cats_core_commodity_substitutions.rb +10 -10
- data/db/migrate/20220103152802_create_cats_core_tenderers.rb +6 -6
- data/db/migrate/20220107121752_create_cats_core_round_plans.rb +6 -6
- data/db/migrate/20220107122280_create_cats_core_round_rations.rb +12 -12
- data/db/migrate/20220107125025_create_cats_core_round_plan_items.rb +18 -18
- data/db/migrate/20220107126025_create_cats_core_beneficiary_round_plan_items.rb +7 -7
- data/db/migrate/20220107132433_create_cats_core_round_plan_item_details.rb +9 -9
- data/db/migrate/20220209083928_create_cats_core_hub_authorizations.rb +12 -12
- data/db/migrate/20220416143416_create_cats_core_unit_conversions.rb +7 -7
- data/db/migrate/20220417105839_create_cats_core_transport_requisitions.rb +12 -12
- data/db/migrate/20220417123835_create_cats_core_transport_requisition_items.rb +9 -9
- data/db/migrate/20220417151821_create_cats_core_transport_requisition_details.rb +6 -6
- data/db/migrate/20220506082329_create_cats_core_transport_orders.rb +9 -9
- data/db/migrate/20220506083042_create_cats_core_transport_order_items.rb +12 -12
- data/db/migrate/20220511082354_create_cats_core_beneficiaries.rb +6 -6
- data/db/migrate/20220626063501_create_cats_core_loans.rb +6 -6
- data/db/migrate/20220626063757_create_cats_core_swaps.rb +12 -12
- data/db/migrate/20220626132050_create_cats_core_round_beneficiaries.rb +12 -12
- data/db/migrate/20220923190857_create_cats_core_application_settings.rb +3 -3
- data/lib/cats/core/engine.rb +1 -3
- data/lib/cats/core/version.rb +1 -1
- data/spec/factories/cats/core/dispatch_authorizations.rb +1 -1
- data/spec/factories/cats/core/dispatch_plan_items.rb +1 -1
- data/spec/factories/cats/core/dispatches.rb +4 -4
- data/spec/factories/cats/core/round_plan_item_details.rb +1 -1
- metadata +41 -13
@@ -18,7 +18,7 @@ module Cats
|
|
18
18
|
round_rations = rations.select { |r| r.beneficiary_category_id == plan_item.beneficiary_category_id }
|
19
19
|
round_rations.each do |ration|
|
20
20
|
quantity = (no_of_days / ration.no_of_days * ration.quantity) * plan_item.beneficiaries *
|
21
|
-
|
21
|
+
round_plan.rounds.count
|
22
22
|
quantity = quantity.truncate(2)
|
23
23
|
unit = ration.unit
|
24
24
|
if ration.unit.abbreviation.downcase != "pc"
|
@@ -120,18 +120,16 @@ module Cats
|
|
120
120
|
end
|
121
121
|
|
122
122
|
plans = Cats::Core::RoundPlan.includes(:beneficiary_round_plan_items)
|
123
|
-
|
123
|
+
.where(beneficiary_round_plan_items: {id: ids})
|
124
124
|
raise(StandardError, "Round plan items should be from the same plan.") if plans.count > 1
|
125
125
|
|
126
|
-
unless plans.count.positive? && plan.id == plans[0].id
|
127
|
-
raise(StandardError, "Round plan items are not from the given round plan.")
|
128
|
-
end
|
126
|
+
raise(StandardError, "Round plan items are not from the given round plan.") unless plans.count.positive? && plan.id == plans[0].id
|
129
127
|
|
130
128
|
to_delete = Cats::Core::BeneficiaryRoundPlanItem.where(id: ids)
|
131
129
|
keys = to_delete.map(&:round_plan_item_id).uniq
|
132
130
|
|
133
131
|
item_counts = Cats::Core::BeneficiaryRoundPlanItem.where(round_plan_item_id: keys)
|
134
|
-
|
132
|
+
.group(:round_plan_item_id).count
|
135
133
|
|
136
134
|
delete_hash = {}
|
137
135
|
keys.each { |k| delete_hash[k] = [] }
|
@@ -12,12 +12,12 @@ module Cats
|
|
12
12
|
warehouses = hub.children
|
13
13
|
warehouse_ids = warehouses.map(&:id)
|
14
14
|
stores = Cats::Core::Store.joins(:warehouse)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
.where(
|
16
|
+
cats_core_locations: {
|
17
|
+
location_type: Cats::Core::Location::WAREHOUSE,
|
18
|
+
id: warehouse_ids
|
19
|
+
}
|
20
|
+
).group_by(&:warehouse_id)
|
21
21
|
wh_details = []
|
22
22
|
stores.each do |key, value|
|
23
23
|
total_space = value.inject(0) { |sum, val| sum + val.available_space }
|
@@ -8,17 +8,17 @@ module Cats
|
|
8
8
|
raise(StandardError, "User does not have associated location.") unless key_available
|
9
9
|
|
10
10
|
hub = if details["hub"]
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
11
|
+
Location.find(details["hub"])
|
12
|
+
elsif details["warehouse"]
|
13
|
+
Location.find(details["warehouse"]).parent
|
14
|
+
else
|
15
|
+
Store.find(details["stores"][0]).warehouse.parent
|
16
|
+
end
|
17
17
|
|
18
18
|
allocation_items =
|
19
19
|
DispatchPlanItem
|
20
|
-
|
21
|
-
|
20
|
+
.joins(:dispatch_plan)
|
21
|
+
.where(destination: hub, dispatch_plan: {status: DispatchPlan::APPROVED})
|
22
22
|
|
23
23
|
allocation_items.map do |item|
|
24
24
|
{
|
@@ -4,7 +4,7 @@ module Cats
|
|
4
4
|
def change_password(email, old_password, new_password, password_confirmation)
|
5
5
|
raise(StandardError, "Password and confirmation do not match.") unless new_password == password_confirmation
|
6
6
|
|
7
|
-
user = User.find_by(email:)
|
7
|
+
user = User.find_by(email: email)
|
8
8
|
raise(StandardError, "User with email '#{email}' could not be found.") unless user
|
9
9
|
|
10
10
|
raise(StandardError, "Old password for user '#{email}' is not correct.") unless user.authenticate(old_password)
|
@@ -9,9 +9,9 @@ class CreateCatsCoreUsers < ActiveRecord::Migration[6.1]
|
|
9
9
|
t.jsonb :details, null: false, default: {}
|
10
10
|
t.string :phone_number
|
11
11
|
t.references :application_module,
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
null: false,
|
13
|
+
index: {name: "am_on_users_indx"},
|
14
|
+
foreign_key: {to_table: :cats_core_application_modules}
|
15
15
|
|
16
16
|
t.timestamps
|
17
17
|
end
|
@@ -4,25 +4,25 @@ class CreateCatsCoreRoles < ActiveRecord::Migration[6.1]
|
|
4
4
|
t.string :name
|
5
5
|
t.references :resource, polymorphic: true
|
6
6
|
t.references :application_module,
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
null: false,
|
8
|
+
index: {name: "am_on_roles_indx"},
|
9
|
+
foreign_key: {to_table: :cats_core_application_modules}
|
10
10
|
|
11
11
|
t.timestamps
|
12
12
|
end
|
13
13
|
|
14
14
|
create_table(:cats_core_users_cats_core_roles, id: false) do |t|
|
15
15
|
t.references :user,
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
null: false,
|
17
|
+
index: {name: "user_on_ur_indx"},
|
18
|
+
foreign_key: {to_table: :cats_core_users}
|
19
19
|
t.references :role,
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
null: false,
|
21
|
+
index: {name: "role_on_ur_indx"},
|
22
|
+
foreign_key: {to_table: :cats_core_roles}
|
23
23
|
end
|
24
24
|
|
25
|
-
add_index(:cats_core_roles, [
|
26
|
-
add_index(:cats_core_users_cats_core_roles, [
|
25
|
+
add_index(:cats_core_roles, %i[name resource_type resource_id])
|
26
|
+
add_index(:cats_core_users_cats_core_roles, %i[user_id role_id], unique: true)
|
27
27
|
end
|
28
28
|
end
|
@@ -4,9 +4,9 @@ class CreateCatsCoreMenus < ActiveRecord::Migration[6.1]
|
|
4
4
|
t.string :label, null: false
|
5
5
|
t.string :icon
|
6
6
|
t.references :application_module,
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
null: false,
|
8
|
+
index: {name: "am_on_menus_indx"},
|
9
|
+
foreign_key: {to_table: :cats_core_application_modules}
|
10
10
|
|
11
11
|
t.timestamps
|
12
12
|
end
|
@@ -5,9 +5,9 @@ class CreateCatsCoreMenuItems < ActiveRecord::Migration[6.1]
|
|
5
5
|
t.string :icon
|
6
6
|
t.string :route, null: false
|
7
7
|
t.references :menu,
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
null: false,
|
9
|
+
index: {name: "menu_on_mi_indx"},
|
10
|
+
foreign_key: {to_table: :cats_core_menus}
|
11
11
|
|
12
12
|
t.timestamps
|
13
13
|
end
|
@@ -2,13 +2,13 @@ class CreateCatsCoreRoleMenus < ActiveRecord::Migration[6.1]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_role_menus do |t|
|
4
4
|
t.references :role,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "role_on_rm_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_roles}
|
8
8
|
t.references :menu,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "menu_on_rm_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_menus}
|
12
12
|
t.string :description
|
13
13
|
|
14
14
|
t.timestamps
|
@@ -16,13 +16,13 @@ class CreateCatsCoreRoleMenus < ActiveRecord::Migration[6.1]
|
|
16
16
|
|
17
17
|
create_table(:cats_core_role_menus_menu_items, id: false) do |t|
|
18
18
|
t.references :role_menu,
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
null: false,
|
20
|
+
index: {name: "rm_on_ummi_indx"},
|
21
|
+
foreign_key: {to_table: :cats_core_role_menus}
|
22
22
|
t.references :menu_item,
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
null: false,
|
24
|
+
index: {name: "mi_on_ummi_indx"},
|
25
|
+
foreign_key: {to_table: :cats_core_menu_items}
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -10,9 +10,9 @@ class CreateCatsCorePlans < ActiveRecord::Migration[6.1]
|
|
10
10
|
t.integer :rounds, null: false
|
11
11
|
|
12
12
|
t.references :program,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "program_on_plan_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_programs}
|
16
16
|
|
17
17
|
t.timestamps
|
18
18
|
end
|
@@ -2,33 +2,33 @@ class CreateCatsCorePlanItems < ActiveRecord::Migration[6.1]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_plan_items do |t|
|
4
4
|
t.references :plan,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "plan_on_plan_items_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_plans}
|
8
8
|
t.references :region,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "region_on_plan_items_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_locations}
|
12
12
|
t.references :zone,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "zone_on_plan_items_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_locations}
|
16
16
|
t.references :woreda,
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
null: false,
|
18
|
+
index: {name: "woreda_on_plan_items_idnx"},
|
19
|
+
foreign_key: {to_table: :cats_core_locations}
|
20
20
|
t.references :fdp,
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
null: false,
|
22
|
+
index: {name: "fdp_on_plan_items_indx"},
|
23
|
+
foreign_key: {to_table: :cats_core_locations}
|
24
24
|
t.references :operator,
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
null: false,
|
26
|
+
index: {name: "operator_on_plan_items_indx"},
|
27
|
+
foreign_key: {to_table: :cats_core_operators}
|
28
28
|
|
29
29
|
t.timestamps
|
30
30
|
end
|
31
31
|
|
32
|
-
add_index :cats_core_plan_items, [
|
32
|
+
add_index :cats_core_plan_items, %i[plan_id fdp_id], unique: true
|
33
33
|
end
|
34
34
|
end
|
@@ -4,9 +4,9 @@ class CreateCatsCoreBeneficiaryCategories < ActiveRecord::Migration[7.0]
|
|
4
4
|
t.string :code, unique: true
|
5
5
|
t.string :name, null: false
|
6
6
|
t.references :plan,
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
null: false,
|
8
|
+
index: {name: "plan_on_bc_indx"},
|
9
|
+
foreign_key: {to_table: :cats_core_plans}
|
10
10
|
|
11
11
|
t.timestamps
|
12
12
|
end
|
@@ -3,17 +3,17 @@ class CreateCatsCoreRations < ActiveRecord::Migration[6.1]
|
|
3
3
|
create_table :cats_core_rations do |t|
|
4
4
|
t.string :reference_no, unique: true
|
5
5
|
t.references :beneficiary_category,
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
null: false,
|
7
|
+
index: {name: "bc_on_ration_indx"},
|
8
|
+
foreign_key: {to_table: :cats_core_beneficiary_categories}
|
9
9
|
t.references :commodity_category,
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
null: false,
|
11
|
+
index: {name: "cc_on_ration_indx"},
|
12
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
13
13
|
t.references :unit_of_measure,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
null: false,
|
15
|
+
index: {name: "uom_on_ration_indx"},
|
16
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
17
17
|
t.float :quantity, null: false
|
18
18
|
t.integer :no_of_days, null: false
|
19
19
|
|
@@ -2,13 +2,13 @@ class CreateCatsCoreBeneficiaryPlanItems < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_beneficiary_plan_items do |t|
|
4
4
|
t.references :plan_item,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "pi_on_bpi_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_plan_items}
|
8
8
|
t.references :beneficiary_category,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "bc_on_bpi_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_beneficiary_categories}
|
12
12
|
t.integer :beneficiaries, null: false
|
13
13
|
|
14
14
|
t.integer :rounds
|
@@ -18,7 +18,7 @@ class CreateCatsCoreBeneficiaryPlanItems < ActiveRecord::Migration[7.0]
|
|
18
18
|
end
|
19
19
|
add_index(
|
20
20
|
:cats_core_beneficiary_plan_items,
|
21
|
-
[
|
21
|
+
%i[plan_item_id beneficiary_category_id],
|
22
22
|
unique: true,
|
23
23
|
name: "pii_on_bci_uniq_indx"
|
24
24
|
)
|
@@ -2,17 +2,17 @@ class CreateCatsCorePlanItemDetails < ActiveRecord::Migration[6.1]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_plan_item_details do |t|
|
4
4
|
t.references :beneficiary_plan_item,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "bpi_on_pid_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_beneficiary_plan_items}
|
8
8
|
t.references :ration,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "ration_on_pid_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_rations}
|
12
12
|
t.float :quantity, null: false
|
13
13
|
|
14
14
|
t.timestamps
|
15
15
|
end
|
16
|
-
add_index(:cats_core_plan_item_details, [
|
16
|
+
add_index(:cats_core_plan_item_details, %i[beneficiary_plan_item_id ration_id], unique: true, name: "bpii_ri_on_pid_indx")
|
17
17
|
end
|
18
18
|
end
|
@@ -6,22 +6,22 @@ class CreateCatsCoreCommodityDonations < ActiveRecord::Migration[6.1]
|
|
6
6
|
t.string :shipping_reference
|
7
7
|
t.date :donated_on, null: false
|
8
8
|
t.references :donor,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "donor_on_cd_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_donors}
|
12
12
|
t.references :commodity_category,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "cc_on_cd_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
16
16
|
t.references :plan,
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
null: true,
|
18
|
+
index: {name: "plan_on_cd_indx"},
|
19
|
+
foreign_key: {to_table: :cats_core_plans}
|
20
20
|
t.float :quantity, null: false
|
21
21
|
t.references :unit,
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
null: false,
|
23
|
+
index: {name: "unit_on_cd_indx"},
|
24
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
25
25
|
|
26
26
|
t.timestamps
|
27
27
|
end
|
@@ -5,14 +5,14 @@ class CreateCatsCoreCashDonations < ActiveRecord::Migration[7.0]
|
|
5
5
|
t.string :description
|
6
6
|
t.date :donated_on, null: false
|
7
7
|
t.references :donor,
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
null: false,
|
9
|
+
index: {name: "donor_on_cad_indx"},
|
10
|
+
foreign_key: {to_table: :cats_core_donors}
|
11
11
|
t.float :amount, null: false
|
12
12
|
t.references :currency,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "currency_on_cad_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_currencies}
|
16
16
|
|
17
17
|
t.timestamps
|
18
18
|
end
|
@@ -11,23 +11,23 @@ class CreateCatsCoreGiftCertificates < ActiveRecord::Migration[6.1]
|
|
11
11
|
t.string :bill_of_lading_no
|
12
12
|
t.float :quantity, null: false
|
13
13
|
t.references :commodity_category,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
null: false,
|
15
|
+
index: {name: "gc_on_cc_indx"},
|
16
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
17
17
|
t.references :unit,
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
null: false,
|
19
|
+
index: {name: "unit_on_gc_indx"},
|
20
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
21
21
|
t.references :destination_warehouse,
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
null: false,
|
23
|
+
index: {name: "dw_on_gc_indx"},
|
24
|
+
foreign_key: {to_table: :cats_core_locations}
|
25
25
|
t.float :estimated_price
|
26
26
|
t.float :estimated_tax
|
27
27
|
t.references :currency,
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
null: false,
|
29
|
+
index: {name: "currency_on_gc_indx"},
|
30
|
+
foreign_key: {to_table: :cats_core_currencies}
|
31
31
|
t.string :registration_no
|
32
32
|
t.string :requested_by, null: false
|
33
33
|
t.string :request_reference
|
@@ -10,21 +10,21 @@ class CreateCatsCorePurchaseOrders < ActiveRecord::Migration[6.1]
|
|
10
10
|
t.string :purchase_type, null: false
|
11
11
|
t.float :price, null: false
|
12
12
|
t.references :currency,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "currency_on_po_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_currencies}
|
16
16
|
t.references :cash_donation,
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
null: false,
|
18
|
+
index: {name: "cd_on_po_indx"},
|
19
|
+
foreign_key: {to_table: :cats_core_cash_donations}
|
20
20
|
t.references :commodity_category,
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
null: false,
|
22
|
+
index: {name: "cc_on_po_indx"},
|
23
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
24
24
|
t.references :unit,
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
null: false,
|
26
|
+
index: {name: "unit_on_po_indx"},
|
27
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
28
28
|
|
29
29
|
t.timestamps
|
30
30
|
end
|
@@ -5,9 +5,9 @@ class CreateCatsCoreProjects < ActiveRecord::Migration[7.0]
|
|
5
5
|
t.string :description
|
6
6
|
t.references :source, polymorphic: true
|
7
7
|
t.references :program,
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
null: false,
|
9
|
+
index: {name: "program_on_projects_indx"},
|
10
|
+
foreign_key: {to_table: :cats_core_programs}
|
11
11
|
t.integer :year, null: false
|
12
12
|
t.string :implementing_agency, null: false
|
13
13
|
|
@@ -3,17 +3,17 @@ class CreateCatsCoreCommodities < ActiveRecord::Migration[6.1]
|
|
3
3
|
create_table :cats_core_commodities do |t|
|
4
4
|
t.string :batch_no, unique: true
|
5
5
|
t.references :unit_of_measure,
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
null: false,
|
7
|
+
index: {name: "uom_on_commodities_indx"},
|
8
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
9
9
|
t.references :project,
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
null: false,
|
11
|
+
index: {name: "project_on_commodity_indx"},
|
12
|
+
foreign_key: {to_table: :cats_core_projects}
|
13
13
|
t.references :package_unit,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
null: true,
|
15
|
+
index: {name: "pu_on_commodity_indx"},
|
16
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
17
17
|
|
18
18
|
t.float :quantity, null: false
|
19
19
|
t.string :description
|
@@ -14,9 +14,9 @@ class CreateCatsCoreStores < ActiveRecord::Migration[6.1]
|
|
14
14
|
t.float :gangway_width
|
15
15
|
t.float :gangway_corner_dist
|
16
16
|
t.references :warehouse,
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
null: false,
|
18
|
+
index: {name: "warehouse_on_stores_indx"},
|
19
|
+
foreign_key: {to_table: :cats_core_locations}
|
20
20
|
|
21
21
|
t.timestamps
|
22
22
|
end
|
@@ -8,20 +8,20 @@ class CreateCatsCoreStacks < ActiveRecord::Migration[6.1]
|
|
8
8
|
t.float :start_x, null: false
|
9
9
|
t.float :start_y, null: false
|
10
10
|
t.references :commodity,
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
null: false,
|
12
|
+
index: {name: "commodity_on_stack_indx"},
|
13
|
+
foreign_key: {to_table: :cats_core_commodities}
|
14
14
|
t.references :store,
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
null: false,
|
16
|
+
index: {name: "store_on_stack_indx"},
|
17
|
+
foreign_key: {to_table: :cats_core_stores}
|
18
18
|
t.string :commodity_status, null: false, default: "Good"
|
19
19
|
t.string :stack_status, null: false, default: "Reserved"
|
20
20
|
t.float :quantity, null: false, default: 0
|
21
21
|
t.references :unit,
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
null: false,
|
23
|
+
index: {name: "unit_on_stack_indx"},
|
24
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
25
25
|
|
26
26
|
t.timestamps
|
27
27
|
end
|
@@ -3,17 +3,17 @@ class CreateCatsCoreRoutes < ActiveRecord::Migration[6.1]
|
|
3
3
|
create_table :cats_core_routes do |t|
|
4
4
|
t.string :name, null: false
|
5
5
|
t.references :region,
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
null: false,
|
7
|
+
index: {name: "region_on_routes_indx"},
|
8
|
+
foreign_key: {to_table: :cats_core_locations}
|
9
9
|
t.references :source,
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
null: false,
|
11
|
+
index: {name: "source_on_routes_indx"},
|
12
|
+
foreign_key: {to_table: :cats_core_locations}
|
13
13
|
t.references :destination,
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
null: false,
|
15
|
+
index: {name: "destination_on_routes_indx"},
|
16
|
+
foreign_key: {to_table: :cats_core_locations}
|
17
17
|
|
18
18
|
t.timestamps
|
19
19
|
|