cats_core 1.0.12 → 1.0.16

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/cats/core/commodity.rb +2 -3
  3. data/app/models/cats/core/commodity_allocation.rb +19 -0
  4. data/app/models/cats/core/currency.rb +8 -0
  5. data/app/models/cats/core/dispatch.rb +14 -0
  6. data/app/models/cats/core/dispatch_transaction.rb +8 -0
  7. data/app/models/cats/core/donation.rb +18 -0
  8. data/app/models/cats/core/gift_certificate.rb +11 -0
  9. data/app/models/cats/core/hrp.rb +16 -0
  10. data/app/models/cats/core/hrp_item.rb +12 -0
  11. data/app/models/cats/core/operator.rb +8 -0
  12. data/app/models/cats/core/purchase_order.rb +11 -0
  13. data/app/models/cats/core/ration.rb +12 -0
  14. data/app/models/cats/core/receipt.rb +19 -0
  15. data/app/models/cats/core/receipt_transaction.rb +8 -0
  16. data/app/models/cats/core/stack.rb +2 -2
  17. data/app/models/cats/core/stack_transaction.rb +8 -0
  18. data/app/models/cats/core/store.rb +26 -2
  19. data/app/models/cats/core/supplier.rb +8 -0
  20. data/app/models/cats/core/transaction.rb +32 -0
  21. data/app/models/cats/core/user.rb +13 -1
  22. data/app/services/cats/core/notification_service.rb +3 -6
  23. data/db/migrate/20210715114910_create_cats_core_users.rb +1 -0
  24. data/db/migrate/{20210717043620_create_cats_core_locations.rb → 20210716183620_create_cats_core_locations.rb} +0 -0
  25. data/db/migrate/20210716185529_create_cats_core_currencies.rb +10 -0
  26. data/db/migrate/20210716210635_create_cats_core_operators.rb +13 -0
  27. data/db/migrate/20210716210905_create_cats_core_suppliers.rb +14 -0
  28. data/db/migrate/20210717031216_create_cats_core_rations.rb +19 -0
  29. data/db/migrate/20210717031810_create_cats_core_hrps.rb +20 -0
  30. data/db/migrate/20210717032024_create_cats_core_hrp_items.rb +22 -0
  31. data/db/migrate/20210717032330_create_cats_core_donations.rb +24 -0
  32. data/db/migrate/20210717032602_create_cats_core_gift_certificates.rb +29 -0
  33. data/db/migrate/20210717032855_create_cats_core_purchase_orders.rb +21 -0
  34. data/db/migrate/20210717033223_create_cats_core_commodities.rb +2 -14
  35. data/db/migrate/20210717140855_create_cats_core_stores.rb +4 -3
  36. data/db/migrate/20210718042823_create_cats_core_commodity_allocations.rb +23 -0
  37. data/db/migrate/20210718045516_create_cats_core_dispatches.rb +27 -0
  38. data/db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb +19 -0
  39. data/db/migrate/20210727074646_create_cats_core_receipts.rb +20 -0
  40. data/db/migrate/20210814160628_create_cats_core_receipt_transactions.rb +19 -0
  41. data/db/migrate/20210814175406_create_cats_core_stack_transactions.rb +19 -0
  42. data/lib/cats/core/version.rb +1 -1
  43. data/spec/factories/cats/core/commodities.rb +2 -5
  44. data/spec/factories/cats/core/commodity_allocations.rb +10 -0
  45. data/spec/factories/cats/core/currencies.rb +6 -0
  46. data/spec/factories/cats/core/dispatch_transactions.rb +9 -0
  47. data/spec/factories/cats/core/dispatches.rb +13 -0
  48. data/spec/factories/cats/core/donations.rb +11 -0
  49. data/spec/factories/cats/core/gift_certificates.rb +17 -0
  50. data/spec/factories/cats/core/hrp_items.rb +9 -0
  51. data/spec/factories/cats/core/hrps.rb +10 -0
  52. data/spec/factories/cats/core/locations.rb +5 -0
  53. data/spec/factories/cats/core/operators.rb +9 -0
  54. data/spec/factories/cats/core/purchase_orders.rb +10 -0
  55. data/spec/factories/cats/core/rations.rb +8 -0
  56. data/spec/factories/cats/core/receipt_transactions.rb +9 -0
  57. data/spec/factories/cats/core/receipts.rb +10 -0
  58. data/spec/factories/cats/core/stack_transactions.rb +9 -0
  59. data/spec/factories/cats/core/stores.rb +2 -2
  60. data/spec/factories/cats/core/suppliers.rb +10 -0
  61. data/spec/factories/cats/core/users.rb +1 -0
  62. metadata +49 -15
  63. data/app/models/cats/core/commodity_transaction.rb +0 -55
  64. data/app/models/cats/core/receipt_plan.rb +0 -24
  65. data/app/models/cats/core/way_bill.rb +0 -12
  66. data/app/models/cats/core/way_bill_item.rb +0 -15
  67. data/db/migrate/20210718045516_create_cats_core_way_bills.rb +0 -25
  68. data/db/migrate/20210718050751_create_cats_core_way_bill_items.rb +0 -18
  69. data/db/migrate/20210718202957_create_cats_core_commodity_transactions.rb +0 -14
  70. data/db/migrate/20210727074646_create_cats_core_receipt_plans.rb +0 -16
  71. data/spec/factories/cats/core/commodity_transactions.rb +0 -10
  72. data/spec/factories/cats/core/receipt_plans.rb +0 -9
  73. data/spec/factories/cats/core/way_bill_items.rb +0 -8
  74. data/spec/factories/cats/core/way_bills.rb +0 -12
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :hrp, class: 'Cats::Core::Hrp' do
3
+ reference_no { FFaker::Name.name }
4
+ year { 1 }
5
+ season { FFaker::Name.name }
6
+ status { Cats::Core::Hrp::DRAFT }
7
+ program
8
+ ration
9
+ end
10
+ end
@@ -9,4 +9,9 @@ FactoryBot.define do
9
9
  location_type { Cats::Core::Location::WAREHOUSE }
