comee_core 0.1.40 → 0.1.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/comee/core/customer_order_items_controller.rb +34 -0
  3. data/app/controllers/comee/core/customer_orders_controller.rb +47 -0
  4. data/app/controllers/comee/core/external_rfqs_controller.rb +13 -0
  5. data/app/controllers/comee/core/products_controller.rb +2 -3
  6. data/app/controllers/comee/core/quotation_request_items_controller.rb +46 -0
  7. data/app/controllers/comee/core/quotation_requests_controller.rb +66 -0
  8. data/app/controllers/comee/core/sales_order_items_controller.rb +25 -0
  9. data/app/controllers/comee/core/sales_orders_controller.rb +45 -0
  10. data/app/models/comee/core/customer_order.rb +10 -1
  11. data/app/models/comee/core/customer_order_item.rb +8 -0
  12. data/app/models/comee/core/external_rfq.rb +8 -0
  13. data/app/models/comee/core/product.rb +6 -34
  14. data/app/models/comee/core/purchase_order.rb +14 -0
  15. data/app/models/comee/core/purchase_order_item.rb +20 -0
  16. data/app/models/comee/core/quotation_request.rb +25 -0
  17. data/app/models/comee/core/quotation_request_item.rb +15 -0
  18. data/app/models/comee/core/sales_order.rb +2 -2
  19. data/app/serializers/comee/core/customer_order_item_serializer.rb +10 -0
  20. data/app/serializers/comee/core/customer_order_serializer.rb +9 -0
  21. data/app/serializers/comee/core/external_rfq_serializer.rb +7 -0
  22. data/app/serializers/comee/core/product_serializer.rb +1 -2
  23. data/app/serializers/comee/core/quotation_request_item_serializer.rb +10 -0
  24. data/app/serializers/comee/core/quotation_request_serializer.rb +8 -0
  25. data/app/serializers/comee/core/sales_order_item_serializer.rb +10 -0
  26. data/app/serializers/comee/core/sales_order_serializer.rb +10 -0
  27. data/app/services/comee/core/customer_order_service.rb +80 -0
  28. data/app/services/comee/core/quotation_request_service.rb +69 -0
  29. data/app/services/comee/core/sales_order_service.rb +141 -0
  30. data/config/routes.rb +57 -3
  31. data/db/migrate/20230728014322_create_comee_core_products.rb +3 -11
  32. data/db/migrate/20230811102708_create_comee_core_customer_order_items.rb +1 -0
  33. data/db/migrate/20230812190652_create_comee_core_sales_orders.rb +4 -4
  34. data/db/migrate/20230812212844_create_comee_core_sales_order_items.rb +2 -1
  35. data/db/migrate/20231121094339_create_comee_core_quotation_requests.rb +15 -0
  36. data/db/migrate/20231121132709_create_comee_core_quotation_request_items.rb +27 -0
  37. data/db/migrate/20231122094424_create_comee_core_external_rfqs.rb +10 -0
  38. data/db/migrate/20231125122723_create_comee_core_purchase_orders.rb +15 -0
  39. data/db/migrate/20231126082907_create_comee_core_purchase_order_items.rb +20 -0
  40. data/lib/comee/core/version.rb +1 -1
  41. data/lib/comee_core.rb +1 -0
  42. data/spec/factories/comee/core/customer_order_items.rb +1 -0
  43. data/spec/factories/comee/core/external_rfqs.rb +6 -0
  44. data/spec/factories/comee/core/products.rb +5 -4
  45. data/spec/factories/comee/core/purchase_order_items.rb +9 -0
  46. data/spec/factories/comee/core/purchase_orders.rb +8 -0
  47. data/spec/factories/comee/core/quotation_request_items.rb +14 -0
  48. data/spec/factories/comee/core/quotation_requests.rb +7 -0
  49. data/spec/factories/comee/core/sales_order_items.rb +2 -1
  50. data/spec/factories/comee/core/sales_orders.rb +0 -1
  51. metadata +49 -7
  52. data/app/controllers/comee/core/product_types_controller.rb +0 -18
  53. data/app/models/comee/core/product_type.rb +0 -19
  54. data/db/migrate/20230728012836_create_comee_core_product_types.rb +0 -13
  55. data/spec/factories/comee/core/product_types.rb +0 -8
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.40
4
+ version: 0.1.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-26 00:00:00.000000000 Z
11
+ date: 2023-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ancestry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.1.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bcrypt
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -250,9 +264,15 @@ files:
250
264
  - app/controllers/comee/core/client_prices_controller.rb
