remove award from employee
This commit is contained in:
parent
1c1d9ecbad
commit
d8d9a97746
|
|
@ -6,6 +6,7 @@ from typing import List
|
|||
|
||||
import elasticsearch_dsl
|
||||
from django.conf import settings
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.contrib.contenttypes import fields as generic
|
||||
from django.contrib.gis.db.models.functions import Distance
|
||||
from django.contrib.gis.geos import Point
|
||||
|
|
@ -1155,6 +1156,11 @@ class Employee(BaseAttributes):
|
|||
)
|
||||
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):
|
||||
"""QuerySet for model EstablishmentSchedule"""
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ urlpatterns = [
|
|||
path('employees/', views.EmployeeListCreateView.as_view(), name='employees'),
|
||||
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>/<int:award_id>', views.RemoveAwardView.as_view(), name='employees-award-delete'),
|
||||
path('<int:establishment_id>/employee/<int:employee_id>/position/<int:position_id>',
|
||||
views.EstablishmentEmployeeCreateView.as_view(),
|
||||
name='employees-establishment-create'),
|
||||
|
|
|
|||
|
|
@ -218,6 +218,18 @@ class EmployeeRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|||
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):
|
||||
"""Establishment type list/create view."""
|
||||
serializer_class = serializers.EstablishmentTypeBaseSerializer
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user