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 slugify import slugify
from account import models as account_models
from account.serializers.common import UserShortSerializer
from collection.models import Guide
from establishment import models, serializers as model_serializers
@ -925,7 +926,7 @@ class CardAndWinesPlatesSerializer(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')
dishes = CardAndWinesPlatesSerializer(many=True, source='card_and_wine_plates')
@ -936,3 +937,14 @@ class CardAndWinesSerializer(serializers.ModelSerializer):
'wine',
'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'),
path('available_statuses/', views.StatusesListView.as_view(), name='statuses-list'),
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.response import Response
from account.models import User
from account.models import User, Role, UserRole
from collection.models import Guide
from establishment import filters, models, serializers
from establishment.models import EstablishmentEmployee, Menu
@ -910,3 +910,19 @@ class StatusesListView(generics.ListAPIView):
} for state in models.Establishment.STATUS_CHOICES]
serializer = self.get_serializer(mutated_for_serializer, many=True)
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)