summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)