2020-02-12 12:10:41 +00:00
|
|
|
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
|
2019-07-31 19:14:17 +00:00
|
|
|
from django.views.generic import DetailView
|
2019-03-12 09:58:29 +00:00
|
|
|
|
2021-07-19 13:06:10 +00:00
|
|
|
from camps.mixins import CampViewMixin
|
|
|
|
|
2019-07-31 19:14:17 +00:00
|
|
|
from ..models import Team, TeamMember
|
2019-03-12 09:58:29 +00:00
|
|
|
|
|
|
|
|
2019-07-31 19:14:17 +00:00
|
|
|
class TeamGuideView(LoginRequiredMixin, CampViewMixin, UserPassesTestMixin, DetailView):
|
2019-03-12 09:58:29 +00:00
|
|
|
template_name = "team_guide.html"
|
2019-06-16 12:32:24 +00:00
|
|
|
context_object_name = "team"
|
2019-03-12 09:58:29 +00:00
|
|
|
model = Team
|
2019-06-16 12:32:24 +00:00
|
|
|
slug_url_kwarg = "team_slug"
|
|
|
|
active_menu = "guide"
|
2019-03-12 09:58:29 +00:00
|
|
|
|
2019-07-31 19:14:17 +00:00
|
|
|
def test_func(self):
|
|
|
|
# Make sure that the user is an approved member of the team
|
|
|
|
try:
|
|
|
|
TeamMember.objects.get(
|
|
|
|
user=self.request.user, team=self.get_object(), approved=True
|
|
|
|
)
|
|
|
|
except TeamMember.DoesNotExist:
|
|
|
|
return False
|
|
|
|
else:
|
|
|
|
return True
|
2019-03-12 09:58:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
class TeamGuidePrintView(TeamGuideView):
|
|
|
|
template_name = "team_guide_print.html"
|