cats_core 1.4.20 → 1.4.23

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/cats/core/dispatch_authorizations_controller.rb +35 -0
  3. data/app/controllers/cats/core/dispatch_plan_items_controller.rb +2 -2
  4. data/app/controllers/cats/core/dispatch_transactions_controller.rb +4 -4
  5. data/app/controllers/cats/core/dispatches_controller.rb +7 -2
  6. data/app/controllers/cats/core/lost_commodities_controller.rb +2 -2
  7. data/app/controllers/cats/core/receipt_authorizations_controller.rb +27 -0
  8. data/app/controllers/cats/core/receipt_transactions_controller.rb +2 -20
  9. data/app/controllers/cats/core/receipts_controller.rb +2 -28
  10. data/app/models/cats/core/authorization.rb +77 -0
  11. data/app/models/cats/core/dispatch.rb +30 -47
  12. data/app/models/cats/core/dispatch_authorization.rb +13 -0
  13. data/app/models/cats/core/dispatch_plan_item.rb +1 -0
  14. data/app/models/cats/core/dispatch_transaction.rb +39 -2
  15. data/app/models/cats/core/lost_commodity.rb +2 -3
  16. data/app/models/cats/core/receipt.rb +3 -37
  17. data/app/models/cats/core/receipt_authorization.rb +22 -0
  18. data/app/models/cats/core/receipt_transaction.rb +17 -14
  19. data/app/models/cats/core/transaction.rb +0 -30
  20. data/app/serializers/cats/core/dispatch_authorization_serializer.rb +8 -0
  21. data/app/serializers/cats/core/dispatch_plan_item_serializer.rb +1 -1
  22. data/app/serializers/cats/core/dispatch_transaction_serializer.rb +1 -2
  23. data/app/serializers/cats/core/lost_commodity_serializer.rb +1 -1
  24. data/app/serializers/cats/core/receipt_authorization_serializer.rb +8 -0
  25. data/app/serializers/cats/core/receipt_serializer.rb +1 -2
  26. data/app/serializers/cats/core/receipt_transaction_serializer.rb +1 -5
  27. data/app/services/cats/core/authorization_service.rb +25 -0
  28. data/config/routes.rb +26 -9
  29. data/db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb +1 -0
  30. data/db/migrate/20210718045516_create_cats_core_dispatches.rb +4 -0
  31. data/db/migrate/20210718055414_create_cats_core_dispatch_authorizations.rb +22 -0
  32. data/db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb +9 -3
  33. data/db/migrate/20210727074646_create_cats_core_receipt_authorizations.rb +24 -0
  34. data/db/migrate/20210727105834_create_cats_core_receipts.rb +15 -0
  35. data/db/migrate/20210728041505_create_cats_core_lost_commodities.rb +3 -4
  36. data/db/migrate/20210814160628_create_cats_core_receipt_transactions.rb +3 -3
  37. data/lib/cats/core/version.rb +1 -1
  38. data/spec/factories/cats/core/dispatch_authorizations.rb +26 -0
  39. data/spec/factories/cats/core/dispatch_plan_items.rb +1 -0
  40. data/spec/factories/cats/core/dispatch_transactions.rb +2 -7
  41. data/spec/factories/cats/core/dispatches.rb +38 -3
  42. data/spec/factories/cats/core/lost_commodities.rb +1 -2
  43. data/spec/factories/cats/core/receipt_authorizations.rb +25 -0
  44. data/spec/factories/cats/core/receipt_transactions.rb +2 -22
  45. data/spec/factories/cats/core/receipts.rb +2 -9
  46. data/spec/factories/cats/core/stacks.rb +1 -1
  47. metadata +15 -4
  48. data/app/services/cats/core/receipt_service.rb +0 -48
  49. data/db/migrate/20210727074646_create_cats_core_receipts.rb +0 -20
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.20
4
+ version: 1.4.23
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-05-18 00:00:00.000000000 Z
11
+ date: 2022-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -235,6 +235,7 @@ files:
235
235
  - app/controllers/cats/core/commodities_controller.rb
236
236
  - app/controllers/cats/core/commodity_categories_controller.rb
237
237
  - app/controllers/cats/core/currencies_controller.rb
238
+ - app/controllers/cats/core/dispatch_authorizations_controller.rb
238
239
  - app/controllers/cats/core/dispatch_plan_items_controller.rb
239
240
  - app/controllers/cats/core/dispatch_plans_controller.rb
