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})
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('/')