remove award from employee
This commit is contained in:
parent
1c1d9ecbad
commit
d8d9a97746
|
|
@ -6,6 +6,7 @@ from typing import List
|
||||||
|
|
||||||
import elasticsearch_dsl
|
import elasticsearch_dsl
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
from django.contrib.contenttypes import fields as generic
|
from django.contrib.contenttypes import fields as generic
|
||||||
from django.contrib.gis.db.models.functions import Distance
|
from django.contrib.gis.db.models.functions import Distance
|
||||||
from django.contrib.gis.geos import Point
|
from django.contrib.gis.geos import Point
|
||||||
|
|
@ -1155,6 +1156,11 @@ class Employee(BaseAttributes):
|
||||||
)
|
)
|
||||||
return image_property
|
return image_property
|
||||||
|
|
||||||
|
def remove_award(self, award_id: int):
|
||||||
|
from main.models import Award
|
||||||
|
award = get_object_or_404(Award, pk=award_id)
|
||||||
|
self.awards.remove(award)
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentScheduleQuerySet(models.QuerySet):
|
class EstablishmentScheduleQuerySet(models.QuerySet):
|
||||||
"""QuerySet for model EstablishmentSchedule"""
|
"""QuerySet for model EstablishmentSchedule"""
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ urlpatterns = [
|
||||||
path('employees/', views.EmployeeListCreateView.as_view(), name='employees'),
|
path('employees/', views.EmployeeListCreateView.as_view(), name='employees'),
|
||||||
path('employees/search/', views.EmployeesListSearchViews.as_view(), name='employees-search'),
|
path('employees/search/', views.EmployeesListSearchViews.as_view(), name='employees-search'),
|
||||||
path('employees/<int:pk>/', views.EmployeeRUDView.as_view(), name='employees-rud'),
|
path('employees/<int:pk>/', views.EmployeeRUDView.as_view(), name='employees-rud'),
|
||||||
|
path('employees/<int:pk>/<int:award_id>', views.RemoveAwardView.as_view(), name='employees-award-delete'),
|
||||||
path('<int:establishment_id>/employee/<int:employee_id>/position/<int:position_id>',
|
path('<int:establishment_id>/employee/<int:employee_id>/position/<int:position_id>',
|
||||||
views.EstablishmentEmployeeCreateView.as_view(),
|
views.EstablishmentEmployeeCreateView.as_view(),
|
||||||
name='employees-establishment-create'),
|
name='employees-establishment-create'),
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,18 @@ class EmployeeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
||||||
queryset = models.Employee.objects.all().with_back_office_related()
|
queryset = models.Employee.objects.all().with_back_office_related()
|
||||||
|
|
||||||
|
|
||||||
|
class RemoveAwardView(generics.DestroyAPIView):
|
||||||
|
lookup_field = 'pk'
|
||||||
|
serializer_class = serializers.EmployeeBackSerializers
|
||||||
|
queryset = models.Employee.objects.all().with_back_office_related()
|
||||||
|
permission_classes = (permissions.AllowAny, )
|
||||||
|
|
||||||
|
def get_object(self):
|
||||||
|
employee = super().get_object()
|
||||||
|
employee.remove_award(self.kwargs['award_id'])
|
||||||
|
return employee
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentTypeListCreateView(generics.ListCreateAPIView):
|
class EstablishmentTypeListCreateView(generics.ListCreateAPIView):
|
||||||
"""Establishment type list/create view."""
|
"""Establishment type list/create view."""
|
||||||
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user