240
241
  - app/controllers/cats/core/dispatch_transactions_controller.rb
@@ -243,6 +244,7 @@ files:
243
244
  - app/controllers/cats/core/lost_commodities_controller.rb
244
245
  - app/controllers/cats/core/menus_controller.rb
245
246
  - app/controllers/cats/core/notifications_controller.rb
247
+ - app/controllers/cats/core/receipt_authorizations_controller.rb
246
248
  - app/controllers/cats/core/receipt_transactions_controller.rb
247
249
  - app/controllers/cats/core/receipts_controller.rb
248
250
  - app/controllers/cats/core/roles_controller.rb
@@ -258,6 +260,7 @@ files:
258
260
  - app/jobs/cats/core/application_job.rb
259
261
  - app/models/cats/core/application_module.rb
260
262
  - app/models/cats/core/application_record.rb
263
+ - app/models/cats/core/authorization.rb
261
264
  - app/models/cats/core/beneficiary.rb
262
265
  - app/models/cats/core/beneficiary_category.rb
263
266
  - app/models/cats/core/beneficiary_plan_item.rb
@@ -268,6 +271,7 @@ files:
268
271
  - app/models/cats/core/contract_item.rb
269
272
  - app/models/cats/core/currency.rb
270
273
  - app/models/cats/core/dispatch.rb
274
+ - app/models/cats/core/dispatch_authorization.rb
271
275
  - app/models/cats/core/dispatch_plan.rb
272
276
  - app/models/cats/core/dispatch_plan_item.rb
273
277
  - app/models/cats/core/dispatch_transaction.rb
@@ -290,6 +294,7 @@ files:
290
294
  - app/models/cats/core/purchase_order.rb
291
295
  - app/models/cats/core/ration.rb
292
296
  - app/models/cats/core/receipt.rb
297
+ - app/models/cats/core/receipt_authorization.rb
293
298
  - app/models/cats/core/receipt_transaction.rb
294
299
  - app/models/cats/core/rhn_request.rb
295
300
  - app/models/cats/core/role.rb
@@ -328,12 +333,14 @@ files:
328
333
  - app/serializers/cats/core/commodity_category_serializer.rb
329
334
  - app/serializers/cats/core/commodity_serializer.rb
330
335
  - app/serializers/cats/core/currency_serializer.rb
336
+ - app/serializers/cats/core/dispatch_authorization_serializer.rb
331
337
  - app/serializers/cats/core/dispatch_plan_item_serializer.rb
332
338
  - app/serializers/cats/core/dispatch_plan_serializer.rb
333
339
  - app/serializers/cats/core/dispatch_serializer.rb
334
340
  - app/serializers/cats/core/dispatch_transaction_serializer.rb
335
341
  - app/serializers/cats/core/location_serializer.rb
336
342
  - app/serializers/cats/core/lost_commodity_serializer.rb
343
+ - app/serializers/cats/core/receipt_authorization_serializer.rb
337
344
  - app/serializers/cats/core/receipt_serializer.rb
338
345
  - app/serializers/cats/core/receipt_transaction_serializer.rb
339
346
  - app/serializers/cats/core/role_menu_serializer.rb
@@ -345,11 +352,11 @@ files:
345
352
  - app/serializers/cats/core/unit_conversion_serializer.rb
346
353
  - app/serializers/cats/core/unit_of_measure_serializer.rb
347
354
  - app/serializers/cats/core/user_serializer.rb
355
+ - app/services/cats/core/authorization_service.rb
348
356
  - app/services/cats/core/dispatch_plan_service.rb
349
357
  - app/services/cats/core/dispatch_service.rb
350
358
  - app/services/cats/core/menu_service.rb
351
359
  - app/services/cats/core/notification_service.rb
352
- - app/services/cats/core/receipt_service.rb
353
360
  - app/services/cats/core/round_plan_service.rb
354
361
  - app/services/cats/core/space_service.rb
355
362
  - app/services/cats/core/stack_service.rb
@@ -387,10 +394,12 @@ files:
387
394
  - db/migrate/20210718043328_create_cats_core_dispatch_plans.rb
388
395
  - db/migrate/20210718043401_create_cats_core_dispatch_plan_items.rb
389
396
  - db/migrate/20210718045516_create_cats_core_dispatches.rb
397
+ - db/migrate/20210718055414_create_cats_core_dispatch_authorizations.rb
390
398
  - db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb
