cats_core 1.0.12 → 1.0.16

Sign up to get free protection for your applications and to get access to all the features.
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