Implement competition start and end times
This commit is contained in:
parent
b428bef808
commit
d5b8be16c0
|
@ -132,7 +132,7 @@ def user_status():
|
||||||
"success": 1,
|
"success": 1,
|
||||||
"logged_in": logged_in,
|
"logged_in": logged_in,
|
||||||
"admin": is_admin(),
|
"admin": is_admin(),
|
||||||
"competition": is_admin(),
|
"competition": utils.is_ctf_time(),
|
||||||
"in_team": in_team(get_user().first()),
|
"in_team": in_team(get_user().first()),
|
||||||
"username": session["username"] if logged_in else "",
|
"username": session["username"] if logged_in else "",
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,3 +100,19 @@ def generate_identicon(email, filename):
|
||||||
|
|
||||||
image.save(open("pfp/%s.png" % filename, "w"), "PNG")
|
image.save(open("pfp/%s.png" % filename, "w"), "PNG")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def is_ctf_time():
|
||||||
|
import settings
|
||||||
|
start = settings.get("ctf_begin")
|
||||||
|
end = settings.get("ctf_end")
|
||||||
|
start = [int(start), 0][start is None]
|
||||||
|
end = [int(end), 0][end is None]
|
||||||
|
time = get_time_since_epoch()
|
||||||
|
|
||||||
|
if start and end:
|
||||||
|
return start < time < end
|
||||||
|
|
||||||
|
if start < time and end == 0:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
|
@ -50,10 +50,10 @@
|
||||||
<li><a href="/login">Login</a></li>
|
<li><a href="/login">Login</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right" ng-show="config.navbar['logged_in']==true">
|
<ul class="nav navbar-nav navbar-right" ng-show="config.navbar['logged_in']==true">
|
||||||
<div ng-show="config.navbar['competition_started']==true">
|
<div ng-show="config.navbar['competition']==true">
|
||||||
</div>
|
</div>
|
||||||
<li><a href="/chat">Chat</a></li>
|
<li><a href="/chat">Chat</a></li>
|
||||||
<li class="dropdown" ng-show="config.navbar['competition']==true">
|
<li class="dropdown" ng-show="config.navbar['competition']==true||config.navbar['admin']==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>
|
<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">
|
<ul class="dropdown-menu">
|
||||||
<li><a href="/problems">Problems</a></li>
|
<li><a href="/problems">Problems</a></li>
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
<div ng-if="settings">
|
<div ng-if="settings">
|
||||||
<div id="settings_msg"/>
|
<div id="settings_msg"/>
|
||||||
<form class="form-horizontal" onsubmit="update_settings(); return false;" id="update_settings_form">
|
<form class="form-horizontal" onsubmit="update_settings(); return false;" id="update_settings_form">
|
||||||
<input class="form-control" name="ctf_begin" value="{{ settings['ctf_begin'] }}"/>
|
<input class="form-control" name="ctf_begin" placeholder="CTF Start time (seconds)" value="{{ settings['ctf_begin'] }}" required/>
|
||||||
<br>
|
<br>
|
||||||
<input class="form-control" name="ctf_end" value="{{ settings['ctf_end'] }}"/>
|
<input class="form-control" name="ctf_end" placeholder="CTF End time (seconds)" value="{{ settings['ctf_end'] }}"required/>
|
||||||
<br>
|
<br>
|
||||||
<input type="submit" class="btn btn-success" value="Update"/>
|
<input type="submit" class="btn btn-success" value="Update"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Reference in a new issue