mirror of
https://gitlab.com/animath/si/plateforme-corres2math.git
synced 2025-07-05 15:23:52 +02:00
Update a team in a popup <3
This commit is contained in:
@ -3,9 +3,9 @@ from django.core.exceptions import PermissionDenied
|
||||
from django.db import transaction
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic import CreateView, FormView, DetailView, RedirectView
|
||||
from django.views.generic import CreateView, FormView, DetailView, RedirectView, UpdateView
|
||||
|
||||
from participation.forms import TeamForm, JoinTeamForm
|
||||
from participation.forms import TeamForm, JoinTeamForm, ParticipationForm
|
||||
from participation.models import Team
|
||||
|
||||
|
||||
@ -74,3 +74,27 @@ class MyTeamDetailView(LoginRequiredMixin, RedirectView):
|
||||
|
||||
class TeamDetailView(LoginRequiredMixin, DetailView):
|
||||
model = Team
|
||||
|
||||
|
||||
class TeamUpdateView(LoginRequiredMixin, UpdateView):
|
||||
model = Team
|
||||
form_class = TeamForm
|
||||
template_name = "participation/update_team.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context["participation_form"] = ParticipationForm(data=self.request.POST or None,
|
||||
instance=self.object.participation)
|
||||
return context
|
||||
|
||||
@transaction.atomic
|
||||
def form_valid(self, form):
|
||||
participation_form = ParticipationForm(data=self.request.POST or None, instance=self.object.participation)
|
||||
if not participation_form.is_valid():
|
||||
return self.form_invalid(form)
|
||||
|
||||
participation_form.save()
|
||||
return super().form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy("participation:team_detail", args=(self.object.pk,))
|
||||
|
Reference in New Issue
Block a user