去除hrm sinnal
This commit is contained in:
parent
e646756017
commit
94ecdc1ab6
|
@ -2,27 +2,3 @@ from django.db.models.signals import post_save
|
|||
from apps.system.models import User
|
||||
from django.dispatch import receiver
|
||||
from apps.hrm.models import Employee
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
def updateEmployee(sender, instance, created, **kwargs):
|
||||
ep = None
|
||||
ep_created = False
|
||||
if created:
|
||||
ep, ep_created = Employee.objects.get_or_create(user=instance,
|
||||
defaults={
|
||||
"user": instance,
|
||||
"name": instance.name,
|
||||
"phone": instance.phone,
|
||||
"belong_dept": instance.belong_dept,
|
||||
"post": instance.post,
|
||||
"type": instance.type
|
||||
})
|
||||
if ep and not ep_created:
|
||||
ep.belong_dept = instance.belong_dept
|
||||
ep.post = instance.post
|
||||
ep.type = instance.type
|
||||
if instance.phone != ep.phone:
|
||||
ep.phone = instance.phone
|
||||
ep.save()
|
||||
ep.save()
|
||||
|
|
|
@ -16,6 +16,7 @@ from rest_framework.parsers import (JSONParser,
|
|||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from apps.hrm.models import Employee
|
||||
from apps.system.errors import OLD_PASSWORD_WRONG, PASSWORD_NOT_SAME, SCHEDULE_WRONG
|
||||
from apps.system.filters import DeptFilterSet, UserFilterSet
|
||||
# from django_q.models import Task as QTask, Schedule as QSchedule
|
||||
|
@ -384,6 +385,13 @@ class UserPostViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo
|
|||
user.post = up.post
|
||||
user.update_by = self.request.user
|
||||
user.save()
|
||||
# 更新人员表
|
||||
ep = Employee.objects.get_queryset(all=True).filter(user=instance).first()
|
||||
if ep:
|
||||
ep.belong_dept = user.belong_dept
|
||||
ep.post = user.post
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
with transaction.atomic():
|
||||
|
@ -398,6 +406,13 @@ class UserPostViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo
|
|||
user.post = None
|
||||
user.update_by = self.request.user
|
||||
user.save()
|
||||
# 更新人员表
|
||||
ep = Employee.objects.get_queryset(all=True).filter(user=instance).first()
|
||||
if ep:
|
||||
ep.belong_dept = user.belong_dept
|
||||
ep.post = user.post
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
|
||||
|
||||
class UserViewSet(CustomModelViewSet):
|
||||
|
@ -425,7 +440,21 @@ class UserViewSet(CustomModelViewSet):
|
|||
password = make_password('0000')
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save(password=password, belong_dept=None)
|
||||
instance = serializer.save(password=password, belong_dept=None)
|
||||
ep = Employee.objects.get_queryset(all=True).filter(user=instance).first()
|
||||
ep2 = Employee.objects.get_queryset(all=True).filter(phone=instance.phone).first()
|
||||
if ep:
|
||||
pass
|
||||
elif ep2:
|
||||
ep = ep2
|
||||
else:
|
||||
ep = Employee()
|
||||
ep.user = instance
|
||||
ep.name = instance.name
|
||||
ep.phone = instance.phone
|
||||
ep.type = instance.type
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
return Response(data=serializer.data)
|
||||
|
||||
@action(methods=['put'], detail=False,
|
||||
|
|
Loading…
Reference in New Issue