PonyConf/accounts/views.py

43 lines
1.4 KiB
Python
Raw Normal View History

2016-06-11 13:47:08 +00:00
from django.contrib import messages
2016-06-07 20:59:13 +00:00
from django.contrib.auth.decorators import login_required
2016-06-14 21:58:04 +00:00
from django.core.exceptions import PermissionDenied
from django.shortcuts import get_object_or_404, render
2016-06-07 20:59:13 +00:00
2016-06-25 14:27:35 +00:00
from .forms import ParticipationForm, ProfileForm, UserForm
2016-06-14 21:58:04 +00:00
from .models import Participation
2016-06-07 20:59:13 +00:00
@login_required
def profile(request):
forms = [UserForm(request.POST or None, instance=request.user),
ProfileForm(request.POST or None, instance=request.user.profile),
ParticipationForm(request.POST or None, instance=Participation.on_site.get(user=request.user)),
]
2016-06-07 20:59:13 +00:00
if request.method == 'POST':
if all(form.is_valid() for form in forms):
for form in forms:
form.save()
messages.success(request, 'Profile updated successfully.')
else:
messages.error(request, 'Please correct those errors.')
return render(request, 'accounts/profile.html', {'forms': forms})
2016-06-14 21:58:04 +00:00
@login_required
def participants(request):
if not request.user.is_superuser:
raise PermissionDenied()
participation_list = Participation.on_site.all()
return render(request, 'admin/participants.html', {'participation_list': participation_list})
def participant(request, username):
return render(request, 'admin/participant.html',
{'participant': get_object_or_404(Participation, user__username=username)})