Profile: 3rd form with Participation instance

This commit is contained in:
Guilhem Saurel 2016-06-25 12:33:04 +02:00
parent 16fa7952a7
commit c0629d5a54
2 changed files with 7 additions and 3 deletions

View File

@ -1,11 +1,13 @@
from django.contrib.auth.models import User
from django.forms.models import modelform_factory
from .models import Profile
from .models import Participation, Profile
__all__ = ['UserForm', 'ProfileForm']
UserForm = modelform_factory(User, fields=['first_name', 'last_name', 'email', 'username'])
ParticipationForm = modelform_factory(Participation, fields=['transport', 'connector', 'constraints'])
ProfileForm = modelform_factory(Profile, fields=['biography'])

View File

@ -3,7 +3,7 @@ from django.contrib.auth.decorators import login_required
from django.core.exceptions import PermissionDenied
from django.shortcuts import get_object_or_404, render
from .forms import ProfileForm, UserForm
from .forms import ProfileForm, UserForm, ParticipationForm
from .models import Participation
@ -11,7 +11,9 @@ from .models import Participation
def profile(request):
forms = [UserForm(request.POST or None, instance=request.user),
ProfileForm(request.POST or None, instance=request.user.profile)]
ProfileForm(request.POST or None, instance=request.user.profile),
ParticipationForm(request.POST or None, instance=Participation.on_site.get(user=request.user)),
]
if request.method == 'POST':
if all(form.is_valid() for form in forms):