diff --git a/apps/hrm/signals.py b/apps/hrm/signals.py index d5b734a4..d67a7235 100755 --- a/apps/hrm/signals.py +++ b/apps/hrm/signals.py @@ -2,3 +2,27 @@ 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() \ No newline at end of file