10
10
  parent
11
11
  end
12
+
13
+ factory :woreda, parent: :location, class: 'Cats::Core::Location' do
14
+ location_type { Cats::Core::Location::WOREDA }
15
+ parent
16
+ end
12
17
  end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :operator, class: 'Cats::Core::Operator' do
3
+ code { FFaker::Name.name }
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ contact_name { FFaker::Name.name }
7
+ contact_phone { FFaker::Name.name }
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :purchase_order, class: 'Cats::Core::PurchaseOrder' do
3
+ reference_no { FFaker::Name.name }
4
+ order_date { Date.today }
5
+ requisition_no { FFaker::Name.name }
6
+ supplier { FFaker::Name.name }
7
+ donation
8
+ commodity_category
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :ration, class: 'Cats::Core::Ration' do
3
+ reference_no { FFaker::Name.name }
4
+ program
5
+ commodity_category
6
+ amount { 1.5 }
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :receipt_transaction do
3
+ source factory: :receipt
4
+ destination factory: :stack
5
+ transaction_date { Date.today }
6
+ quantity { 10 }
7
+ status { Cats::Core::Transaction::DRAFT }
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :receipt, class: 'Cats::Core::Receipt' do
3
+ dispatch
4
+ quantity { 1.5 }
5
+ commodity_status { Cats::Core::Commodity::GOOD }
6
+ status { Cats::Core::Receipt::DRAFT }
7
+ remark { FFaker::Name.name }
8
+ prepared_by factory: :user
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :stack_transaction, class: 'Cats::Core::StackTransaction' do
3
+ source factory: :stack
4
+ destination factory: :stack
5
+ transaction_date { Date.today }
6
+ quantity { 25 }
7
+ status { Cats::Core::Transaction::DRAFT }
8
+ end
9
+ end
@@ -1,8 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :store, class: 'Cats::Core::Store' do
3
3
  name { FFaker::Name.name }
