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):
|
class APIHybridMessageRedirectResponse(APIHybridResponse):
|
||||||
def __init__(self, level, message, redirect_to):
|
def __init__(self, level, message, redirect_to, status_code=None):
|
||||||
self.level = level
|
self.level = level
|
||||||
self.message = message
|
self.message = message
|
||||||
self.redirect_to = redirect_to
|
self.redirect_to = redirect_to
|
||||||
|
self.status_code = status_code
|
||||||
|
|
||||||
def get_api_response(self, request):
|
def get_api_response(self, request):
|
||||||
return {self.level: self.message}
|
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:
|
if new:
|
||||||
return APIHybridMessageRedirectResponse(
|
return APIHybridMessageRedirectResponse(
|
||||||
level='error', message=_('You can not create new objects because your changeset is full.'),
|
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:
|
elif obj.pk not in model_changes:
|
||||||
messages.warning(request, _('You can not edit this object because your changeset is full.'))
|
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:
|
if nosave:
|
||||||
return APIHybridMessageRedirectResponse(
|
return APIHybridMessageRedirectResponse(
|
||||||
level='error', message=_('You can not edit this object because your changeset is full.'),
|
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:
|
if not can_edit:
|
||||||
return APIHybridMessageRedirectResponse(
|
return APIHybridMessageRedirectResponse(
|
||||||
level='error', message=_('You can not edit this object.'),
|
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):
|
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(
|
return APIHybridMessageRedirectResponse(
|
||||||
level='error',
|
level='error',
|
||||||
message=_('You can not delete this object because other objects still depend on it.'),
|
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:
|
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(
|
return APIHybridMessageRedirectResponse(
|
||||||
level='error',
|
level='error',
|
||||||
message=_('You can not edit changes on this changeset.'),
|
message=_('You can not edit changes on this changeset.'),
|
||||||
redirect_to=request.path
|
redirect_to=request.path, status_code=403,
|
||||||
)
|
)
|
||||||
redirect_to = None
|
redirect_to = None
|
||||||
if model == Level:
|
if model == Level:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue