establishment employee list

This commit is contained in:
alex 2020-01-20 12:13:50 +03:00
parent e6dfa6d74d
commit 215e7b5f19
2 changed files with 45 additions and 3 deletions

View File

@ -7,7 +7,7 @@ from rest_framework import serializers
from account.serializers.common import UserShortSerializer from account.serializers.common import UserShortSerializer
from establishment import models from establishment import models
from establishment import serializers as model_serializers from establishment import serializers as model_serializers
from establishment.models import ContactPhone from establishment.models import ContactPhone, EstablishmentEmployee
from gallery.models import Image from gallery.models import Image
from location.models import Address from location.models import Address
from location.serializers import AddressDetailSerializer, TranslatedField from location.serializers import AddressDetailSerializer, TranslatedField
@ -340,6 +340,46 @@ class EstablishmentEmployeeBackSerializer(serializers.ModelSerializer):
] ]
class EstEmployeeBackSerializer(EmployeeBackSerializers):
def get_positions(self, obj):
es_emp = EstablishmentEmployee.objects.filter(
employee=obj
).distinct().order_by('position_id')
result = []
for item in es_emp:
result.append({
'id': item.id,
'from_date': item.from_date,
'to_date': item.to_date,
'status': item.status,
'position_id': item.position_id,
'position_priority': item.position.priority,
'position_index_name': item.position.index_name,
'position_name_translated': item.position.name_translated,
})
return result
class Meta:
model = models.Employee
fields = [
'id',
'name',
'last_name',
'user',
'public_mark',
'positions',
'awards',
'sex',
'birth_date',
'email',
'phone',
'toque_number',
'available_for_events',
'photo',
]
class EstablishmentBackOfficeGallerySerializer(serializers.ModelSerializer): class EstablishmentBackOfficeGallerySerializer(serializers.ModelSerializer):
"""Serializer class for model EstablishmentGallery.""" """Serializer class for model EstablishmentGallery."""

View File

@ -189,12 +189,14 @@ class EmployeesListSearchViews(generics.ListAPIView):
class EstablishmentEmployeeListView(generics.ListCreateAPIView): class EstablishmentEmployeeListView(generics.ListCreateAPIView):
"""Establishment emplyoees list view.""" """Establishment emplyoees list view."""
permission_classes = (permissions.AllowAny,) permission_classes = (permissions.AllowAny,)
serializer_class = serializers.EstablishmentEmployeeBackSerializer serializer_class = serializers.EstEmployeeBackSerializer
pagination_class = None pagination_class = None
def get_queryset(self): def get_queryset(self):
establishment_id = self.kwargs['establishment_id'] establishment_id = self.kwargs['establishment_id']
return models.EstablishmentEmployee.objects.filter(establishment__id=establishment_id).order_by('position') return models.Employee.objects.filter(
establishmentemployee__establishment_id=establishment_id,
).distinct()
class EmployeeRUDView(generics.RetrieveUpdateDestroyAPIView): class EmployeeRUDView(generics.RetrieveUpdateDestroyAPIView):