31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from django.contrib.auth.mixins import LoginRequiredMixin
|
|
from django.http.response import HttpResponseBadRequest
|
|
from django.urls import reverse_lazy
|
|
from django.views.generic import FormView
|
|
from profiles.forms import UserProfileForm
|
|
|
|
|
|
class ProfileFormView(LoginRequiredMixin, FormView):
|
|
form_class = UserProfileForm
|
|
template_name = "profiles/settings_form.html"
|
|
success_url = reverse_lazy("profiles:profile_settings")
|
|
|
|
def get_form_kwargs(self):
|
|
"""Passes the request object to the form class.
|
|
This is necessary to only display members that belong to a given user"""
|
|
|
|
kwargs = super(ProfileFormView, self).get_form_kwargs()
|
|
kwargs["request"] = self.request
|
|
|
|
return kwargs
|
|
|
|
def form_valid(self, form):
|
|
form.save()
|
|
return super(ProfileFormView, self).form_valid(form)
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context["user_id"] = self.request.user.id
|
|
context["profile"] = self.request.user.profile
|
|
return context
|