Added employee establishments method
This commit is contained in:
parent
de78ee5d6e
commit
88e488e481
|
|
@ -5,8 +5,7 @@ from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework import serializers
|
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, serializers as model_serializers
|
||||||
from establishment import serializers as model_serializers
|
|
||||||
from establishment.models import ContactPhone, EstablishmentEmployee
|
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
|
||||||
|
|
@ -14,7 +13,7 @@ from location.serializers import AddressDetailSerializer, TranslatedField
|
||||||
from main.models import Currency
|
from main.models import Currency
|
||||||
from main.serializers import AwardSerializer
|
from main.serializers import AwardSerializer
|
||||||
from utils.decorators import with_base_attributes
|
from utils.decorators import with_base_attributes
|
||||||
from utils.serializers import TimeZoneChoiceField, ImageBaseSerializer
|
from utils.serializers import ImageBaseSerializer, TimeZoneChoiceField
|
||||||
|
|
||||||
|
|
||||||
def phones_handler(phones_list, establishment):
|
def phones_handler(phones_list, establishment):
|
||||||
|
|
|
||||||
|
|
@ -57,4 +57,6 @@ urlpatterns = [
|
||||||
path('subtypes/', views.EstablishmentSubtypeListCreateView.as_view(), name='subtype-list'),
|
path('subtypes/', views.EstablishmentSubtypeListCreateView.as_view(), name='subtype-list'),
|
||||||
path('subtypes/<int:pk>/', views.EstablishmentSubtypeRUDView.as_view(), name='subtype-rud'),
|
path('subtypes/<int:pk>/', views.EstablishmentSubtypeRUDView.as_view(), name='subtype-rud'),
|
||||||
path('positions/', views.EstablishmentPositionListView.as_view(), name='position-list'),
|
path('positions/', views.EstablishmentPositionListView.as_view(), name='position-list'),
|
||||||
|
path('employee_establishments/<int:pk>/', views.EmployeeEstablishmentsListView.as_view(),
|
||||||
|
name='employee-establishments-list')
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
"""Establishment app views."""
|
"""Establishment app views."""
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
|
from django.http import Http404
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
from rest_framework import generics, permissions
|
from rest_framework import generics, permissions
|
||||||
|
|
@ -7,7 +9,7 @@ from account.models import User
|
||||||
from establishment import filters, models, serializers
|
from establishment import filters, models, serializers
|
||||||
from establishment.models import EstablishmentEmployee
|
from establishment.models import EstablishmentEmployee
|
||||||
from timetable.models import Timetable
|
from timetable.models import Timetable
|
||||||
from timetable.serialziers import ScheduleRUDSerializer, ScheduleCreateSerializer
|
from timetable.serialziers import ScheduleCreateSerializer, ScheduleRUDSerializer
|
||||||
from utils.permissions import IsCountryAdmin, IsEstablishmentManager, IsWineryReviewer
|
from utils.permissions import IsCountryAdmin, IsEstablishmentManager, IsWineryReviewer
|
||||||
from utils.views import CreateDestroyGalleryViewMixin
|
from utils.views import CreateDestroyGalleryViewMixin
|
||||||
|
|
||||||
|
|
@ -30,6 +32,25 @@ class EstablishmentListCreateView(EstablishmentMixinViews, generics.ListCreateAP
|
||||||
serializer_class = serializers.EstablishmentListCreateSerializer
|
serializer_class = serializers.EstablishmentListCreateSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class EmployeeEstablishmentsListView(generics.ListAPIView):
|
||||||
|
"""Establishment by employee list view."""
|
||||||
|
|
||||||
|
permission_classes = [IsWineryReviewer | IsCountryAdmin | IsEstablishmentManager]
|
||||||
|
queryset = models.Establishment.objects.all()
|
||||||
|
serializer_class = serializers.EstablishmentListCreateSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
pk = self.kwargs.get('pk')
|
||||||
|
|
||||||
|
try:
|
||||||
|
employee = models.Employee.objects.get(pk=pk)
|
||||||
|
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
raise Http404
|
||||||
|
|
||||||
|
return employee.establishments.all()
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentRUDView(generics.RetrieveUpdateDestroyAPIView):
|
class EstablishmentRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
lookup_field = 'slug'
|
lookup_field = 'slug'
|
||||||
queryset = models.Establishment.objects.all().prefetch_related(
|
queryset = models.Establishment.objects.all().prefetch_related(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user