diff --git a/safesite/views.py b/safesite/views.py index aedefa18..ec66a61e 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -531,7 +531,6 @@ def init_permission(user,req): 'id': item.menuid, 'name': item.menuname, }) - print(permission_dict) req.session['permissions'] = permission_dict @@ -831,7 +830,7 @@ def apirights(req): allrights = Group.objects.get( usecomp__partid=companyid, grouptype=0).menulist menus = Menu.objects.exclude(menuid__in=[11, 9]).filter(menuid__in=allrights, deletemark=1).order_by( - 'menuid').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon').distinct() + 'menuid').values('menuid', 'menucode', 'parentid', 'url', 'menuname', 'icon','type').distinct() for i in menus: if i['menuid'] in haverights: i['checked'] = True @@ -846,7 +845,7 @@ def apirights(req): for i in data: rlist.append(i['id']) Group.objects.filter(groupid=groupid).update( - menulist=rlist) + menulist=list(set(rlist))) return JsonResponse({"code": 1}) elif a == 'have': userid = req.session['userid'] @@ -3656,11 +3655,11 @@ def apicompany(req): y.save() part = Partment.objects.get(partid=y.partid) Group.objects.create( - groupname='超管', grouptype=0, usecomp=part, menulink=menurights) + groupname='超管', grouptype=0, usecomp=part, menulist=menurights) Group.objects.create( - groupname='安全员', grouptype=1, usecomp=part, menulink=menurights) + groupname='安全员', grouptype=1, usecomp=part, menulist=menurights) Group.objects.create( - groupname='全体用户', grouptype=3, usecomp=part, menulink=menurights) + groupname='全体用户', grouptype=3, usecomp=part, menulist=menurights) z = Group(groupname='主管', grouptype=2, usecomp=part, menulist=menurights) z.save() @@ -4564,9 +4563,9 @@ def apitool(req): if req.GET.get('company'): objs = objs.filter(usecomp__partid=req.GET.get('company')) for i in objs: - menulist = i.menulink.split(',') + menulist = i.menulist menulist.append(menu) - if menu == '30': + if menu == 30: company = Partment.objects.get(partid=req.GET.get('company')) objs = Map.objects.filter(usecomp=company) if objs.exists(): @@ -4574,8 +4573,7 @@ def apitool(req): else: Map.objects.create( name='默认地图', pic='/static/safesite/mystatic/images/snc.jpg', usecomp=company, default=1) - newlist = list(set(menulist)) - i.menulink = ','.join(newlist) + i.menulist = list(set(menulist)) i.save() return JsonResponse({"code": 1}) elif a == 'correction': @@ -4715,10 +4713,20 @@ def apitool(req): return JsonResponse({"code": 1}) elif a == 'correct_menulist': for i in Group.objects.all(): - i.menulist = list(set(list(filter(None, i.menulink.split(','))))) - i.save() + if i.menulink: + i.menulist = list(set(list(filter(None, i.menulink.split(','))))) + i.save() + return JsonResponse({"code": 1}) + elif a == 'correct_menuhas': + buttons = Menu.objects.filter(type=2) + for group in Group.objects.all(): + menulist = group.menulist + for button in buttons: + if button.parentid.menuid in menulist: #如果菜单在所拥有权限内 + menulist.append(button.menuid) + group.menulist = list(set(menulist)) + group.save() return JsonResponse({"code": 1}) - def apinotice(req): @@ -5875,7 +5883,7 @@ def apiexamtest(req): a = ExamTest.objects.filter(id=id).values('id', 'num', 'name', 'starttime', 'endtime', 'duration', 'totalscore', 'passscore', 'exampaper__total', 'createtime', 'state', 'exampaper__name', 'createuser__name', 'type', 'qrcode')[0] objs = ExamTestDetail.objects.filter(examtest__id=id).order_by('-score').values( - 'id', 'user__name', 'user__ubelongpart__partname', 'took', 'score', 'ison', 'passcode') + 'id', 'user__name', 'user__ubelongpart__partname', 'took', 'score', 'ison', 'passcode','starttime') a['cjrydetail'] = list(objs) a['ison'] = 1 tests = ExamTestDetail.objects.filter(examtest__id=id,user__userid=userid)#考试记录