summaryrefslogtreecommitdiff
path: root/pgcommitfest/userprofile/views.py
blob: 4c22bac0326ba97c47d48fcbf886daeb25f79676 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.db import transaction
from django.contrib import messages
from django.contrib.auth.decorators import login_required

from .models import UserProfile
from .forms import UserProfileForm


@login_required
@transaction.atomic
def userprofile(request):
    (profile, created) = UserProfile.objects.get_or_create(user=request.user)

    if request.method == 'POST':
        form = UserProfileForm(request.user, request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.add_message(request, messages.INFO, "User profile saved.")
            return HttpResponseRedirect('.')
    else:
        form = UserProfileForm(request.user, instance=profile)

    return render(request, 'userprofileform.html', {
        'form': form,
    })