注册用户默认工作类别导致的bug

This commit is contained in:
caoqianming 2021-04-13 21:57:30 +08:00
parent ca71b8ecd2
commit 8fbb764f78
3 changed files with 27 additions and 26 deletions

View File

@ -9,8 +9,9 @@ App({
// 登录 // 登录
wx.showLoading({ wx.showLoading({
title: '', title: '加载中...',
mask:true mask:true,
icon:'none'
}) })
wx.login({ wx.login({
success: res => { success: res => {
@ -19,7 +20,7 @@ App({
if(res.code==200){ if(res.code==200){
this.globalData.token = res.data.token this.globalData.token = res.data.token
this.globalData.userinfo = res.data.userinfo this.globalData.userinfo = res.data.userinfo
//console.log(res.data.userinfo.perms)
// var pages = getCurrentPages() //获取加载的页面 // var pages = getCurrentPages() //获取加载的页面
// var currentPage = pages[pages.length - 1] //获取当前页面的对象 // var currentPage = pages[pages.length - 1] //获取当前页面的对象
// currentPage.showExp() // currentPage.showExp()
@ -69,9 +70,9 @@ App({
globalData: { globalData: {
userInfo: {}, userInfo: {},
userinfo: {}, // 服务器传回的消费者信息 userinfo: {}, // 服务器传回的消费者信息
host: 'https://apitest.ahctc.cn', //host: 'https://apitest.ahctc.cn',
mediahost: 'https://apitest.ahctc.cn', mediahost: 'https://apitest.ahctc.cn',
//host: 'http://127.0.0.1:8000', host: 'http://127.0.0.1:8000',
//mediahost: 'http://127.0.0.1:8000', //mediahost: 'http://127.0.0.1:8000',
token : '', token : '',
} }

View File

@ -17,7 +17,7 @@ class Company(CommonModel):
class Meta: class Meta:
verbose_name = '客户企业' verbose_name = '客户企业'
verbose_name_plural = verbose_name verbose_name_plural = verbose_name
unique_together=("name","create_admin")
def __str__(self): def __str__(self):
return self.name return self.name

View File

@ -25,21 +25,22 @@ VistorPerms = [
from .spider import getZs from .spider import getZs
def get_consumerperm_list(consumer): def get_consumerperm_list(consumer):
perms = list(consumer.role.perms.values_list('code', flat=True)) perms = list(consumer.role.perms.values_list('code', flat=True))
if consumer.workscope.can_exam: # 如果是三类考试工作类别不做过期检测 if consumer.workscope:
pass if consumer.workscope.can_exam: # 如果是三类考试工作类别不做过期检测
elif consumer.exceed_date and (consumer.exceed_date < datetime.date(timezone.now())): pass
if consumer.name and consumer.ID_number1: elif consumer.exceed_date and (consumer.exceed_date < datetime.date(timezone.now())):
candidates = getZs(consumer.name, consumer.ID_number1) if consumer.name and consumer.ID_number1:
if candidates: candidates = getZs(consumer.name, consumer.ID_number1)
perms.append('account_exceed') if candidates:
perms.append('account_exceed')
else:
# 未通过考试增加30天期限
newdate = datetime.date(timezone.now() + timedelta(days=30))
consumer.exceed_date = newdate
consumer.save()
else: else:
# 未通过考试增加30天期限 perms.append('account_exceed')
newdate = datetime.date(timezone.now() + timedelta(days=30)) cache.set('cperms_'+str(consumer.id), perms, 60*60)
consumer.exceed_date = newdate
consumer.save()
else:
perms.append('account_exceed')
cache.get_or_set('cperms_'+str(consumer.id), perms)
return perms return perms
class MyPermission(RbacPermission): class MyPermission(RbacPermission):
@ -54,16 +55,15 @@ class MyPermission(RbacPermission):
perms = [] perms = []
# if 'perms' in request.session: # if 'perms' in request.session:
# perms = request.session['perms'] # perms = request.session['perms']
if isinstance(request.user,UserProfile): # 如果是管理员表 if isinstance(request.user, UserProfile): # 如果是管理员表
# perms = get_permission_list(request.user) # perms = get_permission_list(request.user)
return True return True
elif isinstance(request.user,Consumer): elif isinstance(request.user, Consumer): # 如果是客户
if cache.get('cperms_'+str(request.user.id)): perms = cache.get('cperms_'+str(request.user.id), None)
perms = cache.get('cperms_'+str(request.user.id)) if not perms:
else:
perms = get_consumerperm_list(request.user) perms = get_consumerperm_list(request.user)
if perms: if perms:
if 'account_exceed' in perms: #账户过期 if 'account_exceed' in perms: # 账户过期
if request.user.exceed_date and (request.user.exceed_date >= datetime.date(timezone.now())): if request.user.exceed_date and (request.user.exceed_date >= datetime.date(timezone.now())):
pass pass
else: else: