factory/apps/hrm/signals.py

17 lines
652 B
Python
Executable File

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):
# if created:
# 如果账号所属部门有变动, 更新关联人员的所属部门, 只限内部人员
if not instance.is_superuser:
ep = Employee.objects.filter(user=instance).first()
if ep and ep.type == 'employee':
if ep.belong_dept and ep.belong_dept != instance.belong_dept:
ep.belong_dept = instance.belong_dept
ep.save()