251
265
  - app/controllers/comee/core/clients_controller.rb
252
266
  - app/controllers/comee/core/currencies_controller.rb
267
+ - app/controllers/comee/core/customer_order_items_controller.rb
268
+ - app/controllers/comee/core/customer_orders_controller.rb
269
+ - app/controllers/comee/core/external_rfqs_controller.rb
253
270
  - app/controllers/comee/core/notifications_controller.rb
254
- - app/controllers/comee/core/product_types_controller.rb
255
271
  - app/controllers/comee/core/products_controller.rb
272
+ - app/controllers/comee/core/quotation_request_items_controller.rb
273
+ - app/controllers/comee/core/quotation_requests_controller.rb
274
+ - app/controllers/comee/core/sales_order_items_controller.rb
275
+ - app/controllers/comee/core/sales_orders_controller.rb
256
276
  - app/controllers/comee/core/suppliers_controller.rb
257
277
  - app/controllers/comee/core/units_controller.rb
258
278
  - app/controllers/comee/core/users_controller.rb
@@ -271,6 +291,7 @@ files:
271
291
  - app/models/comee/core/customer_order.rb
272
292
  - app/models/comee/core/customer_order_item.rb
273
293
  - app/models/comee/core/edi_order.rb
294
+ - app/models/comee/core/external_rfq.rb
274
295
  - app/models/comee/core/field_mapping.rb
275
296
  - app/models/comee/core/inventory.rb
276
297
  - app/models/comee/core/invoice.rb
@@ -281,7 +302,10 @@ files:
281
302
  - app/models/comee/core/price.rb
282
303
  - app/models/comee/core/product.rb
283
304
  - app/models/comee/core/product_lookup.rb
284
- - app/models/comee/core/product_type.rb
305
+ - app/models/comee/core/purchase_order.rb
306
+ - app/models/comee/core/purchase_order_item.rb
307
+ - app/models/comee/core/quotation_request.rb
308
+ - app/models/comee/core/quotation_request_item.rb
285
309
  - app/models/comee/core/sales_order.rb
286
310
  - app/models/comee/core/sales_order_item.rb
287
311
  - app/models/comee/core/supplier.rb
@@ -293,12 +317,22 @@ files:
293
317
  - app/serializers/comee/core/client_price_serializer.rb
294
318
  - app/serializers/comee/core/client_serializer.rb
295
319
  - app/serializers/comee/core/currency_serializer.rb
320
+ - app/serializers/comee/core/customer_order_item_serializer.rb
321
+ - app/serializers/comee/core/customer_order_serializer.rb
322
+ - app/serializers/comee/core/external_rfq_serializer.rb
296
323
  - app/serializers/comee/core/product_serializer.rb
297
324
  - app/serializers/comee/core/product_type_serializer.rb
325
+ - app/serializers/comee/core/quotation_request_item_serializer.rb
326
+ - app/serializers/comee/core/quotation_request_serializer.rb
327
+ - app/serializers/comee/core/sales_order_item_serializer.rb
328
+ - app/serializers/comee/core/sales_order_serializer.rb
298
329
  - app/serializers/comee/core/supplier_serializer.rb
299
330
  - app/serializers/comee/core/unit_serializer.rb
300
331
  - app/serializers/comee/core/user_serializer.rb
332
+ - app/services/comee/core/customer_order_service.rb
301
333
  - app/services/comee/core/product_lookup_service.rb
334
+ - app/services/comee/core/quotation_request_service.rb
335
+ - app/services/comee/core/sales_order_service.rb
302
336
  - app/services/comee/core/token_service.rb
303
337
  - app/utils/comee/core/period.rb
304
338
  - app/views/comee/core/supplier_mailer/new_order_notification.html.erb
@@ -310,7 +344,6 @@ files:
310
344
  - config/spring.rb
311
345
  - db/migrate/20230727153013_create_comee_core_units.rb
312
346
  - db/migrate/20230728011037_create_comee_core_currencies.rb
313
- - db/migrate/20230728012836_create_comee_core_product_types.rb
314
347
  - db/migrate/20230728014322_create_comee_core_products.rb
315
348
  - db/migrate/20230728014330_create_comee_core_users.rb
316
349
  - db/migrate/20230728122618_create_comee_core_suppliers.rb
