Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.models import User
- from django.shortcuts import get_object_or_404
- from django.views.generic import CreateView, DeleteView, DetailView, ListView, TemplateView, UpdateView
- from staffManagement.models import Coach, Member, Player
- from django.core.urlresolvers import reverse_lazy
- """
- Abstract view to add user context data
- """
- class AbstractWithUserView():
- def get_my_context_data(self, context):
- context['number_of_player'] = self.request.user.member.team.get_number_of_player()
- try:
- context['head_coach'] = self.request.user.member.team.get_head_coach()
- except:
- context['head_coach'] = None
- context['number_of_coach'] = self.request.user.member.team.get_number_of_coach()
- context['team'] = self.request.user.member.team
- return context
- class Meta:
- abstract = True
- """
- Display a list of players and coachs of user.member.team
- """
- class ListPlayerAndCoach(ListView, AbstractWithUserView):
- template_name = "staffManagement/playerAndCoach_list.html"
- def get_context_data(self, **kwargs):
- context = super(ListPlayerAndCoach, self).get_context_data(**kwargs)
- try:
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- except:
- pass
- return context
- def get_queryset(self):
- return Player.objects.filter(member__team =
- self.request.user.member.team)
- """
- Display a list of coachs into user's team
- """
- class ListCoach(AbstractWithUserView, ListView):
- def get_context_data(self, **kwargs):
- context = super(ListCoach, self).get_context_data(**kwargs)
- try:
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- except:
- pass
- return context
- def get_queryset(self):
- return Coach.objects.filter(member__team =
- self.request.user.member.team)
- """
- Display a list of players into user's team
- """
- class ListPlayer(AbstractWithUserView, ListView):
- def get_context_data(self, **kwargs):
- context = super(ListPlayer, self).get_context_data(**kwargs)
- try:
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- except:
- pass
- return context
- def get_queryset(self):
- return Player.objects.filter(member__team =
- self.request.user.member.team)
- """
- Display detail of a player
- """
- class PlayerDetailView(AbstractWithUserView, DetailView):
- model = Player
- def get_context_data(self, **kwargs):
- context = super(PlayerDetailView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- def get_object(self):
- print self.kwargs
- return get_object_or_404(Player, member__user__username =
- self.kwargs['username'])
- """
- Display detail of a coach
- """
- class CoachDetailView(AbstractWithUserView, DetailView):
- model = Coach
- def get_context_data(self, **kwargs):
- context = super(CoachDetailView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- def get_object(self):
- return get_object_or_404(Coach, member__user__username =
- self.kwargs['username'])
- """
- Create a coach
- """
- class CoachCreateView(AbstractWithUserView, CreateView):
- model = Coach
- slug_field = 'member__user__username'
- fields = ['grade', 'squad', 'first_position', 'second_position']
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(CoachCreateView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- """
- Create a player
- """
- class PlayerCreateView(AbstractWithUserView, CreateView):
- model = Player
- slug_field = 'member__user__username'
- fields = ['number', 'weight', 'height', 'first_position', 'second_position']
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(PlayerCreateView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- """
- Update a coach
- """
- class CoachUpdateView(AbstractWithUserView, UpdateView):
- model = Coach
- slug_field = 'member__user__username'
- fields = ['grade', 'squad', 'first_position', 'second_position']
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(CoachUpdateView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- """
- Update a player
- """
- class PlayerUpdateView(AbstractWithUserView, UpdateView):
- model = Player
- slug_field = 'member__user__username'
- fields = ['number', 'weight', 'height', 'first_position', 'second_position']
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(PlayerUpdateView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- """
- Delete a coach
- """
- class CoachDeleteView(AbstractWithUserView, DeleteView):
- model = Coach
- slug_field = 'member__user__username'
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(CoachDeleteView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
- """
- Delete a player
- """
- class PlayerDeleteView(AbstractWithUserView, DeleteView):
- model = Player
- slug_field = 'member__user__username'
- success_url = reverse_lazy('playerAndCoach')
- def get_context_data(self, **kwargs):
- context = super(PlayerDeleteView, self).get_context_data(**kwargs)
- context = self.get_my_context_data(context)
- context['coach_list'] = Coach.objects.filter(member__team =
- self.request.user.member.team)
- return context
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement