team members list

This commit is contained in:
Kuroshini 2020-02-04 18:47:20 +03:00
parent 68ceb44acf
commit a302e1181c
3 changed files with 32 additions and 3 deletions

View File

@ -7,6 +7,7 @@ from phonenumber_field.serializerfields import PhoneNumberField
from rest_framework import serializers from rest_framework import serializers
from slugify import slugify from slugify import slugify
from account import models as account_models
from account.serializers.common import UserShortSerializer from account.serializers.common import UserShortSerializer
from collection.models import Guide from collection.models import Guide
from establishment import models, serializers as model_serializers from establishment import models, serializers as model_serializers
@ -925,7 +926,7 @@ class CardAndWinesPlatesSerializer(serializers.ModelSerializer):
class CardAndWinesSerializer(serializers.ModelSerializer): class CardAndWinesSerializer(serializers.ModelSerializer):
"""View to show menus(not formulas) with dishes for certain establishment""" """Serializer to show menus(not formulas) with dishes for certain establishment"""
wine = EstablishmentBackOfficeWineSerializer(allow_null=True, read_only=True, source='back_office_wine') wine = EstablishmentBackOfficeWineSerializer(allow_null=True, read_only=True, source='back_office_wine')
dishes = CardAndWinesPlatesSerializer(many=True, source='card_and_wine_plates') dishes = CardAndWinesPlatesSerializer(many=True, source='card_and_wine_plates')
@ -936,3 +937,14 @@ class CardAndWinesSerializer(serializers.ModelSerializer):
'wine', 'wine',
'dishes', 'dishes',
) )
class TeamMemberSerializer(serializers.ModelSerializer):
"""Serializer for team establishment BO section"""
class Meta:
model = account_models.User
fields = (
'id',
'username',
'email',
)

View File

@ -79,5 +79,6 @@ urlpatterns = [
name='employee-establishments-list'), name='employee-establishments-list'),
path('available_statuses/', views.StatusesListView.as_view(), name='statuses-list'), path('available_statuses/', views.StatusesListView.as_view(), name='statuses-list'),
path('employee_establishment_positions/<int:pk>/', views.EmployeeEstablishmentPositionsView.as_view(), path('employee_establishment_positions/<int:pk>/', views.EmployeeEstablishmentPositionsView.as_view(),
name='employee-establishment-positions') name='employee-establishment-positions'),
path('team/<int:establishment_id>', views.TeamMemberListView.as_view(), name='establishment-team-members-list')
] ]

View File

@ -7,7 +7,7 @@ from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import generics, response, status from rest_framework import generics, response, status
from rest_framework.response import Response from rest_framework.response import Response
from account.models import User from account.models import User, Role, UserRole
from collection.models import Guide from collection.models import Guide
from establishment import filters, models, serializers from establishment import filters, models, serializers
from establishment.models import EstablishmentEmployee, Menu from establishment.models import EstablishmentEmployee, Menu
@ -910,3 +910,19 @@ class StatusesListView(generics.ListAPIView):
} for state in models.Establishment.STATUS_CHOICES] } for state in models.Establishment.STATUS_CHOICES]
serializer = self.get_serializer(mutated_for_serializer, many=True) serializer = self.get_serializer(mutated_for_serializer, many=True)
return response.Response(serializer.data) return response.Response(serializer.data)
class TeamMemberListView(generics.ListAPIView):
"""Show team for certain establishment"""
pagination_class = None
serializer_class = serializers.TeamMemberSerializer
queryset = User.objects.all()
permission_classes = get_permission_classes(
IsEstablishmentManager,
IsEstablishmentAdministrator
)
def get_queryset(self):
establishment = get_object_or_404(klass=models.Establishment, pk=self.kwargs['establishment_id'])
return super().get_queryset().filter(roles__role=Role.ESTABLISHMENT_ADMINISTRATOR,
userrole__establishment=establishment, userrole__state=UserRole.VALIDATED)