391
399
  - db/migrate/20210719133710_create_cats_core_stacking_rules.rb
392
400
  - db/migrate/20210724074657_create_cats_core_notifications.rb
393
- - db/migrate/20210727074646_create_cats_core_receipts.rb
401
+ - db/migrate/20210727074646_create_cats_core_receipt_authorizations.rb
402
+ - db/migrate/20210727105834_create_cats_core_receipts.rb
394
403
  - db/migrate/20210728041505_create_cats_core_lost_commodities.rb
395
404
  - db/migrate/20210814160628_create_cats_core_receipt_transactions.rb
396
405
  - db/migrate/20210814175406_create_cats_core_stack_transactions.rb
@@ -435,6 +444,7 @@ files:
435
444
  - spec/factories/cats/core/commodity_substitutions.rb
436
445
  - spec/factories/cats/core/contract_items.rb
437
446
  - spec/factories/cats/core/currencies.rb
447
+ - spec/factories/cats/core/dispatch_authorizations.rb
438
448
  - spec/factories/cats/core/dispatch_plan_items.rb
439
449
  - spec/factories/cats/core/dispatch_plans.rb
440
450
  - spec/factories/cats/core/dispatch_transactions.rb
@@ -457,6 +467,7 @@ files:
457
467
  - spec/factories/cats/core/programs.rb
458
468
  - spec/factories/cats/core/purchase_orders.rb
459
469
  - spec/factories/cats/core/rations.rb
470
+ - spec/factories/cats/core/receipt_authorizations.rb
460
471
  - spec/factories/cats/core/receipt_transactions.rb
461
472
  - spec/factories/cats/core/receipts.rb
462
473
  - spec/factories/cats/core/rhn_requests.rb
@@ -1,48 +0,0 @@
1
- module Cats
2
- module Core
3
- class ReceiptService
4
- def start_stacking(receipt)
5
- raise(StandardError, 'Receipt should be confirmed.') unless receipt.status == Cats::Core::Receipt::CONFIRMED
6
-
7
- raise(StandardError, 'There are no stack assignments in receipt.') if receipt.receipt_transactions.count.zero?
8
-
9
- receipt.status = Cats::Core::Receipt::STACKING
10
- receipt.save!
11
- receipt
12
- end
13
-
14
- def finish_stacking(receipt)
15
- unless receipt.status == Cats::Core::Receipt::STACKING
16
- raise(StandardError, 'Receipt should be in stacking state.')
17
- end
18
-
19
- receipt.receipt_transactions.each(&:commit)
20
- receipt.status = Cats::Core::Receipt::STACKED
21
- receipt.save!
22
- receipt
23
- end
24
-
25
- def init(params)
26
- receipt = Cats::Core::Receipt.find_by(
27
- dispatch_id: params[:dispatch_id],
28
- commodity_status: params[:commodity_status]
29
- )
30
-
31
- if receipt
32
- # We can assume that the plan item is destination authorized.
33
- # Therefore no need for checking destination authorization.
34
- receipt.quantity += params[:quantity]
35
- return receipt
36
- end
37
-
38
- # Check if plan item is destination authorized
39
- dispatch = Dispatch.find(params[:dispatch_id])
40
- status = dispatch.dispatch_plan_item.status
41
- statuses = [DispatchPlanItem::DESTINATION_AUTHORIZED, DispatchPlanItem::AUTHORIZED]
42
- raise(StandardError, 'Plan item is not destination authorized.') unless statuses.include?(status)
43
-
44
- Receipt.new(params)
45
- end
46
- end
47
- end
48
- end
@@ -1,20 +0,0 @@
1
- class CreateCatsCoreReceipts < ActiveRecord::Migration[6.1]
2
- def change
3
- create_table :cats_core_receipts do |t|
4
- t.references :dispatch,
5
- null: false,
6
- index: { name: 'dispatch_on_receipts_indx' },
7
- foreign_key: { to_table: :cats_core_dispatches }
8
- t.float :quantity, null: false
9
- t.string :commodity_status, null: false, default: 'Good'
10
- t.string :status, null: false, default: 'Draft'
11
- t.string :remark
12
- t.references :prepared_by,
13
- null: false,
14
- index: { name: 'pb_on_receipts_indx' },
15
- foreign_key: { to_table: :cats_core_users }
16
-
17
- t.timestamps
18
- end
19
- end
20
- end