From 809b5ccab72100d77081e24aa8e53c061898fe6a Mon Sep 17 00:00:00 2001 From: dormantman Date: Fri, 24 Jan 2020 22:33:39 +0300 Subject: [PATCH] Fixed employee establishments method --- apps/establishment/serializers/back.py | 20 ++++++++++++++++++++ apps/establishment/views/back.py | 8 +++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index b09f17a9..fcb1c518 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -526,3 +526,23 @@ class EstablishmentAdminListSerializer(UserShortSerializer): 'username', 'email' ] + + +class EstablishmentEmployeeListSerializer(serializers.ModelSerializer): + """Establishments from employee serializer""" + + restaurant = EstablishmentListCreateSerializer(read_only=True, source='establishment') + position = PositionBackSerializer(read_only=True) + state = serializers.CharField(read_only=True, source='status') + start = serializers.DateTimeField(read_only=True, source='from_date') + end = serializers.DateTimeField(read_only=True, source='to_date') + + class Meta: + model = models.EstablishmentEmployee + fields = [ + 'restaurant', + 'position', + 'state', + 'start', + 'end', + ] diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index 60642130..e8600b97 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -1,6 +1,4 @@ """Establishment app views.""" -from django.core.exceptions import ObjectDoesNotExist -from django.http import Http404 from django.shortcuts import get_object_or_404 from django_filters.rest_framework import DjangoFilterBackend from rest_framework import generics, permissions @@ -38,13 +36,13 @@ class EmployeeEstablishmentsListView(generics.ListAPIView): """Establishment by employee list view.""" permission_classes = [IsWineryReviewer | IsCountryAdmin | IsEstablishmentManager] - queryset = models.Establishment.objects.all() - serializer_class = serializers.EstablishmentListCreateSerializer + queryset = models.EstablishmentEmployee.objects.all() + serializer_class = serializers.EstablishmentEmployeeListSerializer def get_queryset(self): pk = self.kwargs.get('pk') employee = get_object_or_404(models.Employee, pk=pk) - return employee.establishments.with_extended_related() + return employee.establishmentemployee_set.all() class EmployeePositionsListView(generics.ListAPIView):