comee_core 0.1.82 → 0.1.83
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/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/services/comee/core/customer_order_service.rb +13 -0
- data/config/routes.rb +4 -1
- data/lib/comee/core/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76f47c496c4a524edbc87938c14f4056182ec04520fdb83c3c78d13e38a279eb
|
4
|
+
data.tar.gz: ca6a83b2354cd9c1a8b3a7a61c72cbbd134b2c09bc86a445abd147ad1e69368f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c96de79bcd9c67931f8c93b0318b48cc5677ccb1e158c3057c2d1de7d607bf7ee2db009d67cab29698ff895bf5d81d4b1a141ef86708291644b2ada7698be8
|
7
|
+
data.tar.gz: a77db4503767df48c75a495a5778852779901be087ef487b1c6128816a4bb8a6645599024724405bcd198fa889e40588e03b13efba6fbd32e23f72c037f1f902
|
@@ -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
|
@@ -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
@@ -42,7 +42,6 @@ Comee::Core::Engine.routes.draw do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
resources :external_rfqs
|
45
|
-
post "/customer_orders/filter", controller: :customer_orders, action: :filter
|
46
45
|
resources :customer_orders do
|
47
46
|
member do
|
48
47
|
post "submit"
|
@@ -50,6 +49,10 @@ Comee::Core::Engine.routes.draw do
|
|
50
49
|
post "accept"
|
51
50
|
post "cancel"
|
52
51
|
end
|
52
|
+
collection do
|
53
|
+
post "filter"
|
54
|
+
post "create_with_items"
|
55
|
+
end
|
53
56
|
end
|
54
57
|
resources :customer_order_items do
|
55
58
|
collection do
|
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.83
|
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-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|