def genMenuBar(title, links, token): menuString = """\ <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="brand" href="%(base)sindex.py">%(title)s</a> <div class="nav-collapse"> <ul class="nav"> """ % {'title':title, 'base':connectToDatabase.getDirBase()} for l in links: menuString += ("""\ <li %(activeClass)s><a href=\"%(link)s\">%(name)s</a></li>""") \ % {'link': l['link'],'name':l['name'], 'activeClass':'class="active"' if l['active'] else ''} if login.isLoggedIn(token): menuString += """\ </ul> <ul class="nav pull-right"> <li> <form action="search.py" method="GET" name='search' class="navbar-search"> <input type="text" name="search" placeholder="Search" class="search-query span2"> </form> </li> <li class="divider-vertical"></li> <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#">%(name)s<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="logout.py">Log Out</a></li> </ul> </li> </ul> </div><!--/.nav-collapse --> </div> </div> </div> """ % {'name':login.getName(token)} else: menuString += """\ </ul> <ul class="nav pull-right"> <li><a href="login.py">Log In</a></li> </ul> </div><!--/.nav-collapse --> </div> </div> </div> """ return menuString
def loginPage(environ, start_response): login.logout(login.getLoginToken(environ)) start_response('303 See Other',[('Location', connectToDatabase.getDirBase())]) return ''
def loginPage(environ, start_response): qs = parse_qs(environ['QUERY_STRING'], keep_blank_values=True) loginFailure = False if ('username' in qs) and ('password' in qs): try: cookie = login(qs['username'][0], qs['password'][0], True) start_response('303 See Other',[('Set-Cookie','login_token=%s'%cookie),('Location', connectToDatabase.getDirBase())]) cookie = getLoginToken(environ) return cookie except: loginFailure = True string = '' string += genHTML.genPageHeader('EngCupid') string += genHTML.genMenuBar("EngCupid", [dict(link='browse.py', name='Browse', active=True)], getLoginToken(environ)) string += genHTML.beginContainer() string += """ <div class="span12"> """ if loginFailure: string += """\ <div class="alert alert-error"> <button class="close" data-dismiss="alert">×</button> <strong>Incorrect username or password</strong> You have entered a username/password combination that is not in our system, please try again </div> """ string+= """\ <h1>Login</h1> <form class="form-horizontal" method="GET" name='search' action="login.py" > <fieldset> <div class="control-group"> <label class="control-label" for="username">Username</label> <div class="controls"> <input id="username" class="input-xlarge" type="text"> </div> </div> <div class="control-group"> <label class="control-label" for="password" value="%(username)s">Password</label> <div class="controls"> <input id="password" class="input-xlarge" type="password"> </div> </div> <div class="form-actions"> <button class="btn btn-primary" type="submit">Login</button> </div> </fieldset> </form> """ % {'username': qs['username'] if 'username' in qs else ''} string += """\ </div> """ string += genHTML.endContainer() string += genHTML.genPageFooter() start_response(ok.code(), [('Content-type', 'text/html')]) return string
def loginPage(environ, start_response): qs = parse_qs(environ['QUERY_STRING'], keep_blank_values=True) loginFailure = False if ('username' in qs): try: cookie = login(qs['username'][0], qs['password'][0], True) start_response('303 See Other',[('Set-Cookie','login_token=%s'%cookie),('Location', connectToDatabase.getDirBase())]) cookie = getLoginToken(environ) return cookie except: loginFailure = True string = '' string += genHTML.genPageHeader('EngCupid') string += genHTML.genMenuBar("EngCupid", [dict(link='browse.py', name='Browse', active=True)], getLoginToken(environ)) string += genHTML.beginContainer() string += """\ <h1>Recover Password</h1> <form class="form-horizontal" method="GET" name='search' action="recoverPassword.py" > <fieldset> <div class="control-group"> <label class="control-label" for="username">Username</label> <div class="controls"> <input id="username" class="input-xlarge" type="text"> </div> </div> <div class="form-actions"> <button class="btn btn-primary" type="submit">Login</button> </div> </fieldset> </form> """ % {'username': qs['username'] if 'username' in qs else ''} string += """\ </div> """ string += genHTML.endContainer() string += genHTML.genPageFooter() start_response(ok.code(), [('Content-type', 'text/html')]) return string