def post(self, request):
     serializer = LoginSerializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     user = serializer.validated_data["user"]
     app_login(request, user)
     token, created = Token.objects.get_or_create(user=user)
     return Response({"token": token.key}, status=200)
Exemple #2
0
def login(request):

    if request.method == 'GET':
        next = request.GET.get('next', None)
        context = {}
        if next:
            context['next'] = next
        return render(request, 'dashboard/login.html', context=context)

    if request.method == 'POST':
        email = request.POST.get('email')
        password = request.POST.get('password')
        next = request.GET.get('next')
        errors = []
        if not email:
            errors.append('Please enter email')
        if not password:
            errors.append('Please enter password')

        user = User.objects.filter(email=email).first()
        if not user:
            errors.append('Invalid Credentials')
        if user:
            valid = user.check_password(password)
            if not valid and 'Invalid Credentials' not in errors:
                errors.append('Invalid Credentials')

        if errors:
            context = {"errors": errors}
            return render(request, 'dashboard/login.html', context=context)

        app_login(request, user)
        if next:
            return redirect(next)
        return redirect(settings.REDIRECT_URL)
Exemple #3
0
 def patch(self, request):
     request_json = parse_json(request.body)
     if request_json.get("username", None) is not None:
         if request.user.username != request_json["username"]:
             if User.objects.filter(
                     username=request_json["username"]).first() is not None:
                 return JsonResponse({
                     "status": "error",
                     "error": "user_exists"
                 })
             request.user.username = request_json["username"]
             request.user.save()
     if request_json.get("firstName", None) is not None:
         request.user.player.first_name = request_json["firstName"]
         request.user.player.save()
         request.user.first_name = request_json["firstName"]
         request.user.save()
     if request_json.get("lastName", None) is not None:
         request.user.player.last_name = request_json["lastName"]
         request.user.player.save()
         request.user.last_name = request_json["lastName"]
         request.user.save()
     if request_json.get("newPassword", None) is not None:
         if app_authenticate(username=request.user.username,
                             password=request_json["oldPassword"]) is None:
             return JsonResponse({
                 "status": "error",
                 "error": "bad_password"
             })
         request.user.set_password(request_json["newPassword"])
         request.user.save()
         app_login(request, request.user)
     return JsonResponse({"status": "ok"})
Exemple #4
0
def submit_login(request):
    if request.POST:
        username = request.POST['usename']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user:
           app_login(request, user)
            return redirect("index")        
        else:
            messages.error(request, "Usuário/Senha inválidos. Por favor tente novamente")
def submit_login(request):
    if request.POST:
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user:
            app_login(request, user)
            return redirect("index")
        else:
            messages.error(request, "User/password invalido")
    return redirect("login")
Exemple #6
0
        def post(self, request):
            registration_json = parse_json(request.body)
            credentials_json = registration_json["credentials"]
            player_json = registration_json["player"]

            username = credentials_json['username']
            password = credentials_json['password']
            invitation_code = credentials_json['invitationCode']

            invitation = Invitation.objects.filter(
                code=invitation_code).first()
            if invitation is None:
                return JsonResponse({
                    'status': 'error',
                    'error': "invalid_invitation"
                })

            existing_user = User.objects.filter(username=username).first()
            if existing_user is not None:
                return JsonResponse({
                    'status': 'error',
                    'error': "user_exists"
                })

            user = User.objects.create_user(username, username, password)
            app_login(request, user)

            user.first_name = player_json["firstName"]
            user.last_name = player_json["lastName"]
            user.save()

            if invitation.is_guest_code:
                guest = Player.objects.filter(guest_invitation=invitation,
                                              is_guest=True).first()
                if guest is None:
                    return JsonResponse({
                        "status": "error",
                        "error": "no_matching_guest"
                    })
                guest.first_name = user.first_name
                guest.last_name = user.last_name
                guest.user = user
                guest.is_guest = False
                guest.guest_invitation = None
                guest.save()
                invitation.delete()
            else:
                player = Player(first_name=user.first_name,
                                last_name=user.last_name,
                                user=user)
                player.save()

            return JsonResponse({'status': 'ok', 'user': user.to_dict()})
Exemple #7
0
 def post(self, request):
     credentials_json = parse_json(request.body)
     username = credentials_json['username']
     password = credentials_json['password']
     user = app_authenticate(request,
                             username=username,
                             password=password)
     if user is not None:
         app_login(request, user)
         return JsonResponse({
             'status': 'ok',
             'user': request.user.to_dict()
         })
     else:
         return JsonResponse({
             'status': 'error',
             'error': "invalid_login_credentials"
         })
Exemple #8
0
def activate_operations(request):
    context = {}
    if request.method == 'GET':
        return render(request,
                      'dashboard/users/operations_profile.html',
                      context=context)

    elif request.method == 'POST':
        email = request.POST.get('email')
        user = OperationsProfile.objects.filter(user__email=email,
                                                user__password='')
        if not user:
            context['errors'] = ['Email not found on team']
            return render(request,
                          'dashboard/users/operations_profile.html',
                          context=context)
        else:
            user = user.get().user
            app_login(request, user)
            return redirect(reverse('dashboard:setup_password'))
Exemple #9
0
def setup_password(request):
    context = {}
    if request.method == 'GET':
        return render(request,
                      'dashboard/users/setup_password.html',
                      context=context)
    elif request.method == 'POST':
        password = request.POST.get('password')
        confirm_password = request.POST.get('confirm-password')
        user = request.user
        print(user.first_name)
        if password != confirm_password:
            context['errors'] = ['Passwords do not match']
            return render(request,
                          'dashboard/users/setup_password.html',
                          context=context)

        user.set_password(password)
        user.save(update_fields=['password'])
        app_login(request, user)
        return redirect(reverse('dashboard:dashboard_home'))
Exemple #10
0
 def form_valid(self, form):
     app_login(self.request, form.get_user())
     return super(LoginView, self).form_valid(form)