23 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			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:
 | |
|     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 not ep_created:
 | |
|         ep.belong_dept = instance.belong_dept
 | |
|         ep.post = instance.post
 | |
|         ep.save()
 |