From 1e81f38343724e6f7991b15a9bf031683c609fc6 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 12 Apr 2022 13:14:36 +0800 Subject: [PATCH] =?UTF-8?q?user=20phone=20=E5=8E=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/hrm/models.py | 22 +++++++------- apps/hrm/signals.py | 11 +++---- .../migrations/0003_remove_user_phone.py | 17 +++++++++++ apps/system/models.py | 2 -- apps/system/serializers.py | 30 ++++++++----------- 5 files changed, 45 insertions(+), 37 deletions(-) create mode 100644 apps/system/migrations/0003_remove_user_phone.py diff --git a/apps/hrm/models.py b/apps/hrm/models.py index b9482fe6..25f588bd 100644 --- a/apps/hrm/models.py +++ b/apps/hrm/models.py @@ -1,11 +1,8 @@ from django.db import models -from django.contrib.auth.models import AbstractUser -from django.db.models.base import Model -import django.utils.timezone as timezone from django.db.models.query import QuerySet -from apps.system.models import CommonADModel, CommonAModel, CommonBModel, Organization, User, Dict, File,Position -from utils.model import SoftModel, BaseModel -from simple_history.models import HistoricalRecords +from apps.system.models import User + +from apps.utils.models import CommonADModel, CommonAModel @@ -14,14 +11,19 @@ class Employee(CommonAModel): """ 员工信息 """ - JOB_ON = 1 - JOB_OFF = 2 + JOB_ON = 10 + JOB_OFF = 20 jobstate_choices = ( (JOB_ON, '在职'), (JOB_OFF, '离职'), ) - user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee_user') - number = models.CharField('人员编号', max_length=50,null=True, blank=True, unique=True) + user = models.OneToOneField(User, + verbose_name='系统账号', + on_delete=models.PROTECT, related_name='employee_user', null=True, blank=True) + name = models.CharField('姓名', max_length=20) + phone = models.CharField('手机号', max_length=11, null=True, blank=True) + email = models.EmailField('邮箱号', null=True, blank=True) + number = models.CharField('人员编号', max_length=50, null=True, blank=True) photo = models.CharField('证件照', max_length=1000, null=True, blank=True) id_number = models.CharField('身份证号', max_length=100, null=True, blank=True) gender = models.CharField('性别', max_length=10, default='男') diff --git a/apps/hrm/signals.py b/apps/hrm/signals.py index 7e8c9227..a49bdfd5 100644 --- a/apps/hrm/signals.py +++ b/apps/hrm/signals.py @@ -3,11 +3,8 @@ from apps.system.models import User from django.dispatch import receiver from apps.hrm.models import Employee from django.conf import settings -import face_recognition -import logging -logger = logging.getLogger('log') -@receiver(post_save, sender=User) -def createEmployee(sender, instance, created, **kwargs): - if created: - Employee.objects.get_or_create(user=instance) +# @receiver(post_save, sender=User) +# def createEmployee(sender, instance, created, **kwargs): +# if created: +# Employee.objects.get_or_create(user=instance) diff --git a/apps/system/migrations/0003_remove_user_phone.py b/apps/system/migrations/0003_remove_user_phone.py new file mode 100644 index 00000000..5903b6fc --- /dev/null +++ b/apps/system/migrations/0003_remove_user_phone.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.12 on 2022-04-12 05:13 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0002_auto_20220411_2148'), + ] + + operations = [ + migrations.RemoveField( + model_name='user', + name='phone', + ), + ] diff --git a/apps/system/models.py b/apps/system/models.py index 23413bc6..b0f707bc 100644 --- a/apps/system/models.py +++ b/apps/system/models.py @@ -113,8 +113,6 @@ class User(AbstractUser, CommonBModel): 用户 """ name = models.CharField('姓名', max_length=20, null=True, blank=True) - phone = models.CharField('手机号', max_length=11, - null=True, blank=True) avatar = models.CharField( '头像', default='/media/default/avatar.png', max_length=100, null=True, blank=True) superior = models.ForeignKey( diff --git a/apps/system/serializers.py b/apps/system/serializers.py index e606a83c..b3608238 100644 --- a/apps/system/serializers.py +++ b/apps/system/serializers.py @@ -237,18 +237,18 @@ class UserListSerializer(CustomModelSerializer): model = User exclude = ['password'] -def phone_check(phone): - re_phone = '^1[358]\d{9}$|^147\d{8}$|^176\d{8}$' - if not re.match(re_phone, phone): - raise serializers.ValidationError(**PHONE_F_WRONG) - return phone +# def phone_check(phone): +# re_phone = '^1[358]\d{9}$|^147\d{8}$|^176\d{8}$' +# if not re.match(re_phone, phone): +# raise serializers.ValidationError(**PHONE_F_WRONG) +# return phone -def phone_exist(phone): - if User.objects.filter(phone=phone): - raise serializers.ValidationError(**PHONE_EXIST) +# def phone_exist(phone): +# if User.objects.filter(phone=phone).exists(): +# raise serializers.ValidationError(**PHONE_EXIST) def user_exist(username): - if User.objects.filter(username=username): + if User.objects.filter(username=username).exists(): raise serializers.ValidationError(**USERNAME_EXIST) return username @@ -256,13 +256,10 @@ class UserUpdateSerializer(CustomModelSerializer): """ 用户编辑序列化 """ - phone = serializers.CharField(max_length=11, - required=False, validators=[phone_check]) - + username = serializers.CharField(required=True, validators=[user_exist]) class Meta: model = User - fields = ['id', 'username', 'name', 'phone', 'email', 'belong_dept', - 'avatar', 'is_active', 'is_superuser'] + fields = ['username', 'name', 'avatar', 'is_active'] @@ -272,13 +269,10 @@ class UserCreateSerializer(CustomModelSerializer): 创建用户序列化 """ username = serializers.CharField(required=True, validators=[user_exist]) - phone = serializers.CharField(max_length=11, - required=False, validators=[phone_check, phone_exist]) class Meta: model = User - fields = ['id', 'username', 'name', 'phone', 'email', 'belong_dept', - 'avatar', 'is_active'] + fields = ['username', 'name', 'avatar', 'is_active'] class PasswordChangeSerializer(serializers.Serializer):