status codes for APIHybridMessageRedirectResponse
This commit is contained in:
parent
3f2d1edef8
commit
fcebc5f5ec
2 changed files with 7 additions and 6 deletions
|
@ -108,10 +108,11 @@ class APIHybridResponse(ABC):
|
|||
|
||||
|
||||
class APIHybridMessageRedirectResponse(APIHybridResponse):
|
||||
def __init__(self, level, message, redirect_to):
|
||||
def __init__(self, level, message, redirect_to, status_code=None):
|
||||
self.level = level
|
||||
self.message = message
|
||||
self.redirect_to = redirect_to
|
||||
self.status_code = status_code
|
||||
|
||||
def get_api_response(self, request):
|
||||
return {self.level: self.message}
|
||||
|
|
|
@ -261,7 +261,7 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
|
|||
if new:
|
||||
return APIHybridMessageRedirectResponse(
|
||||
level='error', message=_('You can not create new objects because your changeset is full.'),
|
||||
redirect_to=ctx['back_url']
|
||||
redirect_to=ctx['back_url'], status_code=403,
|
||||
)
|
||||
elif obj.pk not in model_changes:
|
||||
messages.warning(request, _('You can not edit this object because your changeset is full.'))
|
||||
|
@ -286,13 +286,13 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
|
|||
if nosave:
|
||||
return APIHybridMessageRedirectResponse(
|
||||
level='error', message=_('You can not edit this object because your changeset is full.'),
|
||||
redirect_to=request.path
|
||||
redirect_to=request.path, status_code=403,
|
||||
)
|
||||
|
||||
if not can_edit:
|
||||
return APIHybridMessageRedirectResponse(
|
||||
level='error', message=_('You can not edit this object.'),
|
||||
redirect_to=request.path
|
||||
redirect_to=request.path, status_code=403,
|
||||
)
|
||||
|
||||
if not new and ((request.POST.get('delete') == '1' and delete is not False) or delete):
|
||||
|
@ -304,7 +304,7 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
|
|||
return APIHybridMessageRedirectResponse(
|
||||
level='error',
|
||||
message=_('You can not delete this object because other objects still depend on it.'),
|
||||
redirect_to=request.path
|
||||
redirect_to=request.path, status_code=403,
|
||||
)
|
||||
|
||||
if request.POST.get('delete_confirm') == '1' or delete:
|
||||
|
@ -315,7 +315,7 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
|
|||
return APIHybridMessageRedirectResponse(
|
||||
level='error',
|
||||
message=_('You can not edit changes on this changeset.'),
|
||||
redirect_to=request.path
|
||||
redirect_to=request.path, status_code=403,
|
||||
)
|
||||
redirect_to = None
|
||||
if model == Level:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue