views.py 850 B

123456789101112131415161718192021
  1. from django.shortcuts import render
  2. from django.views.generic import ListView, DetailView
  3. from django.contrib.auth.mixins import LoginRequiredMixin
  4. from .models import Service
  5. # Cette page liste uniquement les services de l’utilisateur
  6. class ServiceList(LoginRequiredMixin, ListView):
  7. def get_queryset(self):
  8. if self.request.user.profile.adhesion:
  9. return Service.objects.filter(adherent=self.request.user.profile.adhesion).order_by('-created')
  10. else:
  11. return Service.objects.none()
  12. # L’utilisateur peut accéder aux détails de ces services et de ceux de ces asso
  13. class ServiceDetail(LoginRequiredMixin, DetailView):
  14. def get_queryset(self):
  15. return Service.objects.filter(adherent__pk__in=self.request.user.profile.adhesions.values_list('pk')) \
  16. .order_by('-created')