Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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()
Esempio n. 4
0
    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)
Esempio n. 5
0
    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()
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
    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()
Esempio n. 9
0
 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)
Esempio n. 10
0
    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)