4
- store_keeper_name { FFaker::Name.name }
5
- store_keeper_phone { FFaker::Name.name }
6
4
  length { 50 }
7
5
  width { 40 }
8
6
  height { 10 }
@@ -12,5 +10,7 @@ FactoryBot.define do
12
10
  gangway_width { 4 }
13
11
  gangway_corner_dist { 18 }
14
12
  warehouse
13
+ store_keeper factory: :user
14
+ store_keeper_id { create(:user).id }
15
15
  end
16
16
  end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :supplier, class: 'Cats::Core::Supplier' do
3
+ code { FFaker::Name.name }
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ address { FFaker::Name.name }
7
+ contact_name { FFaker::Name.name }
8
+ contact_phone { FFaker::Name.name }
9
+ end
10
+ end
@@ -3,6 +3,7 @@ FactoryBot.define do
3
3
  first_name { FFaker::Name.name }
4
4
  last_name { FFaker::Name.name }
5
5
  email { FFaker::Internet.email }
6
+ phone_number { '0913345678' }
6
7
  active { true }
7
8
  password { FFaker::Internet.password }
8
9
  details { {} }
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.0.12
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-06 00:00:00.000000000 Z
11
+ date: 2021-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -226,25 +226,37 @@ files:
226
226
  - app/models/cats/core/application_module.rb
227
227
  - app/models/cats/core/application_record.rb
228
228
  - app/models/cats/core/commodity.rb
229
+ - app/models/cats/core/commodity_allocation.rb
229
230
  - app/models/cats/core/commodity_category.rb
230
- - app/models/cats/core/commodity_transaction.rb
231
+ - app/models/cats/core/currency.rb
232
+ - app/models/cats/core/dispatch.rb
233
+ - app/models/cats/core/dispatch_transaction.rb
234
+ - app/models/cats/core/donation.rb
231
235
  - app/models/cats/core/donor.rb
236
+ - app/models/cats/core/gift_certificate.rb
237
+ - app/models/cats/core/hrp.rb
238
+ - app/models/cats/core/hrp_item.rb
232
239
  - app/models/cats/core/location.rb
233
240
  - app/models/cats/core/menu.rb
234
241
  - app/models/cats/core/menu_item.rb
235
242
  - app/models/cats/core/notification.rb
243
+ - app/models/cats/core/operator.rb
236
244
  - app/models/cats/core/program.rb
237
- - app/models/cats/core/receipt_plan.rb
245
+ - app/models/cats/core/purchase_order.rb
246
+ - app/models/cats/core/ration.rb
247
+ - app/models/cats/core/receipt.rb
248
+ - app/models/cats/core/receipt_transaction.rb
238
249
  - app/models/cats/core/role.rb
239
250
  - app/models/cats/core/role_menu.rb
240
251
  - app/models/cats/core/stack.rb
252
+ - app/models/cats/core/stack_transaction.rb
241
253
  - app/models/cats/core/stacking_rule.rb
242
254
  - app/models/cats/core/store.rb
255
+ - app/models/cats/core/supplier.rb
256
+ - app/models/cats/core/transaction.rb
243
257
  - app/models/cats/core/transporter.rb
244
258
  - app/models/cats/core/unit_of_measure.rb
245
259
  - app/models/cats/core/user.rb
246
- - app/models/cats/core/way_bill.rb
247
- - app/models/cats/core/way_bill_item.rb
248
260
  - app/notifications/cats/core/simple_notification.rb
249
261
  - app/serializers/cats/core/role_menu_serializer.rb
250
262
  - app/services/cats/core/menu_service.rb
@@ -260,18 +272,29 @@ files:
260
272
  - db/migrate/20210716124953_create_cats_core_commodity_categories.rb
261
273
  - db/migrate/20210716145125_create_cats_core_unit_of_measures.rb
262
274
  - db/migrate/20210716151230_create_cats_core_programs.rb
