1
0
Fork 0
mirror of https://github.com/kakwa/ldapcherry synced 2025-07-03 11:57:41 +02:00

custom error handling for UserDoesntExist, UserAlreadyExists and GroupDoesntExist

This commit is contained in:
kakwa 2015-07-31 22:43:51 +02:00
parent 5561a9f42b
commit a8af29692e
2 changed files with 38 additions and 10 deletions

View file

@ -79,11 +79,34 @@ def exception_decorator(func):
if not username:
return self.temp_service_unavailable.render()
is_admin = self._check_admin()
return self.temp_error.render(
is_admin=is_admin,
alert='danger',
message="An error occured, please check logs for details"
)
et = type(e)
if et is UserDoesntExist:
user = e.user
return self.temp_error.render(
is_admin=is_admin,
alert='danger',
message="User '" + user + "' does not exist"
)
elif et is UserAlreadyExists:
user = e.user
return self.temp_error.render(
is_admin=is_admin,
alert='warning',
message="User '" + user + "' already exist"
)
elif et is GroupDoesntExist:
group = e.group
return self.temp_error.render(
is_admin=is_admin,
alert='danger',
message="Missing group, please check logs for details"
)
else:
return self.temp_error.render(
is_admin=is_admin,
alert='danger',
message="An error occured, please check logs for details"
)
return ret
@ -535,6 +558,7 @@ class LdapCherry(object):
try:
tmp = self.backends[b].get_user(username)
except UserDoesntExist as e:
self._handle_exception(e)
tmp = {}
for attr in tmp:
if attr in self.attributes.backend_attributes[b]:
@ -1076,7 +1100,7 @@ class LdapCherry(object):
return self.temp_error.render(
is_admin=is_admin,
alert='warning',
message="User doesn't exist"
message="User '" + user + "' does not exist"
)
tmp = self._get_roles(user)
user_roles = tmp['roles']