Warn on errors deleting a service account, also avoids deleting the record

This commit is contained in:
2010-03-30 22:23:55 +01:00
parent 07450ca5dd
commit 4592988263
2 changed files with 8 additions and 3 deletions

View File

@@ -181,6 +181,7 @@ class ServiceAccount(models.Model):
def pre_delete_listener( **kwargs ):
api = kwargs['instance'].service.api_class
if api.check_user(kwargs['instance'].service_uid):
api.delete_user(kwargs['instance'].service_uid)
if not api.delete_user(kwargs['instance'].service_uid):
raise ServiceError('Unable to delete account on related service')
signals.pre_delete.connect(ServiceAccount.pre_delete_listener, sender=ServiceAccount)

View File

@@ -158,8 +158,12 @@ def service_del(request, serviceid=0):
if request.method == 'POST':
if 'confirm-delete' in request.POST:
acc.delete()
request.user.message_set.create(message="Service account successfully deleted.")
try:
acc.delete()
except ServiceError:
request.user.message_set.create(message="Error deleting the service account, try again later.")
else:
request.user.message_set.create(message="Service account successfully deleted.")
else:
return render_to_response('sso/serviceaccount/deleteconfirm.html', locals(), context_instance=RequestContext(request))