275
+ - db/migrate/20210716183620_create_cats_core_locations.rb
276
+ - db/migrate/20210716185529_create_cats_core_currencies.rb
277
+ - db/migrate/20210716210635_create_cats_core_operators.rb
278
+ - db/migrate/20210716210905_create_cats_core_suppliers.rb
263
279
  - db/migrate/20210717031108_create_cats_core_donors.rb
280
+ - db/migrate/20210717031216_create_cats_core_rations.rb
281
+ - db/migrate/20210717031810_create_cats_core_hrps.rb
282
+ - db/migrate/20210717032024_create_cats_core_hrp_items.rb
283
+ - db/migrate/20210717032330_create_cats_core_donations.rb
284
+ - db/migrate/20210717032602_create_cats_core_gift_certificates.rb
285
+ - db/migrate/20210717032855_create_cats_core_purchase_orders.rb
264
286
  - db/migrate/20210717033223_create_cats_core_commodities.rb
265
- - db/migrate/20210717043620_create_cats_core_locations.rb
266
287
  - db/migrate/20210717140855_create_cats_core_stores.rb
267
288
  - db/migrate/20210717171101_create_cats_core_stacks.rb
268
289
  - db/migrate/20210718042749_create_cats_core_transporters.rb
269
- - db/migrate/20210718045516_create_cats_core_way_bills.rb
270
- - db/migrate/20210718050751_create_cats_core_way_bill_items.rb
271
- - db/migrate/20210718202957_create_cats_core_commodity_transactions.rb
290
+ - db/migrate/20210718042823_create_cats_core_commodity_allocations.rb
291
+ - db/migrate/20210718045516_create_cats_core_dispatches.rb
292
+ - db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb
272
293
  - db/migrate/20210719133710_create_cats_core_stacking_rules.rb
273
294
  - db/migrate/20210724074657_create_cats_core_notifications.rb
274
- - db/migrate/20210727074646_create_cats_core_receipt_plans.rb
295
+ - db/migrate/20210727074646_create_cats_core_receipts.rb
296
+ - db/migrate/20210814160628_create_cats_core_receipt_transactions.rb
297
+ - db/migrate/20210814175406_create_cats_core_stack_transactions.rb
275
298
  - lib/cats/core.rb
276
299
  - lib/cats/core/engine.rb
277
300
  - lib/cats/core/version.rb
@@ -279,25 +302,36 @@ files:
279
302
  - lib/tasks/cats_core_tasks.rake
280
303
  - spec/factories/cats/core/application_modules.rb
281
304
  - spec/factories/cats/core/commodities.rb
305
+ - spec/factories/cats/core/commodity_allocations.rb
282
306
  - spec/factories/cats/core/commodity_categories.rb
283
- - spec/factories/cats/core/commodity_transactions.rb
307
+ - spec/factories/cats/core/currencies.rb
308
+ - spec/factories/cats/core/dispatch_transactions.rb
309
+ - spec/factories/cats/core/dispatches.rb
310
+ - spec/factories/cats/core/donations.rb
284
311
  - spec/factories/cats/core/donors.rb
312
+ - spec/factories/cats/core/gift_certificates.rb
313
+ - spec/factories/cats/core/hrp_items.rb
314
+ - spec/factories/cats/core/hrps.rb
285
315
  - spec/factories/cats/core/locations.rb
286
316
  - spec/factories/cats/core/menu_items.rb
287
317
  - spec/factories/cats/core/menus.rb
288
318
  - spec/factories/cats/core/notifications.rb
319
+ - spec/factories/cats/core/operators.rb
289
320
  - spec/factories/cats/core/programs.rb
290
- - spec/factories/cats/core/receipt_plans.rb
321
+ - spec/factories/cats/core/purchase_orders.rb
322
+ - spec/factories/cats/core/rations.rb
323
+ - spec/factories/cats/core/receipt_transactions.rb
324
+ - spec/factories/cats/core/receipts.rb
291
325
  - spec/factories/cats/core/role_menus.rb
292
326
  - spec/factories/cats/core/roles.rb
