From d08c299e8dbc46f67e5f5ab25d4544be9bed41b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=AD=C3=B0ir=20Valberg=20Gu=C3=B0mundsson?= Date: Sat, 4 Aug 2018 13:27:05 +0200 Subject: [PATCH] Views can have an indirect relation to a team. --- src/teams/views/mixins.py | 6 +++++- src/teams/views/tasks.py | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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