comee_core 0.1.82 → 0.1.84
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.
- checksums.yaml +4 -4
- data/app/controllers/comee/core/customer_orders_controller.rb +11 -1
- data/app/controllers/comee/core/fulfillment_centers_controller.rb +13 -0
- data/app/controllers/comee/core/products_controller.rb +5 -0
- data/app/controllers/comee/core/sales_orders_controller.rb +4 -1
- data/app/controllers/concerns/comee/core/common.rb +21 -9
- data/app/models/comee/core/product_lookup.rb +4 -0
- data/app/models/comee/core/shipment_instruction.rb +4 -0
- data/app/serializers/comee/core/fulfillment_center_serializer.rb +7 -0
- data/app/services/comee/core/customer_order_service.rb +13 -0
- data/config/routes.rb +17 -6
- data/lib/comee/core/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 88c220e6b121eb2fc8a4191d432f5063df0bad832d3489443798c44618421797
|
|
4
|
+
data.tar.gz: 78c951ec96109410776b2345b927772a6e069ef078b558e69f7bbef0b49fca67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 726ab140419d49fb2b08bc68beb970cdc3f5f34ea5de70ed0f65d90a4b2930fb3a976def5dadd5837ca48e5c5a237d75dec8b5ad333c380f048302c224d588e7
|
|
7
|
+
data.tar.gz: 0a49d0031869536a37b50af5a67d86ca6e51bfc3631d3191965c90270d2dbe14949e748464ad164530543a48e353b355ed012321a6ada12dc574592301519aa5
|
|
@@ -3,7 +3,12 @@ module Comee
|
|
|
3
3
|
class CustomerOrdersController < ApplicationController
|
|
4
4
|
include Common
|
|
5
5
|
|
|
6
|
-
before_action :set_service, only: %i[submit submit_for_confirmation accept cancel]
|
|
6
|
+
before_action :set_service, only: %i[create_with_items submit submit_for_confirmation accept cancel]
|
|
7
|
+
|
|
8
|
+
def create_with_items
|
|
9
|
+
order = @service.create(create_with_item_params)
|
|
10
|
+
render json: {success: true, data: serialize(order)}
|
|
11
|
+
end
|
|
7
12
|
|
|
8
13
|
def submit
|
|
9
14
|
order = @service.submit(params[:id])
|
|
@@ -45,6 +50,11 @@ module Comee
|
|
|
45
50
|
:file)
|
|
46
51
|
end
|
|
47
52
|
|
|
53
|
+
def create_with_item_params
|
|
54
|
+
params.require(:payload).permit(:order_number, :order_date, :order_terms, :delivery_address, :invoice_address, :status, :client_id,
|
|
55
|
+
items: %i[customer_item_no product_id quantity price unit_id delivery_date])
|
|
56
|
+
end
|
|
57
|
+
|
|
48
58
|
def set_service
|
|
49
59
|
@service = CustomerOrderService.new
|
|
50
60
|
end
|
|
@@ -27,6 +27,11 @@ module Comee
|
|
|
27
27
|
render json: {success: true, data: serialize(data)}
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
+
def categories
|
|
31
|
+
root = Product.find_by(code: "root")
|
|
32
|
+
render json: {success: true, data: serialize(root.children)}
|
|
33
|
+
end
|
|
34
|
+
|
|
30
35
|
def filter
|
|
31
36
|
products = Product.ransack(params[:q]).result
|
|
32
37
|
render json: {success: true, data: serialize(products)}
|
|
@@ -6,7 +6,10 @@ module Comee
|
|
|
6
6
|
|
|
7
7
|
def index
|
|
8
8
|
super do
|
|
9
|
-
|
|
9
|
+
[
|
|
10
|
+
Comee::Core::SalesOrder.includes(:customer_order, :fulfillment_center, :sales_order_items).all,
|
|
11
|
+
include: ["sales_order_items", "sales_order_items.product", "sales_order_items.unit"]
|
|
12
|
+
]
|
|
10
13
|
end
|
|
11
14
|
end
|
|
12
15
|
|
|
@@ -9,16 +9,28 @@ module Comee
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def index
|
|
12
|
-
data =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
data = nil
|
|
13
|
+
options = {}
|
|
14
|
+
if block_given?
|
|
15
|
+
incoming = yield
|
|
16
|
+
if incoming.instance_of?(Array)
|
|
17
|
+
data, options = incoming
|
|
18
|
+
else
|
|
19
|
+
data = incoming
|
|
20
|
+
end
|
|
21
|
+
else
|
|
22
|
+
data = @clazz.all
|
|
23
|
+
end
|
|
24
|
+
# data, options = if block_given?
|
|
25
|
+
# yield
|
|
26
|
+
# else
|
|
27
|
+
# [@clazz.all, {}]
|
|
28
|
+
# end
|
|
17
29
|
page = params[:page]
|
|
18
30
|
if page
|
|
19
|
-
render json: {success: true, data: serialize(data), page: page, total: @clazz.count}
|
|
31
|
+
render json: {success: true, data: serialize(data, options), page: page, total: @clazz.count}
|
|
20
32
|
else
|
|
21
|
-
render json: {success: true, data: serialize(data)}
|
|
33
|
+
render json: {success: true, data: serialize(data, options)}
|
|
22
34
|
end
|
|
23
35
|
end
|
|
24
36
|
|
|
@@ -58,8 +70,8 @@ module Comee
|
|
|
58
70
|
|
|
59
71
|
private
|
|
60
72
|
|
|
61
|
-
def serialize(data)
|
|
62
|
-
ActiveModelSerializers::SerializableResource.new(data)
|
|
73
|
+
def serialize(data, options = {})
|
|
74
|
+
ActiveModelSerializers::SerializableResource.new(data, options)
|
|
63
75
|
end
|
|
64
76
|
|
|
65
77
|
def set_clazz
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
module Comee
|
|
2
2
|
module Core
|
|
3
3
|
class CustomerOrderService
|
|
4
|
+
def create(params)
|
|
5
|
+
order = nil
|
|
6
|
+
params = params.with_indifferent_access
|
|
7
|
+
ActiveRecord::Base.transaction do
|
|
8
|
+
order_params = params.except(:items)
|
|
9
|
+
order = Comee::Core::CustomerOrder.create(**order_params)
|
|
10
|
+
items = params.slice(:items)[:items]
|
|
11
|
+
items.each { |item| item[:customer_order_id] = order.id }
|
|
12
|
+
Comee::Core::CustomerOrderItem.insert_all!(items)
|
|
13
|
+
end
|
|
14
|
+
order
|
|
15
|
+
end
|
|
16
|
+
|
|
4
17
|
##
|
|
5
18
|
# This method converts a price value per a unit of measure to a price value per another
|
|
6
19
|
# unit of measure.
|
data/config/routes.rb
CHANGED
|
@@ -8,12 +8,17 @@ Comee::Core::Engine.routes.draw do
|
|
|
8
8
|
post "mark_as_unread", controller: :notifications, action: :mark_as_unread
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
resources :suppliers do
|
|
12
|
+
collection do
|
|
13
|
+
post "filter"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
13
16
|
resources :products do
|
|
14
17
|
collection do
|
|
15
18
|
post "master_prices"
|
|
16
19
|
post "client_prices"
|
|
20
|
+
post "filter"
|
|
21
|
+
get "categories"
|
|
17
22
|
end
|
|
18
23
|
end
|
|
19
24
|
resources :product_lookups do
|
|
@@ -42,7 +47,6 @@ Comee::Core::Engine.routes.draw do
|
|
|
42
47
|
end
|
|
43
48
|
end
|
|
44
49
|
resources :external_rfqs
|
|
45
|
-
post "/customer_orders/filter", controller: :customer_orders, action: :filter
|
|
46
50
|
resources :customer_orders do
|
|
47
51
|
member do
|
|
48
52
|
post "submit"
|
|
@@ -50,6 +54,10 @@ Comee::Core::Engine.routes.draw do
|
|
|
50
54
|
post "accept"
|
|
51
55
|
post "cancel"
|
|
52
56
|
end
|
|
57
|
+
collection do
|
|
58
|
+
post "filter"
|
|
59
|
+
post "create_with_items"
|
|
60
|
+
end
|
|
53
61
|
end
|
|
54
62
|
resources :customer_order_items do
|
|
55
63
|
collection do
|
|
@@ -106,7 +114,10 @@ Comee::Core::Engine.routes.draw do
|
|
|
106
114
|
end
|
|
107
115
|
end
|
|
108
116
|
resources :customs_details
|
|
109
|
-
resources :item_statuses
|
|
110
|
-
|
|
111
|
-
|
|
117
|
+
resources :item_statuses do
|
|
118
|
+
collection do
|
|
119
|
+
post "filter"
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
resources :fulfillment_centers
|
|
112
123
|
end
|
data/lib/comee/core/version.rb
CHANGED
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.
|
|
4
|
+
version: 0.1.84
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Henock L.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-01-
|
|
11
|
+
date: 2024-01-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: active_model_serializers
|
|
@@ -288,6 +288,7 @@ files:
|
|
|
288
288
|
- app/controllers/comee/core/customer_orders_controller.rb
|
|
289
289
|
- app/controllers/comee/core/customs_details_controller.rb
|
|
290
290
|
- app/controllers/comee/core/external_rfqs_controller.rb
|
|
291
|
+
- app/controllers/comee/core/fulfillment_centers_controller.rb
|
|
291
292
|
- app/controllers/comee/core/item_statuses_controller.rb
|
|
292
293
|
- app/controllers/comee/core/lookups_controller.rb
|
|
293
294
|
- app/controllers/comee/core/notifications_controller.rb
|
|
@@ -356,6 +357,7 @@ files:
|
|
|
356
357
|
- app/serializers/comee/core/customer_order_serializer.rb
|
|
357
358
|
- app/serializers/comee/core/customs_detail_serializer.rb
|
|
358
359
|
- app/serializers/comee/core/external_rfq_serializer.rb
|
|
360
|
+
- app/serializers/comee/core/fulfillment_center_serializer.rb
|
|
359
361
|
- app/serializers/comee/core/item_status_serializer.rb
|
|
360
362
|
- app/serializers/comee/core/lookup_serializer.rb
|
|
361
363
|
- app/serializers/comee/core/master_price_serializer.rb
|