"""Vues de gestion des profils utilisateurs.""" from django.contrib.auth.decorators import login_required from django.contrib.auth import get_user_model from django.db.models import Q from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import get_object_or_404, render from django.views.decorators.http import require_http_methods from .forms import ProfileForm from .models import Profile User = get_user_model() @login_required @require_http_methods(["GET", "POST"]) def profile_update(request): """Modification du profil de l'utilisateur connecté """ try: profile = request.user.profile except Exception: # don't do this ! profile = Profile.objects.create(user=request.user) if request.method == 'POST': form = ProfileForm(request.POST, instance=profile) if form.is_valid(): form.save() request.session['template'] = profile.template_color request.session['sidebar'] = profile.sidebar_color request.session['is_sidebar_minified'] = profile.is_sidebar_minified return HttpResponseRedirect("/") else: form = ProfileForm(instance=profile) context = { "form": form, } return render(request, 'profiles/update.html', context)