Commit 28758dba authored by Titouan Soulard's avatar Titouan Soulard

erp5_api_style: FIXUP return

parent 3c8360da
......@@ -64,13 +64,13 @@ if not data_dict:
try:
data = json_loads_byteified(text_content)
except BaseException as e:
portal.ERP5Site_logApiErrorAndReturn(
return portal.ERP5Site_logApiErrorAndReturn(
error_code=400,
error_message=str(e),
error_name="API-JSON-INVALID-JSON",
)
if not isinstance(data, dict):
portal.ERP5Site_logApiErrorAndReturn(
return portal.ERP5Site_logApiErrorAndReturn(
error_code=400,
error_message="Did not received a JSON Object",
error_name="API-JSON-NOT-JSON-OBJECT",
......@@ -85,13 +85,13 @@ if mode in ("get", "put"):
try:
document_id = data["id"]
except KeyError:
portal.ERP5Site_logApiErrorAndReturn(
return portal.ERP5Site_logApiErrorAndReturn(
error_code=400,
error_message="Cannot find id property",
error_name="API-JSON-NO-ID-PROPERTY",
)
except TypeError:
portal.ERP5Site_logApiErrorAndReturn(
return portal.ERP5Site_logApiErrorAndReturn(
error_code=400,
error_message="Did not received a JSON Object",
error_name="API-JSON-NOT-JSON-OBJECT",
......@@ -124,14 +124,14 @@ for erp5_action_key in erp5_action_dict.keys():
document, view_action['id'], data, list_error=True
)
match = True
# If an object is created, 201 code is exptected
# If an object is created, 201 code is expected
if mode == "post":
if response.getStatus() < 400:
response.setStatus(201)
return result
except ValueError as e:
if mode in ("put", "get"):
portal.ERP5Site_logApiErrorAndReturn(
return portal.ERP5Site_logApiErrorAndReturn(
error_code=400,
error_message="Data did not match schema: %s" % str(e),
error_name="API-JSON-SCHEMA-ERROR",
......@@ -155,9 +155,7 @@ if not match:
error_message = "Data did not validate against interface schemas"
if error_dict:
error_kw["detail_list"] = sorted(error_dict.items())
portal.ERP5Site_logApiErrorAndReturn(
error_message,
return portal.ERP5Site_logApiErrorAndReturn(
error_message=error_message,
**error_kw
)
raise ValueError("Unreachable code reached")
......@@ -27,3 +27,5 @@ if detail_list:
context.REQUEST.response.setHeader("Content-Type", "application/json")
context.REQUEST.response.setStatus(error_code, lock=True)
context.REQUEST.response.setBody(json.dumps(error_dict, indent=2), lock=True)
return
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment