Ejemplo n.º 1
0
def user_info(request, slug):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        current_user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        current_user = None
    if current_user and request.method=="GET":
        if slug == 'me':
            serializer = UserSerializer(current_user)
            return JSONResponse(serializer.data)
        elif slug and slug != 'me':
            try:
                user = User.objects.get(id=str(slug))
                serializer = UserSerializer(user)
                return JSONResponse(serializer.data)
            except User.DoesNotExist:
                return HttpResponse(status=401)
        else:
            return HttpResponse(status=401)
    if current_user and request.method=="POST":
        form = UpdateProfileForm(request.POST, instance=current_user)
        if form.is_valid():
            user = form.save()
            serializer = UserSerializer(user)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 2
0
def city_list(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user:
        countries = Country.objects.all()
        serializer = CountriesSerializer(countries)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 3
0
def delete_user_photo(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user:
        user.avatar = None
        user.save()
        return JSONResponse({"status":"ok"})
    else:
        return HttpResponse(status=401)
Ejemplo n.º 4
0
def update_user_photo(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    if key:
        try:
            select_user = get_user_by_token(token_key=key)
            form = UserPhoto(request.POST, request.FILES, instance=select_user)
            if form.is_valid():
                user = form.save()
            return HttpResponse("ok")
        except ObjectDoesNotExist:
            HttpResponse(status=401)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 5
0
def email_update(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if request.method == 'GET' and request.GET.get('token'):
        try:
            email_confirm = EmailConfirmToken.objects.get(token=request.GET.get('token'))
        except EmailConfirmToken.DoesNotExist:
            email_confirm = None
            raise Http404
        if not email_confirm.confirmed:
            try:
                user = User.objects.get(username=email_confirm.new_email)
                return HttpResponse('user with this email already exist')
            except User.DoesNotExist:
                email_confirm.user.username = email_confirm.new_email
                email_confirm.user.email = email_confirm.new_email
                email_confirm.user.save()
                email_confirm.confirmed = 1
                email_confirm.save()
                return HttpResponse(u'email изменен успешно')
        else:
            return HttpResponse(u'этот емейл уже подтвержден')
    if user and request.method == 'POST':
        form = UpdateEmailForm(request.POST, instance=user)
        if form.is_valid() and not user.social:
            try:
                user = User.objects.get(username=form.cleaned_data.get('email'))
                return JSONResponse({'errors': {'email': 'user with this email already exist'}}, status_code=412)
            except User.DoesNotExist:
                new_email = form.cleaned_data.get('email')
                token = Token().generate_key()
                email_confirm = EmailConfirmToken.objects.create(user=user, token=token, old_email=user.username, new_email=new_email)
                site_url = project_settings.SITE_URL
                response = render_to_string('update_email.html', locals())
                subject, from_email, to = 'KMM change email', '*****@*****.**', user.username
                msg = EmailMultiAlternatives(subject, '', from_email, [to])
                msg.attach_alternative(response, "text/html")
                msg.send()
                return JSONResponse({'status':'ok'})
        else:
            errors = [{k: v[0]} for k, v in form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 6
0
def password(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None

    if user and request.method == "POST":
        password_form = ChangePasswordForm(user, request.POST)
        if password_form.is_valid():
            password = password_form.save()
            return JSONResponse({'password': password})
        else:
            errors = [{k: v[0]} for k, v in password_form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 7
0
def settings(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user and request.method == "GET":
        serializer = SettingsSerializer(user)
        return JSONResponse(serializer.data)
    elif user and request.method == "POST":
        settings_form = SettingsForm(request.POST, instance=user)
        if settings_form.is_valid():
            settings_form.save()
            serializer = SettingsSerializer(user)
            return JSONResponse(serializer.data)
        else:
            errors = [{k: v[0]} for k, v in settings_form.errors.items()]
            return JSONResponse({'errors': errors}, status_code=412)
    else:
        return HttpResponse(status=401)
Ejemplo n.º 8
0
def pregnancy(request):
    key = request.META.get('HTTP_AUTHORIZATION')
    try:
        user = get_user_by_token(token_key=key)
    except Token.DoesNotExist:
        user = None
    if user:
        user_pregnancy, created = PregnancyInfo.objects.get_or_create(user=user)

        if request.method == 'POST':
            form = PregnancyForm(request.POST, instance=user_pregnancy)
            if form.is_valid():
                user_pregnancy = form.save()
            else:
                errors = [{k: v[0]} for k, v in form.errors.items()]
                return JSONResponse({'errors': errors}, status_code=412)
        serializer = PregnancyInfoSerializer(user_pregnancy)
        return JSONResponse(serializer.data)
    else:
        return HttpResponse(status=401)