Exemplo n.º 1
0
def signup_backend(post):
    user_f = UserForm(post)
    profile_f = UserProfileForm(post)
    raw_email = post.get('email', '')

    if validate_email(raw_email) and user_f.is_valid() and profile_f.is_valid():
        email = user_f.cleaned_data['email']
        password = user_f.cleaned_data['password']
        first_name = user_f.cleaned_data['first_name']
        last_name = user_f.cleaned_data['last_name']
        username = make_username()

        user = User.objects.create_user(username=username,
                                        first_name=first_name,
                                        last_name=last_name,
                                        email=email, password=password)
        user.save()

        profile = profile_f.save(commit=False)
        profile.user = user
        profile.save()

        give_email_auth_token(user)

        return user
    else:
        return None
Exemplo n.º 2
0
def edit(request):
    form = UserProfileForm(request.POST or None, instance=request.user.profile)
    if form.is_valid():
        form.save()
        messages.info(request, "User account saved successfully")
        return HttpResponseRedirect(reverse("show_user", kwargs={"username": request.user.username}))
    data = {"form": form}
    return render_to_response("account/edit.html", data, RequestContext(request))
Exemplo n.º 3
0
def profile(request):
    user = request.user
    if (user.is_authenticated() and user.is_active):
        user_profile = UserProfile.objects.get(user = user.id)
        if request.method == 'POST':
            form = UserProfileForm(request.POST)
            if (form.is_valid()):
                send_data = form.cleaned_data
                UserProfile.objects.filter(user = user.id).update(
                    name = send_data['name'],
                    address = send_data['address'],
                    phone = send_data['phone']
                )
                if not send_data['password'] == '':
                    user.set_password(send_data['password'])
                    user.save()
                messages.success(request, _(u'Вашы данные успешно изменены'))
        else:
            user_profile = UserProfile.objects.get(user=user.id)
            form = UserProfileForm(instance=user_profile)
        return render(request, 'account_profile.html', locals())
    else:
        return HttpResponseRedirect(reverse(DEFAULT_REDIRECT))
Exemplo n.º 4
0
def profile(request):
    user = request.user
    profile = user.profile

    success = False
    result_con = request.session.pop('result_con', -1)
    if request.method == 'POST':
        user_f = UserForm(request.POST)
        profile_f = UserProfileForm(request.POST, instance=profile)

        if user_f.is_valid() and profile_f.is_valid():
            user.first_name = user_f.cleaned_data['first_name']
            user.last_name = user_f.cleaned_data['last_name']
            user.save()

            profile = profile_f.save()
            success = True
            logger.info('profile.modify.success', request)
        else:
            logger.warning('profile.modify.fail', request)

    return render(request, 'account/profile.html',
                  {'user': user, 'profile': profile,
                   'success': success, 'result_con': result_con})
Exemplo n.º 5
0
def profile(request):
    # Delete our expired keys
    ApiKey.delete_expired(user=request.user)

    # Get a list of the users API Keys
    keys = ApiKey.objects.filter(user=request.user)
    try:
        backup_tokens = request.user.staticdevice_set.all()[0].token_set.count(
        )
    except IndexError:
        backup_tokens = 0

    # Get list of current user sessions
    sessions = UserSession.objects.filter(user_id=request.user.id)

    # Get the current session key
    session_key = request.session.session_key

    # Process the form if we have data coming in
    if request.method == "POST":
        form = UserProfileForm(request.POST, instance=request.user.profile)

        if form.is_valid():
            saved_form = form.save()

            if request.FILES.getlist("icon"):
                f = request.FILES.getlist("icon")[0]
                saved_form.avatar = b64encode(f.file.read())
                saved_form.save()
    else:
        form = UserProfileForm(instance=request.user.profile)

    # Show the template
    return render(
        request,
        "account_profile.html",
        {
            "keys": keys,
            "sessions": sessions,
            "session_key": session_key,
            "form": form,
            "user": request.user,
            "default_device": default_device(request.user),
            "backup_tokens": backup_tokens,
        },
    )