cats_core 1.5.17 → 1.5.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +7 -7
- data/app/controllers/cats/core/access_controller.rb +4 -4
- data/app/controllers/cats/core/application_controller.rb +4 -4
- data/app/controllers/cats/core/commodities_controller.rb +7 -7
- data/app/controllers/cats/core/commodity_categories_controller.rb +4 -4
- data/app/controllers/cats/core/dispatch_authorizations_controller.rb +22 -9
- data/app/controllers/cats/core/dispatch_plan_items_controller.rb +4 -4
- data/app/controllers/cats/core/dispatch_plans_controller.rb +10 -10
- data/app/controllers/cats/core/dispatch_transactions_controller.rb +5 -5
- data/app/controllers/cats/core/dispatches_controller.rb +19 -19
- data/app/controllers/cats/core/loans_controller.rb +1 -1
- data/app/controllers/cats/core/locations_controller.rb +4 -4
- data/app/controllers/cats/core/menus_controller.rb +1 -1
- data/app/controllers/cats/core/notifications_controller.rb +5 -5
- data/app/controllers/cats/core/purchase_orders_controller.rb +3 -3
- data/app/controllers/cats/core/receipt_authorizations_controller.rb +29 -17
- data/app/controllers/cats/core/receipt_transactions_controller.rb +4 -4
- data/app/controllers/cats/core/receipts_controller.rb +1 -1
- data/app/controllers/cats/core/roles_controller.rb +3 -3
- data/app/controllers/cats/core/round_beneficiaries_controller.rb +13 -13
- data/app/controllers/cats/core/round_plans_controller.rb +13 -13
- data/app/controllers/cats/core/routes_controller.rb +2 -2
- data/app/controllers/cats/core/spaces_controller.rb +1 -1
- data/app/controllers/cats/core/stack_transactions_controller.rb +3 -3
- data/app/controllers/cats/core/stacks_controller.rb +15 -7
- data/app/controllers/cats/core/stores_controller.rb +14 -14
- data/app/controllers/cats/core/swaps_controller.rb +2 -2
- data/app/controllers/cats/core/transporters_controller.rb +1 -1
- data/app/controllers/cats/core/users_controller.rb +24 -12
- data/app/controllers/concerns/cats/core/common.rb +24 -23
- data/app/helpers/cats/core/document_helper.rb +1 -1
- data/app/models/cats/core/authorization.rb +9 -9
- data/app/models/cats/core/beneficiary.rb +6 -6
- data/app/models/cats/core/beneficiary_plan_item.rb +9 -9
- data/app/models/cats/core/beneficiary_round_plan_item.rb +2 -2
- data/app/models/cats/core/cash_donation.rb +1 -1
- data/app/models/cats/core/commodity.rb +47 -33
- data/app/models/cats/core/commodity_donation.rb +2 -2
- data/app/models/cats/core/commodity_substitution.rb +15 -7
- data/app/models/cats/core/contract_item.rb +2 -2
- data/app/models/cats/core/dispatch.rb +36 -21
- data/app/models/cats/core/dispatch_authorization.rb +31 -5
- data/app/models/cats/core/dispatch_plan.rb +19 -10
- data/app/models/cats/core/dispatch_plan_item.rb +27 -14
- data/app/models/cats/core/dispatch_transaction.rb +15 -5
- data/app/models/cats/core/gift_certificate.rb +3 -3
- data/app/models/cats/core/hub_authorization.rb +7 -7
- data/app/models/cats/core/loan.rb +2 -2
- data/app/models/cats/core/location.rb +12 -8
- data/app/models/cats/core/lost_commodity.rb +2 -2
- data/app/models/cats/core/notification.rb +2 -2
- data/app/models/cats/core/offer_item.rb +4 -4
- data/app/models/cats/core/plan.rb +9 -9
- data/app/models/cats/core/plan_item.rb +5 -5
- data/app/models/cats/core/plan_item_detail.rb +2 -2
- data/app/models/cats/core/project.rb +1 -1
- data/app/models/cats/core/purchase_order.rb +5 -5
- data/app/models/cats/core/ration.rb +1 -1
- data/app/models/cats/core/receipt.rb +5 -5
- data/app/models/cats/core/receipt_authorization.rb +6 -2
- data/app/models/cats/core/receipt_transaction.rb +8 -4
- data/app/models/cats/core/rhn_request.rb +8 -8
- data/app/models/cats/core/role_menu.rb +1 -1
- data/app/models/cats/core/round_beneficiary.rb +10 -2
- data/app/models/cats/core/round_plan.rb +15 -11
- data/app/models/cats/core/round_plan_item.rb +9 -5
- data/app/models/cats/core/round_plan_item_detail.rb +3 -3
- data/app/models/cats/core/round_ration.rb +2 -2
- data/app/models/cats/core/route.rb +12 -8
- data/app/models/cats/core/stack.rb +52 -34
- data/app/models/cats/core/stack_transaction.rb +3 -3
- data/app/models/cats/core/stacking_rule.rb +2 -2
- data/app/models/cats/core/store.rb +29 -7
- data/app/models/cats/core/swap.rb +5 -5
- data/app/models/cats/core/transaction.rb +6 -6
- data/app/models/cats/core/transport_bid.rb +13 -13
- data/app/models/cats/core/transport_bid_item.rb +2 -2
- data/app/models/cats/core/transport_offer.rb +3 -3
- data/app/models/cats/core/transport_order.rb +8 -8
- data/app/models/cats/core/transport_order_item.rb +2 -2
- data/app/models/cats/core/transport_plan.rb +7 -7
- data/app/models/cats/core/transport_plan_item.rb +2 -2
- data/app/models/cats/core/transport_requisition.rb +9 -9
- data/app/models/cats/core/transport_requisition_detail.rb +2 -2
- data/app/models/cats/core/transport_requisition_item.rb +3 -3
- data/app/models/cats/core/transporter.rb +4 -0
- data/app/models/cats/core/unit_conversion.rb +4 -4
- data/app/models/cats/core/unit_of_measure.rb +4 -4
- data/app/models/cats/core/user.rb +11 -11
- data/app/models/concerns/cats/core/dispatchable.rb +3 -3
- data/app/notifications/cats/core/allocation_notification.rb +1 -1
- data/app/notifications/cats/core/dispatch_authorization_notification.rb +5 -1
- data/app/notifications/cats/core/dispatch_notification.rb +1 -1
- data/app/notifications/cats/core/receipt_authorization_notification.rb +1 -1
- data/app/notifications/cats/core/round_plan_notification.rb +1 -1
- data/app/notifications/cats/core/simple_notification.rb +1 -1
- 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 +22 -21
- data/app/services/cats/core/beneficiary_service.rb +11 -11
- data/app/services/cats/core/dispatch_plan_service.rb +10 -10
- data/app/services/cats/core/dispatch_service.rb +31 -31
- data/app/services/cats/core/notification_service.rb +5 -5
- data/app/services/cats/core/round_plan_service.rb +23 -23
- data/app/services/cats/core/space_service.rb +11 -11
- data/app/services/cats/core/stack_service.rb +10 -10
- data/app/services/cats/core/token_auth_service.rb +4 -4
- data/app/services/cats/core/user_service.rb +19 -0
- data/app/utils/cats/core/util.rb +1 -1
- data/config/routes.rb +110 -105
- data/config/spring.rb +1 -0
- data/db/migrate/20210715114910_create_cats_core_users.rb +3 -3
- data/db/migrate/20210715120018_create_cats_core_roles.rb +14 -14
- 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 +13 -13
- data/db/migrate/20210717031810_create_cats_core_plans.rb +4 -4
- data/db/migrate/20210717032024_create_cats_core_plan_items.rb +18 -18
- data/db/migrate/20210717032260_create_cats_core_beneficiary_categories.rb +3 -3
- data/db/migrate/20210717032270_create_cats_core_rations.rb +10 -10
- 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 +10 -10
- data/db/migrate/20210717140855_create_cats_core_stores.rb +3 -3
- data/db/migrate/20210717171101_create_cats_core_stacks.rb +11 -11
- 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 +7 -7
- data/db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb +17 -17
- data/db/migrate/20210718045516_create_cats_core_dispatches.rb +13 -13
- data/db/migrate/20210718055414_create_cats_core_dispatch_authorizations.rb +13 -13
- data/db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb +11 -11
- data/db/migrate/20210727074646_create_cats_core_receipt_authorizations.rb +13 -13
- 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 +10 -10
- data/db/migrate/20210814175406_create_cats_core_stack_transactions.rb +10 -10
- data/db/migrate/20211024063240_add_status_to_cats_core_rhn_requests.rb +1 -1
- data/db/migrate/20211030133752_add_status_to_cats_core_commodities.rb +1 -1
- data/db/migrate/20211215114737_create_cats_core_transport_plans.rb +4 -4
- data/db/migrate/20211215114835_create_cats_core_transport_plan_items.rb +9 -9
- data/db/migrate/20211215121151_create_cats_core_transport_bids.rb +4 -4
- data/db/migrate/20211215124452_create_cats_core_transport_bid_items.rb +10 -10
- 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 +7 -7
- data/db/migrate/20220107122280_create_cats_core_round_rations.rb +12 -12
- data/db/migrate/20220107125025_create_cats_core_round_plan_items.rb +19 -19
- data/db/migrate/20220107126025_create_cats_core_beneficiary_round_plan_items.rb +8 -8
- 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 +6 -6
- 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 +10 -10
- data/db/migrate/20220506083042_create_cats_core_transport_order_items.rb +13 -13
- 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 +13 -13
- data/db/migrate/20220923190857_create_cats_core_application_settings.rb +3 -3
- data/lib/cats/core/engine.rb +4 -4
- data/lib/cats/core/version.rb +1 -1
- data/lib/cats_core.rb +8 -8
- data/spec/factories/cats/core/application_modules.rb +1 -1
- data/spec/factories/cats/core/application_settings.rb +1 -1
- data/spec/factories/cats/core/beneficiaries.rb +3 -3
- data/spec/factories/cats/core/beneficiary_categories.rb +1 -1
- data/spec/factories/cats/core/beneficiary_plan_items.rb +1 -1
- data/spec/factories/cats/core/beneficiary_round_plan_items.rb +1 -1
- data/spec/factories/cats/core/cash_donations.rb +1 -1
- data/spec/factories/cats/core/commodities.rb +1 -1
- data/spec/factories/cats/core/commodity_categories.rb +1 -1
- data/spec/factories/cats/core/commodity_donations.rb +1 -1
- data/spec/factories/cats/core/commodity_substitutions.rb +2 -2
- data/spec/factories/cats/core/contract_items.rb +1 -1
- data/spec/factories/cats/core/currencies.rb +1 -1
- data/spec/factories/cats/core/dispatch_authorizations.rb +7 -11
- data/spec/factories/cats/core/dispatch_plan_items.rb +16 -1
- data/spec/factories/cats/core/dispatch_plans.rb +1 -1
- data/spec/factories/cats/core/dispatch_transactions.rb +2 -4
- data/spec/factories/cats/core/dispatches.rb +16 -25
- data/spec/factories/cats/core/donors.rb +1 -1
- data/spec/factories/cats/core/gift_certificates.rb +1 -1
- data/spec/factories/cats/core/hub_authorizations.rb +1 -1
- data/spec/factories/cats/core/loans.rb +1 -1
- data/spec/factories/cats/core/locations.rb +6 -6
- data/spec/factories/cats/core/lost_commodities.rb +1 -1
- data/spec/factories/cats/core/menu_items.rb +1 -1
- data/spec/factories/cats/core/menus.rb +1 -1
- data/spec/factories/cats/core/notification_rules.rb +1 -1
- data/spec/factories/cats/core/notifications.rb +2 -2
- data/spec/factories/cats/core/offer_items.rb +1 -1
- data/spec/factories/cats/core/operators.rb +1 -1
- data/spec/factories/cats/core/plan_item_details.rb +1 -1
- data/spec/factories/cats/core/plan_items.rb +1 -1
- data/spec/factories/cats/core/plans.rb +1 -1
- data/spec/factories/cats/core/programs.rb +1 -1
- data/spec/factories/cats/core/projects.rb +1 -1
- data/spec/factories/cats/core/purchase_orders.rb +1 -1
- data/spec/factories/cats/core/rations.rb +1 -1
- data/spec/factories/cats/core/receipt_authorizations.rb +1 -1
- data/spec/factories/cats/core/receipt_transactions.rb +2 -2
- data/spec/factories/cats/core/receipts.rb +1 -1
- data/spec/factories/cats/core/rhn_requests.rb +1 -1
- data/spec/factories/cats/core/role_menus.rb +1 -1
- data/spec/factories/cats/core/roles.rb +1 -1
- data/spec/factories/cats/core/round_beneficiaries.rb +1 -1
- data/spec/factories/cats/core/round_plan_item_details.rb +3 -3
- data/spec/factories/cats/core/round_plan_items.rb +1 -1
- data/spec/factories/cats/core/round_plans.rb +1 -1
- data/spec/factories/cats/core/round_rations.rb +1 -1
- data/spec/factories/cats/core/routes.rb +1 -1
- data/spec/factories/cats/core/stack_transactions.rb +1 -1
- data/spec/factories/cats/core/stacking_rules.rb +1 -1
- data/spec/factories/cats/core/stacks.rb +1 -1
- data/spec/factories/cats/core/stores.rb +1 -1
- data/spec/factories/cats/core/suppliers.rb +1 -1
- data/spec/factories/cats/core/swaps.rb +1 -1
- data/spec/factories/cats/core/tenderers.rb +1 -1
- data/spec/factories/cats/core/transport_bid_items.rb +1 -1
- data/spec/factories/cats/core/transport_bids.rb +1 -1
- data/spec/factories/cats/core/transport_contracts.rb +1 -1
- data/spec/factories/cats/core/transport_offers.rb +1 -1
- data/spec/factories/cats/core/transport_order_items.rb +1 -1
- data/spec/factories/cats/core/transport_orders.rb +1 -1
- data/spec/factories/cats/core/transport_plan_items.rb +1 -1
- data/spec/factories/cats/core/transport_plans.rb +1 -1
- data/spec/factories/cats/core/transport_requisition_details.rb +1 -1
- data/spec/factories/cats/core/transport_requisition_items.rb +1 -1
- data/spec/factories/cats/core/transport_requisitions.rb +1 -1
- data/spec/factories/cats/core/transporters.rb +1 -1
- data/spec/factories/cats/core/unit_conversions.rb +1 -1
- data/spec/factories/cats/core/unit_of_measures.rb +1 -1
- data/spec/factories/cats/core/users.rb +2 -2
- metadata +18 -2
@@ -2,19 +2,19 @@ class CreateCatsCoreTransportOrders < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_transport_orders do |t|
|
4
4
|
t.references :transport_requisition,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "tr_on_to_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_transport_requisitions}
|
8
8
|
t.references :prepared_by,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "pb_on_to_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_users}
|
12
12
|
t.references :approved_by,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: true,
|
14
|
+
index: {name: "ab_on_to_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_users}
|
16
16
|
t.date :order_date, null: false
|
17
|
-
t.string :status, null: false, default:
|
17
|
+
t.string :status, null: false, default: "Draft"
|
18
18
|
|
19
19
|
t.timestamps
|
20
20
|
end
|
@@ -2,21 +2,21 @@ class CreateCatsCoreTransportOrderItems < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
3
3
|
create_table :cats_core_transport_order_items do |t|
|
4
4
|
t.references :transport_order,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
null: false,
|
6
|
+
index: {name: "to_on_toi_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_transport_orders}
|
8
8
|
t.references :transporter,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "transporter_on_toi_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_transporters}
|
12
12
|
t.references :transport_contract,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: true,
|
14
|
+
index: {name: "tc_on_toi_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_transport_contracts}
|
16
16
|
t.references :transport_requisition_item,
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
null: false,
|
18
|
+
index: {name: "tri_on_toi_indx"},
|
19
|
+
foreign_key: {to_table: :cats_core_transport_requisition_items}
|
20
20
|
t.integer :valid_for, null: false, default: 10
|
21
21
|
|
22
22
|
t.timestamps
|
@@ -26,7 +26,7 @@ class CreateCatsCoreTransportOrderItems < ActiveRecord::Migration[7.0]
|
|
26
26
|
:cats_core_transport_order_items,
|
27
27
|
:transport_requisition_item_id,
|
28
28
|
unique: true,
|
29
|
-
name:
|
29
|
+
name: "tri_on_toi_uniq_indx"
|
30
30
|
)
|
31
31
|
end
|
32
32
|
end
|
@@ -6,13 +6,13 @@ class CreateCatsCoreBeneficiaries < ActiveRecord::Migration[7.0]
|
|
6
6
|
t.string :gender, null: false
|
7
7
|
t.string :phone
|
8
8
|
t.references :beneficiary_category,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "bc_on_beneficiaries_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_beneficiary_categories}
|
12
12
|
t.references :fdp,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "fdp_on_beneficiaries_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_locations}
|
16
16
|
|
17
17
|
t.timestamps
|
18
18
|
end
|
@@ -7,14 +7,14 @@ class CreateCatsCoreLoans < ActiveRecord::Migration[7.0]
|
|
7
7
|
t.date :agreement_date, null: false
|
8
8
|
t.date :repayment_date
|
9
9
|
t.references :commodity_category,
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
null: false,
|
11
|
+
index: {name: "cc_on_loan_indx"},
|
12
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
13
13
|
t.float :quantity, null: false
|
14
14
|
t.references :unit,
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
null: false,
|
16
|
+
index: {name: "unit_on_loan_indx"},
|
17
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
18
18
|
|
19
19
|
t.timestamps
|
20
20
|
end
|
@@ -8,21 +8,21 @@ class CreateCatsCoreSwaps < ActiveRecord::Migration[7.0]
|
|
8
8
|
t.float :issued_quantity, null: false
|
9
9
|
t.float :received_quantity, null: false
|
10
10
|
t.references :issued_commodity,
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
null: false,
|
12
|
+
index: {name: "ic_on_swap_indx"},
|
13
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
14
14
|
t.references :received_commodity,
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
null: false,
|
16
|
+
index: {name: "rc_on_swap_indx"},
|
17
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
18
18
|
t.references :issued_unit,
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
null: false,
|
20
|
+
index: {name: "iu_on_swap_indx"},
|
21
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
22
22
|
t.references :received_unit,
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
null: false,
|
24
|
+
index: {name: "ru_on_swap_indx"},
|
25
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
26
26
|
|
27
27
|
t.timestamps
|
28
28
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
class CreateCatsCoreRoundBeneficiaries < ActiveRecord::Migration[7.0]
|
2
2
|
def change
|
3
3
|
create_table :cats_core_round_beneficiaries do |t|
|
4
|
-
t.references :beneficiary,
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
t.references :beneficiary,
|
5
|
+
null: false,
|
6
|
+
index: {name: "beneficiary_on_rb_indx"},
|
7
|
+
foreign_key: {to_table: :cats_core_beneficiaries}
|
8
8
|
t.references :round_plan_item,
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
null: false,
|
10
|
+
index: {name: "rpi_on_rb_indx"},
|
11
|
+
foreign_key: {to_table: :cats_core_round_plan_items}
|
12
12
|
t.references :commodity_category,
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
null: false,
|
14
|
+
index: {name: "cc_on_rb_indx"},
|
15
|
+
foreign_key: {to_table: :cats_core_commodity_categories}
|
16
16
|
t.float :quantity, null: false
|
17
17
|
t.references :unit,
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
null: false,
|
19
|
+
index: {name: "unit_on_rb_indx"},
|
20
|
+
foreign_key: {to_table: :cats_core_unit_of_measures}
|
21
21
|
t.boolean :received, null: false, default: false
|
22
22
|
|
23
23
|
t.timestamps
|
@@ -4,9 +4,9 @@ class CreateCatsCoreApplicationSettings < ActiveRecord::Migration[7.0]
|
|
4
4
|
t.string :key, unique: true
|
5
5
|
t.string :value, null: false
|
6
6
|
t.references :application_module,
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
null: false,
|
8
|
+
index: {name: "am_on_as_indx"},
|
9
|
+
foreign_key: {to_table: :cats_core_application_modules}
|
10
10
|
|
11
11
|
t.timestamps
|
12
12
|
end
|
data/lib/cats/core/engine.rb
CHANGED
@@ -7,16 +7,16 @@ module Cats
|
|
7
7
|
config.generators do |g|
|
8
8
|
g.test_framework :rspec
|
9
9
|
g.fixture_replacement :factory_bot
|
10
|
-
g.factory_bot dir:
|
10
|
+
g.factory_bot dir: "spec/factories"
|
11
11
|
end
|
12
12
|
|
13
|
-
initializer
|
14
|
-
FactoryBot.definition_file_paths << File.expand_path(
|
13
|
+
initializer "cats_core.factories", after: "factory_bot.set_factory_paths" do
|
14
|
+
FactoryBot.definition_file_paths << File.expand_path("../../../spec/factories", __dir__) if defined?(FactoryBot)
|
15
15
|
end
|
16
16
|
|
17
17
|
initializer :append_migrations do |app|
|
18
18
|
unless app.root.to_s.match(root.to_s + File::SEPARATOR)
|
19
|
-
app.config.paths[
|
19
|
+
app.config.paths["db/migrate"].concat(config.paths["db/migrate"].expanded)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
data/lib/cats/core/version.rb
CHANGED
data/lib/cats_core.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
1
|
+
require "cats/core/version"
|
2
|
+
require "cats/core/engine"
|
3
|
+
require "ancestry"
|
4
|
+
require "rolify"
|
5
|
+
require "jwt"
|
6
|
+
require "noticed"
|
7
|
+
require "active_model_serializers"
|
8
|
+
require "ransack"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :beneficiary, class:
|
2
|
+
factory :beneficiary, class: "Cats::Core::Beneficiary" do
|
3
3
|
full_name { FFaker::Name.name }
|
4
4
|
age { 30 }
|
5
|
-
gender {
|
6
|
-
phone {
|
5
|
+
gender { "M" }
|
6
|
+
phone { "0911121212" }
|
7
7
|
beneficiary_category
|
8
8
|
fdp factory: :fdp
|
9
9
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :beneficiary_round_plan_item, class:
|
2
|
+
factory :beneficiary_round_plan_item, class: "Cats::Core::BeneficiaryRoundPlanItem" do
|
3
3
|
round_plan_item
|
4
4
|
beneficiary_category
|
5
5
|
planned_beneficiaries { 100 }
|
@@ -1,5 +1,5 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :commodity_donation, class:
|
2
|
+
factory :commodity_donation, class: "Cats::Core::CommodityDonation" do
|
3
3
|
reference_no { FFaker::Name.name }
|
4
4
|
description { FFaker::Name.name }
|
5
5
|
shipping_reference { FFaker::Name.name }
|
@@ -1,8 +1,8 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :commodity_substitution, class:
|
2
|
+
factory :commodity_substitution, class: "Cats::Core::CommoditySubstitution" do
|
3
3
|
program
|
4
4
|
commodity factory: :commodity_category
|
5
5
|
replaced_by factory: :commodity_category
|
6
|
-
ratio {
|
6
|
+
ratio { "1:2" }
|
7
7
|
end
|
8
8
|
end
|
@@ -1,26 +1,22 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :dispatch_authorization, class:
|
3
|
-
transient do
|
4
|
-
s { create(:store) }
|
5
|
-
stack { create(:stack, quantity: 100, store: s) }
|
6
|
-
end
|
2
|
+
factory :dispatch_authorization, class: "Cats::Core::DispatchAuthorization" do
|
7
3
|
dispatch
|
8
|
-
store {
|
4
|
+
store { dispatch.dispatch_plan_item.hub_authorizations.first.store }
|
9
5
|
quantity { 100 }
|
10
6
|
unit { dispatch.unit }
|
11
7
|
status { Cats::Core::ReceiptAuthorization::AUTHORIZED }
|
12
8
|
authorized_by factory: :user
|
13
9
|
|
14
10
|
trait :approved do
|
15
|
-
after(:create) do |
|
16
|
-
|
11
|
+
after(:create) do |authorization|
|
12
|
+
authorization.dispatch.approve
|
17
13
|
end
|
18
14
|
end
|
19
15
|
|
20
16
|
trait :with_transaction do
|
21
|
-
after(:create) do |
|
22
|
-
|
23
|
-
create(:dispatch_transaction, dispatch_authorization:
|
17
|
+
after(:create) do |authorization, options|
|
18
|
+
authorization.dispatch.approve
|
19
|
+
create(:dispatch_transaction, dispatch_authorization: authorization)
|
24
20
|
end
|
25
21
|
end
|
26
22
|
end
|
@@ -1,5 +1,8 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :dispatch_plan_item, class:
|
2
|
+
factory :dispatch_plan_item, class: "Cats::Core::DispatchPlanItem" do
|
3
|
+
transient do
|
4
|
+
stack { create(:stack, commodity: commodity, unit: unit) }
|
5
|
+
end
|
3
6
|
reference_no { FFaker::Name.name }
|
4
7
|
source factory: :location
|
5
8
|
destination factory: :woreda
|
@@ -9,5 +12,17 @@ FactoryBot.define do
|
|
9
12
|
commodity
|
10
13
|
commodity_status { Cats::Core::Commodity::GOOD }
|
11
14
|
status { Cats::Core::DispatchPlanItem::UNAUTHORIZED }
|
15
|
+
|
16
|
+
trait :approved do
|
17
|
+
after(:create) do |item, options|
|
18
|
+
item.dispatch_plan.approve
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
trait :with_authorization do
|
23
|
+
after(:create) do |item, options|
|
24
|
+
create(:hub_authorization, dispatch_plan_item: item, store: options.stack.store)
|
25
|
+
end
|
26
|
+
end
|
12
27
|
end
|
13
28
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :dispatch_transaction, class:
|
2
|
+
factory :dispatch_transaction, class: "Cats::Core::DispatchTransaction" do
|
3
3
|
association :dispatch_authorization, :approved
|
4
|
-
source
|
5
|
-
create(:stack, unit: dispatch_authorization.unit)
|
6
|
-
end
|
4
|
+
source { dispatch_authorization.store.stacks.first }
|
7
5
|
|
8
6
|
transaction_date { Date.today }
|
9
7
|
quantity { 100 }
|
@@ -1,15 +1,7 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :dispatch, class:
|
3
|
-
transient do
|
4
|
-
stack { create(:stack, quantity: 100) }
|
5
|
-
end
|
2
|
+
factory :dispatch, class: "Cats::Core::Dispatch" do
|
6
3
|
reference_no { FFaker::Name.name }
|
7
|
-
dispatch_plan_item
|
8
|
-
plan_item = create(:dispatch_plan_item, quantity: 100)
|
9
|
-
plan_item.dispatch_plan.approve
|
10
|
-
create(:hub_authorization, dispatch_plan_item: plan_item, quantity: 100, store: stack.store)
|
11
|
-
plan_item
|
12
|
-
end
|
4
|
+
association :dispatch_plan_item, :approved, :with_authorization
|
13
5
|
unit { dispatch_plan_item.unit }
|
14
6
|
transporter
|
15
7
|
plate_no { FFaker::Name.name }
|
@@ -19,31 +11,33 @@ FactoryBot.define do
|
|
19
11
|
prepared_by factory: :user
|
20
12
|
dispatch_status { Cats::Core::Dispatch::DRAFT }
|
21
13
|
|
14
|
+
trait :approved do
|
15
|
+
after(:create) do |dispatch|
|
16
|
+
create(:dispatch_authorization, dispatch: dispatch)
|
17
|
+
dispatch.approve
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
22
21
|
trait :with_authorization do
|
23
22
|
after(:create) do |dispatch, options|
|
24
|
-
create(:dispatch_authorization, dispatch: dispatch
|
23
|
+
create(:dispatch_authorization, dispatch: dispatch)
|
25
24
|
end
|
26
25
|
end
|
27
26
|
|
28
27
|
trait :with_transaction do
|
29
28
|
after(:create) do |dispatch, options|
|
30
|
-
authorization = create(:dispatch_authorization, dispatch: dispatch
|
29
|
+
authorization = create(:dispatch_authorization, dispatch: dispatch)
|
31
30
|
dispatch.approve
|
32
|
-
|
33
|
-
options.stack.save!
|
34
|
-
create(:dispatch_transaction, dispatch_authorization: authorization, source: options.stack, quantity: 100)
|
31
|
+
create(:dispatch_transaction, dispatch_authorization: authorization)
|
35
32
|
end
|
36
33
|
end
|
37
34
|
|
38
35
|
trait :ready_to_start do
|
39
36
|
after(:create) do |dispatch, options|
|
40
|
-
authorization = create(:dispatch_authorization, dispatch: dispatch
|
37
|
+
authorization = create(:dispatch_authorization, dispatch: dispatch)
|
41
38
|
dispatch.approve
|
42
|
-
|
43
|
-
options.stack.save!
|
44
|
-
create(:dispatch_transaction, dispatch_authorization: authorization, source: options.stack, quantity: 100)
|
39
|
+
create(:dispatch_transaction, dispatch_authorization: authorization)
|
45
40
|
authorization.confirm
|
46
|
-
dispatch.quantity = 100
|
47
41
|
dispatch.dispatch_status = Cats::Core::Dispatch::READY_TO_START
|
48
42
|
dispatch.save!
|
49
43
|
end
|
@@ -51,13 +45,10 @@ FactoryBot.define do
|
|
51
45
|
|
52
46
|
trait :started do
|
53
47
|
after(:create) do |dispatch, options|
|
54
|
-
authorization = create(:dispatch_authorization, dispatch: dispatch
|
48
|
+
authorization = create(:dispatch_authorization, dispatch: dispatch)
|
55
49
|
dispatch.approve
|
56
|
-
|
57
|
-
options.stack.save!
|
58
|
-
create(:dispatch_transaction, dispatch_authorization: authorization, source: options.stack, quantity: 100)
|
50
|
+
create(:dispatch_transaction, dispatch_authorization: authorization)
|
59
51
|
authorization.confirm
|
60
|
-
dispatch.quantity = 100
|
61
52
|
dispatch.dispatch_status = Cats::Core::Dispatch::READY_TO_START
|
62
53
|
dispatch.save!
|
63
54
|
dispatch.start
|
@@ -1,22 +1,22 @@
|
|
1
1
|
FactoryBot.define do
|
2
|
-
factory :location, class:
|
2
|
+
factory :location, class: "Cats::Core::Location", aliases: [:parent] do
|
3
3
|
code { FFaker::Name.name }
|
4
4
|
name { FFaker::Name.name }
|
5
5
|
location_type { Cats::Core::Location::REGION }
|
6
6
|
ancestry { nil }
|
7
7
|
end
|
8
8
|
|
9
|
-
factory :zone, parent: :location, class:
|
9
|
+
factory :zone, parent: :location, class: "Cats::Core::Location" do
|
10
10
|
location_type { Cats::Core::Location::ZONE }
|
11
11
|
parent
|
12
12
|
end
|
13
13
|
|
14
|
-
factory :woreda, parent: :location, class:
|
14
|
+
factory :woreda, parent: :location, class: "Cats::Core::Location" do
|
15
15
|
location_type { Cats::Core::Location::WOREDA }
|
16
16
|
parent factory: :zone
|
17
17
|
end
|
18
18
|
|
19
|
-
factory :fdp, parent: :woreda, class:
|
19
|
+
factory :fdp, parent: :woreda, class: "Cats::Core::Location" do
|
20
20
|
location_type { Cats::Core::Location::FDP }
|
21
21
|
parent factory: :woreda
|
22
22
|
|
@@ -30,12 +30,12 @@ FactoryBot.define do
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
factory :hub, parent: :location, class:
|
33
|
+
factory :hub, parent: :location, class: "Cats::Core::Location" do
|
34
34
|
location_type { Cats::Core::Location::HUB }
|
35
35
|
parent factory: :woreda
|
36
36
|
end
|
37
37
|
|
38
|
-
factory :warehouse, parent: :location, class:
|
38
|
+
factory :warehouse, parent: :location, class: "Cats::Core::Location" do
|
39
39
|
location_type { Cats::Core::Location::WAREHOUSE }
|
40
40
|
parent factory: :hub
|
41
41
|
end
|