예제 #1
0
def edit_profile(request):
    """Edit an user's profile.

    Returns:
        HttpResponse

    """
    try:
        profile_pk = int(request.GET['profil'])
        profile = get_object_or_404(Profile, pk=profile_pk)
    except KeyError:
        profile = get_object_or_404(Profile, user=request.user)

    # Making sure the user is allowed to do that
    if not request.user == profile.user:
        raise PermissionDenied

    if request.method == 'POST':
        form = ProfileForm(request.POST)
        if form.is_valid():
            data = form.data
            profile.biography = data['biography']
            profile.site = data['site']
            profile.user.email = data['email']
            profile.show_email = 'show_email' in data

            # Save the user and it's associated profile
            profile.user.save()
            profile.save()
            return redirect(profile.get_absolute_url())
        else:
            raise Http404
    else:
        return render_template('member/edit_profile.html',
                               {'profile': profile})
예제 #2
0
def edit_profile(request):
    """Edit an user's profile.

    Returns:
        HttpResponse

    """
    try:
        profile_pk = int(request.GET["profil"])
        profile = get_object_or_404(Profile, pk=profile_pk)
    except KeyError:
        profile = get_object_or_404(Profile, user=request.user)

    # Making sure the user is allowed to do that
    if not request.user == profile.user:
        raise PermissionDenied

    if request.method == "POST":
        form = ProfileForm(request.POST)
        if form.is_valid():
            data = form.data
            profile.biography = data["biography"]
            profile.site = data["site"]
            profile.user.email = data["email"]
            profile.show_email = "show_email" in data

            # Save the user and it's associated profile
            profile.user.save()
            profile.save()
            return redirect(profile.get_absolute_url())
        else:
            raise Http404
    else:
        return render_template("member/edit_profile.html", {"profile": profile})
예제 #3
0
def settings_profile(request):
    """Set current user's profile settings.

    Returns:
        HttpResponse

    """

    # Extra information about the current user
    profile = Profile.objects.get(user=request.user)

    if request.method == 'POST':

        form = ProfileForm(request.user, request.POST)

        if form.is_valid():
            profile.biography = form.data['biography']
            profile.site = form.data['site']
            profile.show_email = 'show_email' in form.data
            profile.avatar_url = form.data['avatar_url']
            profile.mail_on_private_message = \
                'mail_on_private_message' in form.data
            profile.save()

            messages.success(request,
                             u'Le profil a correctement été mis à jour.')

            return redirect('/membres/parametres/profil')

        else:
            return render_template('member/settings_profile.html',
                                   {'form': form})
    else:
        form = ProfileForm(request.user,
                           initial={
                               'biography':
                               profile.biography,
                               'site':
                               profile.site,
                               'avatar_url':
                               profile.avatar_url,
                               'show_email':
                               profile.show_email,
                               'mail_on_private_message':
                               profile.mail_on_private_message
                           })

        return render_template('member/settings_profile.html', {'form': form})
예제 #4
0
def settings_profile(request):
    """Set current user's profile settings.

    Returns:
        HttpResponse

    """

    # Extra information about the current user
    profile = Profile.objects.get(user=request.user)

    if request.method == 'POST':

        form = ProfileForm(request.user, request.POST)

        if form.is_valid():
            profile.biography = form.data['biography']
            profile.site = form.data['site']
            profile.show_email = 'show_email' in form.data
            profile.avatar_url = form.data['avatar_url']
            profile.mail_on_private_message = \
                'mail_on_private_message' in form.data
            profile.save()

            messages.success(
                request, u'Le profil a correctement été mis à jour.')

            return redirect('/membres/parametres/profil')

        else:
            return render_template('member/settings_profile.html', {
                'form': form
            })
    else:
        form = ProfileForm(request.user, initial={
            'biography': profile.biography,
            'site': profile.site,
            'avatar_url': profile.avatar_url,
            'show_email': profile.show_email,
            'mail_on_private_message': profile.mail_on_private_message}
        )

        return render_template('member/settings_profile.html', {
            'form': form
        })
예제 #5
0
def settings_profile(request):
    """Set current user's profile settings.

    Returns:
        HttpResponse

    """

    # Extra information about the current user
    profile = Profile.objects.get(user=request.user)

    if request.method == "POST":

        form = ProfileForm(request.user, request.POST)

        if form.is_valid():
            profile.biography = form.data["biography"]
            profile.site = form.data["site"]
            profile.show_email = "show_email" in form.data
            profile.avatar_url = form.data["avatar_url"]
            profile.mail_on_private_message = "mail_on_private_message" in form.data
            profile.save()

            messages.success(request, u"Le profil a correctement été mis à jour.")

            return redirect("/membres/parametres/profil")

        else:
            return render_template("member/settings_profile.html", {"form": form})
    else:
        form = ProfileForm(
            request.user,
            initial={
                "biography": profile.biography,
                "site": profile.site,
                "avatar_url": profile.avatar_url,
                "show_email": profile.show_email,
                "mail_on_private_message": profile.mail_on_private_message,
            },
        )

        return render_template("member/settings_profile.html", {"form": form})