refector: 用户补充信息
This commit is contained in:
parent
c2dafb7714
commit
e1fa59568a
|
|
@ -0,0 +1,25 @@
|
|||
# Generated by Django 3.0.4 on 2023-03-30 06:02
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('examtest', '0037_exam_paper'),
|
||||
('crm', '0044_auto_20220528_2332'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='candidate',
|
||||
name='examtest',
|
||||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='examtest.ExamTest', verbose_name='关联考试'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='candidate',
|
||||
name='workscope',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='candidate_workscope', to='examtest.WorkScope'),
|
||||
),
|
||||
]
|
||||
|
|
@ -73,6 +73,8 @@ class Consumer(CommonModel):
|
|||
realname = models.CharField('查询真实姓名', max_length=100, null=True, blank=True)
|
||||
|
||||
ID_number1 = models.CharField('身份证号', max_length=100, null=True, blank=True)
|
||||
title = models.CharField('职称/职务', max_length=100, null=True, blank=True)
|
||||
companyname = models.CharField('单位', max_length=60, null=True, blank=True)
|
||||
create_admin = models.ForeignKey(UserProfile, on_delete=models.SET_NULL, null=True, blank=True, related_name='consumer_create_admin')
|
||||
deptname = models.CharField('所在部门', max_length=100, null=True, blank=True)
|
||||
exceed_date = models.DateField('账号过期', null=True, blank=True)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,11 @@ class ConsumerSerializer(serializers.ModelSerializer):
|
|||
queryset = queryset.prefetch_related('subjects',)
|
||||
return queryset
|
||||
|
||||
class ConsumerImproveSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Consumer
|
||||
fields = ['name', 'ID_number1', 'companyname', 'title']
|
||||
|
||||
class ConsumerDetailSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
客户详情序列化
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ from utils.custom import CommonPagination
|
|||
from .filters import ConsumerFilter
|
||||
from .exports import export_consumer
|
||||
from .models import Candidate, Company, Consumer, PaySubject, SendCode, ConsumerPerm, ConsumerRole
|
||||
from .serializers import CandidateCreateSerializer, CandidateSerializer, CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer, MsgSerializer
|
||||
from .serializers import CandidateCreateSerializer, CandidateSerializer, CompanySerializer, ConsumerSerializer, ConsumerPermSerializer, ConsumerRoleSerializer, ConsumerDetailSerializer, MsgSerializer, ConsumerImproveSerializer
|
||||
from lxml import etree
|
||||
from rbac.models import UserProfile
|
||||
from django.http import Http404
|
||||
|
|
@ -393,6 +393,16 @@ class ConsumerViewSet(ModelViewSet):
|
|||
request.user.save()
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
@action(methods=['post'], detail=False, perms_map=[{'*':'*'}], serializer_class=ConsumerImproveSerializer)
|
||||
def improve(self, request):
|
||||
'''
|
||||
完善个人信息
|
||||
'''
|
||||
if isinstance(request.user, Consumer):
|
||||
sr = ConsumerImproveSerializer(instance=request.user, data=request.data)
|
||||
sr.is_valid(raise_exception=True)
|
||||
sr.save()
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
@action(methods=['get'], detail=False,
|
||||
url_path='candidate', url_name='consumer_candidate', perms_map=[{'*':'*'}])
|
||||
|
|
@ -615,7 +625,7 @@ class ConsumerRegister(APIView):
|
|||
# 默认一个工作类别
|
||||
if not consumer.workscope:
|
||||
try:
|
||||
consumer.workscope = WorkScope.objects.filter(sortnum=1).first()
|
||||
consumer.workscope = WorkScope.objects.filter(sortnum=1).order_by('id').first()
|
||||
except:
|
||||
pass
|
||||
consumer.save()
|
||||
|
|
@ -631,7 +641,7 @@ class ConsumerRegister(APIView):
|
|||
# 默认一个工作类别
|
||||
if not consumer.workscope:
|
||||
try:
|
||||
consumer.workscope = WorkScope.objects.filter(sortnum=1).first()
|
||||
consumer.workscope = WorkScope.objects.filter(sortnum=1).order_by('id').first()
|
||||
except:
|
||||
pass
|
||||
consumer.save()
|
||||
|
|
@ -661,12 +671,13 @@ class WxphoneRegister(APIView):
|
|||
consumer.save()
|
||||
else:
|
||||
request.user.username = phoneNumber
|
||||
request.user.name = data.get('name', '未知')
|
||||
if request.user.role.name =='游客':
|
||||
request.user.role = ConsumerRole.objects.get(name='注册用户')
|
||||
if not request.user.workscope:
|
||||
request.user.workscope = WorkScope.objects.filter(sortnum=1).first()
|
||||
request.user.workscope = WorkScope.objects.filter(sortnum=1).order_by('id').first()
|
||||
request.user.save()
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
return Response(status=status.HTTP_200_OK, data=ConsumerDetailSerializer(instance=request.user).data)
|
||||
|
||||
class change_remain_count(APIView):
|
||||
perms_map=[{'*':'change_remain_count'}]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
# Generated by Django 3.0.4 on 2023-03-30 06:02
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vod', '0002_auto_20220326_2305'),
|
||||
('examtest', '0037_exam_paper'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='workscope',
|
||||
name='courses',
|
||||
field=models.ManyToManyField(blank=True, to='vod.Course', verbose_name='所选课程'),
|
||||
),
|
||||
]
|
||||
|
|
@ -37,7 +37,7 @@ class WorkScope(CommonModel):
|
|||
sortnum = models.IntegerField('排序码', default=1)
|
||||
is_public = models.BooleanField('是否公开', default=True)
|
||||
# can_choose = models.BooleanField('客户是否可选择', default=False)
|
||||
courses = models.ManyToManyField(Course, verbose_name='所选课程')
|
||||
courses = models.ManyToManyField(Course, verbose_name='所选课程', blank=True, null=True)
|
||||
issue_year = models.PositiveSmallIntegerField('证书有效期', default=5)
|
||||
# can_examself = models.BooleanField('是否可自主考核', default=False)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue