去除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 apps.system.models import User
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from apps.hrm.models import Employee
|
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.permissions import IsAuthenticated
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import APIView
|
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.errors import OLD_PASSWORD_WRONG, PASSWORD_NOT_SAME, SCHEDULE_WRONG
|
||||||
from apps.system.filters import DeptFilterSet, UserFilterSet
|
from apps.system.filters import DeptFilterSet, UserFilterSet
|
||||||
# from django_q.models import Task as QTask, Schedule as QSchedule
|
# 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.post = up.post
|
||||||
user.update_by = self.request.user
|
user.update_by = self.request.user
|
||||||
user.save()
|
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):
|
def perform_destroy(self, instance):
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
|
@ -398,6 +406,13 @@ class UserPostViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo
|
||||||
user.post = None
|
user.post = None
|
||||||
user.update_by = self.request.user
|
user.update_by = self.request.user
|
||||||
user.save()
|
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):
|
class UserViewSet(CustomModelViewSet):
|
||||||
|
@ -425,7 +440,21 @@ class UserViewSet(CustomModelViewSet):
|
||||||
password = make_password('0000')
|
password = make_password('0000')
|
||||||
serializer = self.get_serializer(data=request.data)
|
serializer = self.get_serializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
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)
|
return Response(data=serializer.data)
|
||||||
|
|
||||||
@action(methods=['put'], detail=False,
|
@action(methods=['put'], detail=False,
|
||||||
|
|
Loading…
Reference in New Issue