feat: 离职申请支持删除
This commit is contained in:
parent
f62bc532de
commit
9408dbd6e5
|
|
@ -26,9 +26,9 @@ from apps.hrm.services import HrmService
|
||||||
from apps.third.dahua import dhClient
|
from apps.third.dahua import dhClient
|
||||||
from apps.third.tapis import dhapis
|
from apps.third.tapis import dhapis
|
||||||
from apps.utils.export import export_excel
|
from apps.utils.export import export_excel
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet, EuModelViewSet
|
||||||
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, RetrieveModelMixin
|
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, RetrieveModelMixin
|
||||||
|
from apps.wf.models import Ticket
|
||||||
epTypeOptions = {'employee': '正式员工', 'remployee': '相关方',
|
epTypeOptions = {'employee': '正式员工', 'remployee': '相关方',
|
||||||
'visitor': '访客', 'driver': '货车司机'}
|
'visitor': '访客', 'driver': '货车司机'}
|
||||||
epStateOptions = {10: '在职', 20: '离职', 30: '退休'}
|
epStateOptions = {10: '在职', 20: '离职', 30: '退休'}
|
||||||
|
|
@ -393,9 +393,16 @@ class CertificateViewSet(CustomModelViewSet):
|
||||||
ins.get_state(need_update=True)
|
ins.get_state(need_update=True)
|
||||||
|
|
||||||
|
|
||||||
class ResignationViewSet(CustomListModelMixin, BulkCreateModelMixin, RetrieveModelMixin, CustomGenericViewSet):
|
class ResignationViewSet(EuModelViewSet):
|
||||||
perms_map = {"get": "*", "post": "resignation.create"}
|
|
||||||
select_related_fields = ['employee', 'employee__belong_dept', 'employee__post']
|
select_related_fields = ['employee', 'employee__belong_dept', 'employee__post']
|
||||||
queryset = Resignation.objects.all()
|
queryset = Resignation.objects.all()
|
||||||
serializer_class = ResignationSerializer
|
serializer_class = ResignationSerializer
|
||||||
search_fields = ["employee__name"]
|
search_fields = ["employee__name"]
|
||||||
|
|
||||||
|
def perform_destroy(self, instance):
|
||||||
|
ticket:Ticket = instance.ticket
|
||||||
|
if ticket and ticket.state.type != 1:
|
||||||
|
raise ParseError('该离职记录关联的工单已被处理,不可删除')
|
||||||
|
instance.delete()
|
||||||
|
if ticket:
|
||||||
|
ticket.delete()
|
||||||
Loading…
Reference in New Issue