display messages in editor api
This commit is contained in:
parent
badda67549
commit
52e684ced5
1 changed files with 15 additions and 1 deletions
|
@ -5,6 +5,8 @@ from typing import Optional
|
|||
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.views import redirect_to_login
|
||||
from django.contrib.messages import DEFAULT_TAGS as DEFAULT_MESSAGE_TAGS
|
||||
from django.contrib.messages import get_messages
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import HttpResponse, HttpResponseNotModified, HttpResponseRedirect
|
||||
from django.shortcuts import redirect, render
|
||||
|
@ -197,7 +199,19 @@ class NoAPIHybridResponse(Exception):
|
|||
def call_api_hybrid_view_for_api(func, request, *args, **kwargs):
|
||||
response = func(request, *args, **kwargs)
|
||||
if isinstance(response, APIHybridResponse):
|
||||
api_response = APIResponse(response.get_api_response(request), status=response.status_code)
|
||||
result = OrderedDict(response.get_api_response(request))
|
||||
|
||||
messages = []
|
||||
for message in get_messages(request):
|
||||
messages.append({
|
||||
'level': DEFAULT_MESSAGE_TAGS[message.level],
|
||||
'message': message.message
|
||||
})
|
||||
if messages:
|
||||
result['messages'] = messages
|
||||
result.move_to_end('messages', last=False)
|
||||
|
||||
api_response = APIResponse(result, status=response.status_code)
|
||||
if response.etag:
|
||||
api_response['ETag'] = response.etag
|
||||
if response.last_modified:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue