Coverage for api\views\lieu.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-13 15:18 +0200

1""" 

2Module de vues pour la gestion des lieux sportifs. 

3 

4Ce module contient toutes les vues nécessaires pour effectuer des opérations CRUD 

5sur les lieux où se déroulent les événements sportifs. 

6""" 

7 

8import rest_framework.generics 

9from api.models import Lieu 

10from api.serializers import LieuSerializer 

11from authentication.permissions import IsAdmin 

12from rest_framework.permissions import IsAuthenticated, AllowAny 

13 

14 

15class LieuListView(rest_framework.generics.ListAPIView): 

16 """ 

17 Vue pour lister tous les lieux sportifs. 

18 

19 Permet de récupérer la liste complète des lieux disponibles 

20 pour les événements sportifs. 

21 Accessible à tous les utilisateurs (authentifiés ou non). 

22 

23 :cvar queryset: Queryset des lieux 

24 :type queryset: QuerySet[Lieu] 

25 :cvar serializer_class: Sérialiseur utilisé pour la vue 

26 :type serializer_class: LieuSerializer 

27 :cvar permission_classes: Permissions requises pour accéder à la vue 

28 :type permission_classes: list 

29 """ 

30 queryset = Lieu.objects.all() 

31 serializer_class = LieuSerializer 

32 permission_classes = [AllowAny] 

33 

34 

35class LieuDetailView(rest_framework.generics.RetrieveAPIView): 

36 """ 

37 Vue pour récupérer les détails d'un lieu spécifique. 

38 

39 Permet de récupérer les informations détaillées d'un lieu 

40 via son identifiant unique. 

41 Accessible à tous les utilisateurs (authentifiés ou non). 

42 

43 :cvar queryset: Queryset des lieux 

44 :type queryset: QuerySet[Lieu] 

45 :cvar serializer_class: Sérialiseur utilisé pour la vue 

46 :type serializer_class: LieuSerializer 

47 :cvar permission_classes: Permissions requises pour accéder à la vue 

48 :type permission_classes: list 

49 """ 

50 queryset = Lieu.objects.all() 

51 serializer_class = LieuSerializer 

52 permission_classes = [AllowAny] 

53 

54 

55class LieuCreateView(rest_framework.generics.CreateAPIView): 

56 """ 

57 Vue pour créer un nouveau lieu. 

58 

59 Permet aux administrateurs authentifiés de créer de nouveaux lieux sportifs. 

60 Nécessite une authentification et des permissions d'administrateur. 

61 

62 :cvar queryset: Queryset des lieux 

63 :type queryset: QuerySet[Lieu] 

64 :cvar serializer_class: Sérialiseur utilisé pour la vue 

65 :type serializer_class: LieuSerializer 

66 :cvar permission_classes: Permissions requises pour accéder à la vue 

67 :type permission_classes: list 

68 """ 

69 queryset = Lieu.objects.all() 

70 serializer_class = LieuSerializer 

71 permission_classes = [IsAuthenticated, IsAdmin] 

72 

73 

74class LieuUpdateView(rest_framework.generics.UpdateAPIView): 

75 """ 

76 Vue pour mettre à jour un lieu existant. 

77 

78 Permet aux administrateurs authentifiés de modifier les informations 

79 d'un lieu existant. 

80 Nécessite une authentification et des permissions d'administrateur. 

81 

82 :cvar queryset: Queryset des lieux 

83 :type queryset: QuerySet[Lieu] 

84 :cvar serializer_class: Sérialiseur utilisé pour la vue 

85 :type serializer_class: LieuSerializer 

86 :cvar permission_classes: Permissions requises pour accéder à la vue 

87 :type permission_classes: list 

88 """ 

89 queryset = Lieu.objects.all() 

90 serializer_class = LieuSerializer 

91 permission_classes = [IsAuthenticated, IsAdmin] 

92 

93 

94class LieuDeleteView(rest_framework.generics.DestroyAPIView): 

95 """ 

96 Vue pour supprimer un lieu. 

97 

98 Permet aux administrateurs authentifiés de supprimer un lieu existant. 

99 Nécessite une authentification et des permissions d'administrateur. 

100 

101 :cvar queryset: Queryset des lieux 

102 :type queryset: QuerySet[Lieu] 

103 :cvar serializer_class: Sérialiseur utilisé pour la vue 

104 :type serializer_class: LieuSerializer 

105 :cvar permission_classes: Permissions requises pour accéder à la vue 

106 :type permission_classes: list 

107 """ 

108 queryset = Lieu.objects.all() 

109 serializer_class = LieuSerializer 

110 permission_classes = [IsAuthenticated, IsAdmin]