Reverting back to admin pages as login and updates in the mobile api
This commit is contained in:
47
utils/errors_json_convertor.py
Normal file
47
utils/errors_json_convertor.py
Normal file
@@ -0,0 +1,47 @@
|
||||
def simplify_errors(error_response):
|
||||
"""
|
||||
Convert nested 'errors' dict like:
|
||||
{
|
||||
"errors": {
|
||||
"__all__": ["Invalid credentials."]
|
||||
}
|
||||
}
|
||||
into:
|
||||
{
|
||||
"errors": "Invalid credentials."
|
||||
}
|
||||
"""
|
||||
errors = error_response.get("errors", {})
|
||||
|
||||
# Collect all messages into a flat list
|
||||
messages = []
|
||||
if isinstance(errors, dict):
|
||||
for field_errors in errors.values():
|
||||
if isinstance(field_errors, (list, tuple)):
|
||||
messages.extend(str(msg) for msg in field_errors)
|
||||
else:
|
||||
messages.append(str(field_errors))
|
||||
else:
|
||||
# If 'errors' is not a dict, just stringify it
|
||||
messages.append(str(errors))
|
||||
|
||||
# Join multiple messages if needed
|
||||
combined = " ".join(messages).strip()
|
||||
return {"errors": combined}
|
||||
|
||||
|
||||
|
||||
def simplify_form_errors(form):
|
||||
"""
|
||||
Flatten Django form.errors into a single 'errors' string.
|
||||
"""
|
||||
errors = form.errors # ErrorDict
|
||||
messages = []
|
||||
|
||||
for field_errors in errors.values():
|
||||
# field_errors is usually an ErrorList (list-like)
|
||||
for msg in field_errors:
|
||||
messages.append(str(msg))
|
||||
|
||||
combined = " ".join(messages).strip()
|
||||
return {"errors": combined}
|
||||
Reference in New Issue
Block a user