team members list
This commit is contained in:
parent
68ceb44acf
commit
a302e1181c
|
|
@ -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',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -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')
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user