Update Adjutant-UI to handle 202 http codes

This matches the new changes to Adjutant as part of
the refactor to split API and Workflow layers.

202 will be the most common response code when dealing
with the creation of new tasks due to future async
task processing.

Change-Id: Ia09a070709b8a2973c9149df91c67af2b69199a0
This commit is contained in:
Adrian Turjak 2020-01-28 11:23:13 +13:00
parent 7e5b950098
commit 8d8c361b4a
4 changed files with 9 additions and 11 deletions

View File

@ -41,7 +41,7 @@ class EmailForm(forms.SelfHandlingForm):
def handle(self, request, data):
try:
response = api.adjutant.email_update(request, data['new_email'])
if response.status_code == 200:
if response.status_code == 202:
msg = _("Confirmation email sent to %s.")
messages.success(request, msg % data['new_email'])
elif response.status_code == 400:

View File

@ -56,7 +56,7 @@ class InviteUserForm(forms.SelfHandlingForm):
def handle(self, request, data):
try:
response = adjutant.user_invite(request, data)
if response.status_code == 200:
if response.status_code == 202:
messages.success(request, _('Invited user successfully.'))
else:
messages.error(request, _('Failed to invite user.'))
@ -100,26 +100,26 @@ class UpdateUserForm(forms.SelfHandlingForm):
roles_removed = list(current_managable_roles - desired_roles)
# Remove roles from user
remove_status = 200
remove_status = 202
if len(roles_removed) > 0:
remove_response = adjutant.user_roles_remove(
request,
user_id,
roles_removed)
remove_status = remove_response.status_code
if remove_status != 200:
if remove_status != 202:
messages.error(request, _('Failed to remove roles from user.'))
return False
# Add new roles
added_status = 200
added_status = 202
if len(roles_added) > 0:
added_response = adjutant.user_roles_add(
request,
user_id,
roles_added)
added_status = added_response.status_code
if added_status != 200:
if added_status != 202:
messages.error(request, _('Failed to add roles to user.'))
return False

View File

@ -46,10 +46,8 @@ class UpdateQuotaForm(forms.SelfHandlingForm):
try:
response = adjutant.update_quotas(request, data['size'],
regions=[data['region']])
if response.status_code == 200:
messages.success(request, _('Quota updated sucessfully.'))
elif response.status_code == 202:
messages.success(request, _('Task created but requires '
if response.status_code == 202:
messages.success(request, _('Task created and may require '
'admin approval.'))
elif response.status_code == 400:
messages.error(request, _('Failed to update quota. You may'

View File

@ -77,7 +77,7 @@ class ApproveTask(tables.BatchAction):
def action(self, request, obj_id):
result = adjutant.task_approve(request, obj_id)
if not result or result.status_code != 200:
if not result or result.status_code not in [200, 202]:
exception = exceptions.NotAvailable()
exception._safe_message = False
raise exception