コード例 #1
0
ファイル: views.py プロジェクト: bhushankelkar/SIH2020
def validate(request):
    uid = request.POST.get('id', False)
    passw = request.POST.get('passw', False)
    flag = 1
    temp = uid
    id = uid
    b = temp[0] + "" + temp[1]
    if b == '41':
        x = models.Engineer.objects.all()
        for i in x:
            if (uid == str(i.emp_id)) & (check_password(passw, i.password)):
                flag = 0
                dept = models.Engineer.objects.all().values('dept').filter(
                    emp_id=uid)[0]['dept']
                if dept == "C":
                    request.session['type'] = 'e'
                    return dhomeview(request, id)
                elif dept == "N":
                    request.session['type'] = 'e'
                    return dhomeviewn(request, id)

                elif dept == "S":
                    request.session['type'] = 'e'
                    return dhomeviews(request, id)
    elif b == '21':
        request.session['key'] = frt.generate_key().decode('utf-8')
        x = models.Dgm.objects.all()
        for i in x:
            if (uid == str(i.dgm_id)) & (check_password(passw, i.password)):
                flag = 0
                request.session['type'] = 'd'
                return homev(request, id)

            # y=models.Airport.objects.filter(a_id=i.a_id).values()
            # print(y[0])
            # return render(request,'./dgm/dgm.html',{'name':y[0]})
    elif b == '11':
        request.session['key'] = frt.generate_key().decode('utf-8')
        x = models.Head.objects.all()
        for i in x:
            if (uid == str(i.head_id)) & (check_password(passw, i.password)):
                flag = 0
                request.session['type'] = 'h'
                airInfo = models.Airport.objects.all().values()
                return dispMap(request, airInfo)
    elif b == '31':
        request.session['key'] = frt.generate_key().decode('utf-8')
        x = models.Supervisor.objects.all()
        for i in x:
            print(check_password(passw, i.password))
            if (uid == str(i.supervisor_id)) & (check_password(
                    passw, i.password)):
                flag = 0
                supInfo = models.Supervisor.objects.filter(
                    supervisor_id=uid).values()
                request.session['dept'] = supInfo[0]['dept']
                return run_sup(request, uid)
    if flag == 1:
        print("wrong")
        return render(request, 'login/login.html', {'flag': flag})
コード例 #2
0
def takemehome(request):
    if 'uid' in request.session:
        if str(request.session['uid'])[0] == '4':
            try:
                emp = Engineer.objects.get(emp_id = request.session['uid'])
                request.session['type'] = 'e'       #not necessary though, since it will be set inside /validate/
                if emp.dept == 'C':
                    return dhomeview(request, request.session['uid'])
                elif emp.dept == 'N':
                    return dhomeviewn(request, request.session['uid'])
                elif emp.dept == 'S':
                    return dhomeviews(request, request.session['uid'])    
            except Engineer.DoesNotExist:
                return redirect('/')    
        elif str(request.session['uid'])[0] == '3':
            return run_sup(request,request.session['uid'])
        elif str(request.session['uid'])[0] == '2':
            return redirect('/')
        elif str(request.session['uid'])[0] == '1':
            return dispMap(request, Airport.objects.all().values())     
        else:
            return redirect('/')  
    else:
        # Since, Head is not using a 'is_active'/'uid' session key  
        return redirect('/')