summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-08-12 16:32:06 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-08-12 16:32:06 +0700
commit57bc06d6991f4ab2f0f0ef4baecbf071eb62042a (patch)
treeecd39d1330514d3fa3e5e49f76a4d8d658b74c6f /indoteknik_api
parentfa6e8c91bd98100b6ef862ce388817515f77b55d (diff)
<iman> update api tracking order
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py29
1 files changed, 24 insertions, 5 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index d44868f0..a9113ada 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -624,26 +624,45 @@ class SaleOrder(controller.Controller):
email_user = kw.get('email')
if not email_user or not so:
- return self.response(code=400, description="Email and Sale Order number are required.")
+ return self.response({
+ 'code': 400,
+ 'so': so,
+ 'email': email_user,
+ 'description': "Email and Sale Order number are required."
+ })
# Search for the sale order by the name (so)
sale_order = request.env['sale.order'].search([('name', '=', so)], limit=1)
if not sale_order:
- return self.response(code=404, description="Sale Order not found.")
+ return self.response({
+ 'code': 404,
+ 'so': so,
+ 'email': email_user,
+ 'description': "Sale Order not found."
+ })
# Get the partner associated with the sale order
partner = sale_order.partner_id
# Check if the email matches the partner's email
if partner.email != email_user:
- return self.response(code=403, description="Email does not match the Sale Order.")
+ return self.response({
+ 'code': 403,
+ 'so': so,
+ 'email': email_user,
+ 'description': "Email does not match the Sale Order."
+ })
# Check for partner child ids if needed
partner_child_ids = self.get_partner_child_ids(partner.id)
if sale_order.partner_id.id not in partner_child_ids:
- return self.response(code=403, description="Unauthorized access to Sale Order details.")
+ return self.response({
+ 'so': so,
+ 'email': email_user,
+ 'description': "Unauthorized access to Sale Order details."
+ })
# Prepare the response data
data = request.env['sale.order'].api_v1_single_response(sale_order, context='with_detail')
- return self.response(data) \ No newline at end of file
+ return self.response(data)