Added more to navbar.

This commit is contained in:
Michael Zhang 2016-03-12 22:46:52 -06:00
parent a5298ecff9
commit a6566d3fce
4 changed files with 35 additions and 24 deletions

View file

@ -27,8 +27,8 @@ server {
try_files /index.html /index.html;
}
location ~ /static {
root /srv/http/static;
location /static {
alias /srv/http/static;
}
location ~ /api {

View file

@ -132,6 +132,8 @@ def user_status():
"success": 1,
"logged_in": logged_in,
"admin": is_admin(),
"competition": is_admin(),
"in_team": in_team(get_user()),
"username": session["username"] if logged_in else "",
}
if logged_in:
@ -260,24 +262,6 @@ UserSchema = Schema({
"notify": str
}, extra=True)
def get_user(username=None, username_lower=None, email=None, uid=None, reset_token=None):
match = {}
if username != None:
match.update({ "username": username })
elif username_lower != None:
match.update({ "username_lower": username_lower })
elif uid != None:
match.update({ "uid": uid })
elif email != None:
match.update({ "email": email })
elif is_logged_in():
match.update({ "username": session["username"] })
elif reset_token != None:
match.update({ "reset_token": reset_token })
with app.app_context():
result = Users.query.filter_by(**match)
return result
def login_user(username, password):
user = get_user(username_lower=username.lower()).first()
if user is None: return False
@ -303,9 +287,6 @@ def login_user(username, password):
return True
def in_team(user):
return user.tid is not None and user.tid >= 0
def is_logged_in():
if not("sid" in session and "username" in session): return False
sid = session["sid"]
@ -320,9 +301,30 @@ def is_logged_in():
if token.ua != useragent: return False
return True
def get_user(username=None, username_lower=None, email=None, uid=None, reset_token=None):
match = {}
if username != None:
match.update({ "username": username })
elif username_lower != None:
match.update({ "username_lower": username_lower })
elif uid != None:
match.update({ "uid": uid })
elif email != None:
match.update({ "email": email })
elif is_logged_in():
match.update({ "username": session["username"] })
elif reset_token != None:
match.update({ "reset_token": reset_token })
with app.app_context():
result = Users.query.filter_by(**match)
return result
def is_admin():
return is_logged_in() and "admin" in session and session["admin"]
def in_team(user):
return hasattr(user, "tid") and user.tid >= 0
def validate_captcha(form):
if "captcha_response" not in form:
return False

View file

@ -53,6 +53,15 @@
<div ng-show="config.navbar['competition_started']==true">
</div>
<li><a href="/chat">Chat</a></li>
<li class="dropdown" ng-show="config.navbar['competition']==true">
<a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Competition <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="/problems">Problems</a></li>
<li><a href="/programming">Programming</a></li>
<li><a href="/shell">Shell</a></li>
</ul>
</li>
<li ng-show="config.navbar['competition']!=true&&config.navbar['in_team']!=true"><a href="/findteam">Find Team</a></li>
<li class="dropdown" ng-show="config.navbar['admin']==true">
<a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Admin <span class="caret"></span></a>
<ul class="dropdown-menu">

View file

@ -2,4 +2,4 @@
<h1>404: Page Not Found</h1>
</div>
<p>Go away. Stop snooping around, you little creep.</p>
<p>Ok, ok, here's your flag: <code>bm8gZWFzdGVyIGVnZyBoZXJl</code>.</p>