@@ -334,6 +367,11 @@ files:
334
367
  - db/migrate/20231003080017_create_comee_core_warehouse_shipments.rb
335
368
  - db/migrate/20231004105455_create_comee_core_warehouse_shipment_items.rb
336
369
  - db/migrate/20231101113358_create_comee_core_edi_orders.rb
370
+ - db/migrate/20231121094339_create_comee_core_quotation_requests.rb
371
+ - db/migrate/20231121132709_create_comee_core_quotation_request_items.rb
372
+ - db/migrate/20231122094424_create_comee_core_external_rfqs.rb
373
+ - db/migrate/20231125122723_create_comee_core_purchase_orders.rb
374
+ - db/migrate/20231126082907_create_comee_core_purchase_order_items.rb
337
375
  - lib/comee/core.rb
338
376
  - lib/comee/core/engine.rb
339
377
  - lib/comee/core/version.rb
@@ -348,6 +386,7 @@ files:
348
386
  - spec/factories/comee/core/customer_order_items.rb
349
387
  - spec/factories/comee/core/customer_orders.rb
350
388
  - spec/factories/comee/core/edi_orders.rb
389
+ - spec/factories/comee/core/external_rfqs.rb
351
390
  - spec/factories/comee/core/field_mappings.rb
352
391
  - spec/factories/comee/core/inventories.rb
353
392
  - spec/factories/comee/core/invoice_items.rb
@@ -356,8 +395,11 @@ files:
356
395
  - spec/factories/comee/core/notifications.rb
357
396
  - spec/factories/comee/core/order_sources.rb
358
397
  - spec/factories/comee/core/product_lookups.rb
359
- - spec/factories/comee/core/product_types.rb
360
398
  - spec/factories/comee/core/products.rb
399
+ - spec/factories/comee/core/purchase_order_items.rb
400
+ - spec/factories/comee/core/purchase_orders.rb
401
+ - spec/factories/comee/core/quotation_request_items.rb
402
+ - spec/factories/comee/core/quotation_requests.rb
361
403
  - spec/factories/comee/core/sales_order_items.rb
362
404
  - spec/factories/comee/core/sales_orders.rb
363
405
  - spec/factories/comee/core/suppliers.rb
@@ -387,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
387
429
  - !ruby/object:Gem::Version
388
430
  version: '0'
389
431
  requirements: []
390
- rubygems_version: 3.4.20
432
+ rubygems_version: 3.4.10
391
433
  signing_key:
392
434
  specification_version: 4
393
435
  summary: An engine for the COMee ERP.
@@ -1,18 +0,0 @@
1
- module Comee
2
- module Core
3
- class ProductTypesController < ApplicationController
4
- include Common
5
-
6
- def products
7
- products = Product.where(product_type_id: params[:id])
8
- render json: {success: true, data: serialize(products)}
9
- end
10
-
11
- private
12
-
13
- def model_params
14
- params.require(:payload).permit(:code, :name, :description, metadata_schema: {})
15
- end
16
- end
17
- end
18
- end
@@ -1,19 +0,0 @@
1
- module Comee
2
- module Core
3
- class ProductType < ApplicationRecord
4
- validates :code, presence: true, uniqueness: true
5
- validates :name, presence: true
6
- validate :required_fields_must_be_in_properties
7
-
8
- def required_fields_must_be_in_properties
9
- return unless metadata_schema.present?
10
-
11
- diff = metadata_schema["required"] - metadata_schema["properties"].keys
12
- return unless diff.count.positive?
13
-
14
- error = "The following fields are mentioned as required but do not exist in the field list: #{diff}."
15
- errors.add(:base, error)
16
- end
17
- end
18
- end
19
- end
@@ -1,13 +0,0 @@
1
- class CreateComeeCoreProductTypes < ActiveRecord::Migration[7.0]
2
- def change
3
- create_table :comee_core_product_types do |t|
4
- t.string :code, null: false
5
- t.string :name, null: false
6
- t.string :description
7
- t.jsonb :metadata_schema, default: {}
8
-
9
- t.timestamps
10
- end
11
- add_index :comee_core_product_types, :code, unique: true
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- FactoryBot.define do
2
- factory :product_type, class: "Comee::Core::ProductType" do
3
- code { Faker::Alphanumeric.alpha(number: 6) }
4
- name { Faker::Name.name }
5
- description { Faker::Lorem.sentence }
6
- metadata_schema { {} }
7
- end
8
- end