From a2d8e8e1eb0aab65f2a4e41c60b1b3b54b08cb8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 11 Jul 2022 09:21:36 +0800 Subject: [PATCH] =?UTF-8?q?update=20visitor=20=E4=BF=A1=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/am/models.py | 1 - apps/vm/signals.py | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 apps/vm/signals.py 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 + })