diff --git a/src/teams/views/mixins.py b/src/teams/views/mixins.py index 2b661827..34608b0e 100644 --- a/src/teams/views/mixins.py +++ b/src/teams/views/mixins.py @@ -37,7 +37,11 @@ class EnsureTeamMemberResponsibleMixin(SingleObjectMixin): class TeamViewMixin: + + def get_team(self): + return self.get_object().team + def get_context_data(self, *args, **kwargs): context = super().get_context_data(**kwargs) - context['team'] = self.get_object().team + context['team'] = self.get_team() return context diff --git a/src/teams/views/tasks.py b/src/teams/views/tasks.py index 27f0f574..d18c2465 100644 --- a/src/teams/views/tasks.py +++ b/src/teams/views/tasks.py @@ -25,6 +25,12 @@ class TaskCreateView(LoginRequiredMixin, CampViewMixin, TeamViewMixin, EnsureTea template_name = "task_form.html" fields = ['name', 'description'] + def get_team(self): + return Team.objects.get( + camp__slug=self.kwargs['camp_slug'], + slug=self.kwargs['team_slug'] + ) + def form_valid(self, form): task = form.save(commit=False) task.team = self.team