def delete(self, request, username): user = self._get_user_object(request, username) try: if request.user.username == username: raise Exception("Cannot delete the currently logged in user") epw = get_epasswd(username) logger.debug('epw: %s' % repr(epw)) if (epw is not None): userdel(username) user.delete() logger.debug('deleted user %s' % username) return Response() except Exception, e: handle_exception(e, request)
def delete(self, request, username): with self._handle_exception(request): if request.user.username == username: e_msg = "Cannot delete the currently logged in user." handle_exception(Exception(e_msg), request) if username in self.exclude_list: e_msg = ("Delete of restricted user ({}) is not supported." ).format(username) handle_exception(Exception(e_msg), request) gid = None if User.objects.filter(username=username).exists(): u = User.objects.get(username=username) if u.user is not None: u.user.delete() gid = u.gid u.delete() else: sysusers = combined_users() found = False for u in sysusers: if u.username == username: found = True break if found is False: e_msg = "User ({}) does not exist.".format(username) handle_exception(Exception(e_msg), request) for g in combined_groups(): if (g.gid == gid and g.admin and not User.objects.filter(gid=gid).exists()): g.delete() # When user deleted destroy all Pincard entries flush_pincard(username_to_uid(username)) try: userdel(username) except Exception as e: logger.exception(e) e_msg = ( "A low level error occurred while deleting the user ({})." ).format(username) handle_exception(Exception(e_msg), request) return Response()
def delete(self, request, username): user = self._get_user_object(request, username) try: if request.user.username == username: e_msg = ('Cannot delete the currently logged in user') handle_exception(Exception(e_msg), request) epw = get_epasswd(username) logger.debug('epw: %s' % repr(epw)) if (epw is not None): userdel(username) user.delete() return Response() except RockStorAPIException: raise except Exception, e: handle_exception(e, request)
def delete(self, request, username): with self._handle_exception(request): if request.user.username == username: e_msg = ('Cannot delete the currently logged in user') handle_exception(Exception(e_msg), request) if (username in self.exclude_list): e_msg = ('Delete of restricted user(%s) is not supported.' % username) handle_exception(Exception(e_msg), request) gid = None if (User.objects.filter(username=username).exists()): u = User.objects.get(username=username) if (u.user is not None): u.user.delete() gid = u.gid u.delete() else: sysusers = combined_users() found = False for u in sysusers: if (u.username == username): found = True break if (found is False): e_msg = ('User(%s) does not exist' % username) handle_exception(Exception(e_msg), request) for g in combined_groups(): if (g.gid == gid and g.admin and not User.objects.filter(gid=gid).exists()): g.delete() # When user deleted destroy all Pincard entries flush_pincard(username_to_uid(username)) try: userdel(username) except Exception as e: logger.exception(e) e_msg = ('A low level error occured while deleting ' 'the user: %s' % username) handle_exception(Exception(e_msg), request) return Response()
def delete(self, request, username): user = self._get_user_object(request, username) try: if request.user.username == username: e_msg = ('Cannot delete the currently logged in user') handle_exception(Exception(e_msg), request) epw = get_epasswd(username) user.delete() if (epw is not None): userdel(username) return Response() except RockStorAPIException: raise except Exception, e: logger.exception(e) e_msg = ('User deletion is not currently supported.') handle_exception(Exception(e_msg), request)
def delete(self, request, username): with self._handle_exception(request): if request.user.username == username: e_msg = ('Cannot delete the currently logged in user') handle_exception(Exception(e_msg), request) if (username in self.exclude_list): e_msg = ('Delete of restricted user(%s) is not supported.' % username) handle_exception(Exception(e_msg), request) gid = None if (User.objects.filter(username=username).exists()): u = User.objects.get(username=username) if (u.user is not None): u.user.delete() gid = u.gid u.delete() else: sysusers = combined_users() found = False for u in sysusers: if (u.username == username): found = True break if (found is False): e_msg = ('User(%s) does not exist' % username) handle_exception(Exception(e_msg), request) for g in combined_groups(): if (g.gid == gid and g.admin and not User.objects.filter(gid=gid).exists()): g.delete() try: userdel(username) except Exception, e: logger.exception(e) e_msg = ( 'A low level error occured while deleting the user: %s' % username) handle_exception(Exception(e_msg), request) return Response()
def test_user_4(self): """ user in User model but deleted manually in the system """ data = {'username': '******', 'shell': '/bin/bash', 'password': '******', 'email': '*****@*****.**', 'admin': True, } self.client.login(username='******', password='******') response = self.client.post(self.BASE_URL, data=data) self.assertEqual(response.status_code, status.HTTP_200_OK, msg=response.content) from system.users import userdel userdel(data['username']) response2 = self.client.delete('%s/rocky' % self.BASE_URL) self.assertEqual(response2.status_code, status.HTTP_200_OK, msg=response2.content)
def delete(self, request, username): if request.user.username == username: e_msg = "Cannot delete the currently logged in user" handle_exception(Exception(e_msg), request) if username in self.exclude_list: e_msg = "Delete of restricted user(%s) is not supported." % username handle_exception(Exception(e_msg), request) gid = None if User.objects.filter(username=username).exists(): u = User.objects.get(username=username) if u.user is not None: u.user.delete() gid = u.gid u.delete() else: sysusers = combined_users() found = False for u in sysusers: if u.username == username: found = True break if found is False: e_msg = "User(%s) does not exist" % username handle_exception(Exception(e_msg), request) for g in combined_groups(): if g.gid == gid and g.admin and not User.objects.filter(gid=gid).exists(): g.delete() try: userdel(username) except Exception, e: logger.exception(e) e_msg = "A low level error occured while deleting the user: %s" % username handle_exception(Exception(e_msg), request)