327
+ - spec/factories/cats/core/stack_transactions.rb
293
328
  - spec/factories/cats/core/stacking_rules.rb
294
329
  - spec/factories/cats/core/stacks.rb
295
330
  - spec/factories/cats/core/stores.rb
331
+ - spec/factories/cats/core/suppliers.rb
296
332
  - spec/factories/cats/core/transporters.rb
297
333
  - spec/factories/cats/core/unit_of_measures.rb
298
334
  - spec/factories/cats/core/users.rb
299
- - spec/factories/cats/core/way_bill_items.rb
300
- - spec/factories/cats/core/way_bills.rb
301
335
  homepage: http://cats.ndrmcapps.org
302
336
  licenses:
303
337
  - MIT
@@ -1,55 +0,0 @@
1
- module Cats
2
- module Core
3
- class CommodityTransaction < ApplicationRecord
4
- # Transaction statuses
5
- DRAFT = 'Draft'.freeze
6
- COMMITTED = 'Committed'.freeze
7
- STATUSES = [DRAFT, COMMITTED].freeze
8
-
9
- # Transaction types
10
- STACK_TO_STACK = 'Stack to Stack'.freeze
11
- STACK_TO_WAY_BILL = 'Stack to Way Bill'.freeze
12
- WAY_BILL_TO_STACK = 'Way Bill to Stack'.freeze
13
- TRANSACTION_TYPES = [STACK_TO_STACK, STACK_TO_WAY_BILL, WAY_BILL_TO_STACK].freeze
14
-
15
- belongs_to :source, polymorphic: true
16
- belongs_to :destination, polymorphic: true
17
-
18
- validates :transaction_date, :quantity, :status, presence: true
19
- validates :quantity, numericality: { greater_than: 0 }
20
- validates :status, inclusion: { in: STATUSES }
21
- validate :validate_quantity
22
-
23
- before_validation :set_transaction_type
24
-
25
- def validate_quantity
26
- return unless quantity.present? && source.present?
27
-
28
- errors.add(:quantity, 'cannot be more than source quantity') if quantity > source.quantity
29
- end
30
-
31
- def commit
32
- CommodityTransaction.transaction do
33
- source.quantity -= quantity
34
- destination.quantity += quantity
35
- source.save
36
- destination.save
37
- end
38
- end
39
-
40
- private
41
-
42
- def set_transaction_type
43
- return unless transaction_type.nil? && source.present? && destination.present?
44
-
45
- if source.instance_of?(Cats::Core::Stack) && destination.instance_of?(Cats::Core::Stack)
46
- self.transaction_type = STACK_TO_STACK
47
- elsif source.instance_of?(Cats::Core::Stack) && destination.instance_of?(Cats::Core::WayBillItem)
48
- self.transaction_type = STACK_TO_WAY_BILL
49
- else
50
- self.transaction_type = WAY_BILL_TO_STACK
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,24 +0,0 @@
1
- module Cats
2
- module Core
3
- class ReceiptPlan < ApplicationRecord
4
- # receipt plan status
5
- DRAFT = 'Draft'.freeze
6
- ACCEPTED = 'Accepted'.freeze
7
- DECLINED = 'Declined'.freeze
8
- RECEIPT_PLAN_STATUSES = [DRAFT, ACCEPTED, DECLINED].freeze
9
-
10
- validates :quantity, :status, presence: true
11
- belongs_to :commodity
12
- belongs_to :plan_recipient, polymorphic: true
13
- validates :quantity, numericality: { greater_than: 0 }
14
- validates :status, inclusion: { in: RECEIPT_PLAN_STATUSES }
15
- validate :validate_reason_for_decline
16
-
17
- def validate_reason_for_decline
18
- return unless reason_for_decline.nil? || reason_for_decline == 'Accepted'
19
-
20
- errors.add(:reason_for_decline, 'must be specified')
21
- end
22
- end
23
- end
24
- end
@@ -1,12 +0,0 @@
1
- module Cats
2
- module Core
3
- class WayBill < ApplicationRecord
4
- belongs_to :source, class_name: 'Cats::Core::Location'
5
- belongs_to :destination, class_name: 'Cats::Core::Location'
6
- belongs_to :transporter
7
-
8
- validates :ref_no, :plate_no, :driver_name, :driver_phone, :date_prepared, presence: true
9
- validates :ref_no, uniqueness: true
10
- end
11
- end
12
- end
@@ -1,15 +0,0 @@
1
- module Cats
2
- module Core
3
- class WayBillItem < ApplicationRecord
4
- belongs_to :way_bill
5
- belongs_to :commodity
6
-
7
- has_many :source_transactions, class_name: 'Cats::Core::CommodityTransaction', as: :source
8
- has_many :destination_transactions, class_name: 'Cats::Core::CommodityTransaction', as: :destination
9
-
10
- validates :quantity, :commodity_status, presence: true
11
- validates :quantity, numericality: { greater_than: 0 }
12
- validates :commodity_status, inclusion: { in: Cats::Core::Commodity::COMMODITY_STATUSES }
13
- end
14
- end
15
- end
@@ -1,25 +0,0 @@
1
- class CreateCatsCoreWayBills < ActiveRecord::Migration[6.1]
2
- def change
3
- create_table :cats_core_way_bills do |t|
4
- t.string :ref_no, unique: true
5
- t.references :source,
6
- null: false,
7
- index: { name: 'source_on_wb_indx' },
8
- foreign_key: { to_table: :cats_core_locations }
9
- t.references :destination,
10
- null: false,
11
- index: { name: 'destination_on_wb_indx' },
12
- foreign_key: { to_table: :cats_core_locations }
13
- t.references :transporter,
14
- null: false,
15
- index: { name: 'transporter_on_wb_indx' },
16
- foreign_key: { to_table: :cats_core_transporters }
17
- t.string :plate_no, null: false
18
- t.string :driver_name, null: false
19
- t.string :driver_phone, null: false
20
- t.date :date_prepared, null: false
21
-
22
- t.timestamps
23
- end
24
- end
25
- end
@@ -1,18 +0,0 @@
1
- class CreateCatsCoreWayBillItems < ActiveRecord::Migration[6.1]
2
- def change
3
- create_table :cats_core_way_bill_items do |t|
4
- t.references :way_bill,
5
- null: false,
6
- index: { name: 'wb_on_wbi_indx' },
7
- foreign_key: { to_table: :cats_core_way_bills }
8
- t.references :commodity,
9
- null: false,
10
- index: { name: 'commodity_on_wbi_indx' },
11
- foreign_key: { to_table: :cats_core_commodities }
12
- t.float :quantity, null: false
13
- t.string :commodity_status, null: false
14
-
15
- t.timestamps
16
- end
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- class CreateCatsCoreCommodityTransactions < ActiveRecord::Migration[6.1]
2
- def change
3
- create_table :cats_core_commodity_transactions do |t|
4
- t.references :source, polymorphic: true
5
- t.references :destination, polymorphic: true
6
- t.date :transaction_date, null: false
7
- t.float :quantity, null: false
8
- t.string :status, null: false, default: 'Draft'
9
- t.string :transaction_type, null: false, default: 'Stack to Stack'
10
-
11
- t.timestamps
12
- end
13
- end
14
- end
@@ -1,16 +0,0 @@
1
- class CreateCatsCoreReceiptPlans < ActiveRecord::Migration[6.1]
2
- def change
3
- create_table :cats_core_receipt_plans do |t|
4
- t.float :quantity, null: false
5
- t.string :status, default: 'Draft'
6
- t.references :commodity,
7
- null: false,
8
- index: { name: 'commodity_on_receipt_plan_indx' },
9
- foreign_key: { to_table: :cats_core_commodities }
10
- t.string :reason_for_decline
11
- t.references :plan_recipient, polymorphic: true
12
-
13
- t.timestamps
14
- end
15
- end
16
- end