From 10a1ea9b765728695bcc1fb622ffe67b17d7a2c2 Mon Sep 17 00:00:00 2001 From: abutalib-kiwi Date: Tue, 8 Aug 2023 14:29:57 +0530 Subject: [PATCH] change in admin login --- account/views.py | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/account/views.py b/account/views.py index 61c4e0e..853c43a 100644 --- a/account/views.py +++ b/account/views.py @@ -329,24 +329,17 @@ class UserLogin(viewsets.ViewSet): @action(methods=['post'], detail=False) def admin_login(self, request): - username = request.data.get('username') + email = request.data.get('email') password = request.data.get('password') - user = authenticate(request, username=username, password=password) - try: - if user is not None: - login(request, user) - if user.is_superuser: - serializer = SuperUserSerializer(user) - return custom_response(SUCCESS_CODE['3003'], serializer.data, response_status=status.HTTP_200_OK) - else: - return custom_error_response(ERROR_CODE["2002"], response_status=status.HTTP_401_UNAUTHORIZED) - except Exception as e: - logging.error(e) - refresh = RefreshToken.for_user(user) - access_token = str(refresh.access_token) - refresh_token = str(refresh) - data = {"auth_token": access_token, "refresh_token":refresh_token, "user_type": '3'} - return custom_response(None, data, response_status=status.HTTP_200_OK) + user = User.objects.filter(email__iexact=email, is_superuser=True + ).only('id', 'first_name', 'last_name', 'email', 'is_superuser').first() + + if not user: + return custom_error_response(ERROR_CODE["2063"], response_status=status.HTTP_400_BAD_REQUEST) + elif not user.check_password(password): + return custom_error_response(ERROR_CODE["2031"], response_status=status.HTTP_400_BAD_REQUEST) + serializer = SuperUserSerializer(user) + return custom_response(SUCCESS_CODE['3003'], serializer.data, response_status=status.HTTP_200_OK) class AdminLoginViewSet(viewsets.GenericViewSet):