diff --git a/apps/am/models.py b/apps/am/models.py index 7e98c181..ddf284ed 100755 --- a/apps/am/models.py +++ b/apps/am/models.py @@ -65,7 +65,6 @@ class Access(CommonADModel): post = models.ForeignKey(Post, verbose_name='关联岗位', on_delete=models.CASCADE, null=True, blank=True) dept = models.ForeignKey(Dept, verbose_name='关联部门', on_delete=models.CASCADE, null=True, blank=True) employee = models.ForeignKey(Employee, verbose_name='关联人员', on_delete=models.CASCADE, null=True, blank=True) - visit = models.ForeignKey('vm.visit', verbose_name='关联访客项目', on_delete=models.SET_NULL, db_constraint=False, null=True, blank=True) stay_minute_min = models.PositiveSmallIntegerField('最短停留时间', default=0) stay_minute_max = models.PositiveSmallIntegerField('最长停留时间', default=0) sort = models.PositiveSmallIntegerField('排序', default=1) diff --git a/apps/vm/signals.py b/apps/vm/signals.py new file mode 100644 index 00000000..02aaa47f --- /dev/null +++ b/apps/vm/signals.py @@ -0,0 +1,20 @@ +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 +from apps.vm.models import Visitor + + +@receiver(post_save, sender=Employee) +def updateVisitor(sender, instance, created, **kwargs): + # if created: + if instance.type == 'visitor': + Visitor.objects.get_or_create(create_by=instance.user, employee=instance, + defaults={ + 'employee': instance, + 'name': instance.name, + 'phone': instance.phone, + 'photo': instance.photo, + 'id_number': instance.id_number, + 'create_by': instance.user + })