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 establishment import models
from establishment import serializers as model_serializers
from establishment.models import ContactPhone
from establishment.models import ContactPhone, EstablishmentEmployee
from gallery.models import Image
from location.models import Address
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):
"""Serializer class for model EstablishmentGallery."""

View File

@ -189,12 +189,14 @@ class EmployeesListSearchViews(generics.ListAPIView):
class EstablishmentEmployeeListView(generics.ListCreateAPIView):
"""Establishment emplyoees list view."""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.EstablishmentEmployeeBackSerializer
serializer_class = serializers.EstEmployeeBackSerializer
pagination_class = None
def get_queryset(self):
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):