Coverage for users\views\employe.py: 68%
19 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1import rest_framework.generics
2from authentication.permissions import IsAdmin
3from users.models import EmployeProfile
4from users.serializers import EmployeSerializer
7class EmployeListView(rest_framework.generics.ListAPIView):
8 """
9 Liste tous les employés.
11 Cette vue renvoie tous les employés,
12 triés par date de création (du plus ancien au plus récent).
13 L'accès est restreint aux Administrateurs.
15 :cvar permission_classes: Permissions requises pour accéder à la vue.
16 :type permission_classes: list[rest_framework.permissions.BasePermission]
17 """
19 serializer_class = EmployeSerializer
20 permission_classes = [IsAdmin]
22 def get_queryset(self):
23 """
24 Retourne les clients.
26 :return: Liste des clients.
27 :rtype: QuerySet[Client]
28 """
29 return EmployeProfile.objects.all().order_by("nom")
31class EmployeSetInactiveView(rest_framework.generics.UpdateAPIView):
32 """
33 Met un employé en inactif.
35 Cette vue permet aux administrateurs de désactiver un compte employé.
36 L'accès est restreint aux Administrateurs.
38 :cvar serializer_class: Sérialiseur utilisé pour la mise à jour.
39 :cvar permission_classes: Permissions requises pour accéder à la vue.
40 :type permission_classes: list[rest_framework.permissions.BasePermission]
41 """
43 queryset = EmployeProfile.objects.all()
44 serializer_class = EmployeSerializer
45 permission_classes = [IsAdmin]
47 def perform_update(self, serializer):
48 """
49 Met à jour le statut actif du client.
51 :param serializer: Sérialiseur avec les données mises à jour.
52 :type serializer: ClientFullSerializer
53 """
54 employe = serializer.instance
55 user = employe.user
56 user.is_active = not user.is_active
57 user.save()
58 serializer.save()