easyctf-2017/web/pages/team.html
2016-03-12 01:34:26 -06:00

224 lines
No EOL
9 KiB
HTML

<style>
.editable {
outline: none;
border: 1px solid rgba(0, 0, 0, 0);
}
.editable:hover {
border: 1px solid #999;
}
.editable:focus {
border: 1px solid #999;
background-color: #FFF;
}
.padded {
display: inline-block;
padding: 15px;
}
</style>
<div ng-show="team['tid'] >= 0">
<div class="jumbotron">
<center>
<div ng-show="team['in_team']==true">
<div ng-show="team['is_owner']==true">
<h1><span data-toggle="tooltip" data-placement="top" title="Click to edit team name." id="teamname_edit" class="padded editable" contenteditable>{{ team['teamname'] }}</span></h1>
<h4><i class="fa fa-fw fa-university"></i> <span data-toggle="tooltip" data-placement="top" title="Click to edit school." id="school_edit" class="padded editable" contenteditable>{{ team['school'] || 'Add School' }}</span></h4>
</div>
<div ng-show="team['is_owner']==false">
<h1><span class="padded">{{ team['teamname'] }}</span></h1>
<h4><i class="fa fa-fw fa-university"></i> <span class="padded">{{ team['school'] || 'Unknown Affiliation' }}</span></h4>
</div>
<div class="row">
<div class="label label-success">
<i class="fa fa-fw fa-flag"></i>
I'm in the team!
</div>
<div class="label label-warning" ng-show="team['observer']==true">
<i class="fa fa-fw fa-globe"></i>
OBSERVER
</div>
</div>
</div>
<div ng-show="team['in_team']!=true">
<h1><span class="padded">{{ team['teamname'] }}</span></h1>
<h4><i class="fa fa-fw fa-university"></i> <span class="padded">{{ team['school'] || 'Unknown Affiliation' }}</span></h4>
<div class="row">
<div class="label label-warning" ng-show="team['observer']==true">
<i class="fa fa-fw fa-globe"></i>
OBSERVER
</div>
</div>
</div>
</center>
</div>
<div class="row">
<div class="col-sm-3 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Team Members</h4>
</div>
<div class="list-group">
<div class="list-group-item" ng-repeat="member in team['members']">
<h4 class="list-group-item-heading" style="display:inline-block;">{{ member['name'] }}</h4>
<div class="label label-info" ng-show="member['captain']==true">Owner</div>
<p class="list-group-item-text"><a href="/profile/{{ member['username'] }}">@{{ member['username'] }}</a></p>
</div>
</div>
<div class="panel-footer" ng-show="team['is_owner']==true">
<form id="add_member" onsubmit="add_member(); return false;" style="margin: 0;">
<div class="row">
<div class="col-xs-12">
<div class="input-group">
<input type="text" class="form-control" id="new_member" name="new_member" placeholder="Add member..." autocomplete="off">
<span class="input-group-btn">
<button class="btn btn-success" type="submit">&nbsp;<i class="fa fa-fw fa-plus"></i>&nbsp;</button>
</span>
</div>
</div>
</div>
</form>
</div>
<div class="panel-footer" ng-show="team['in_team']!=true && config.navbar['logged_in']==true">
<div class="row">
<div class="col-xs-12">
<a ng-href="javascript:request_invitation({{ team['tid'] }});" class="btn btn-primary col-xs-12" ng-show="team['invited']!=true && team['requested']!=true"><i class="fa fa-fw fa-plus"></i> Join this team</a>
<a class="btn btn-primary col-xs-12 disabled" ng-show="team['invited']!=true && team['requested']==true"><i class="fa fa-fw fa-check"></i> Sent Request</a>
<a ng-href="javascript:accept_invitation({{ team['tid'] }});" class="btn btn-success col-xs-12" ng-show="team['invited']==true"><i class="fa fa-fw fa-check"></i> Accept Invitation</a>
</div>
</div>
</div>
</div>
<div class="panel panel-default" ng-show="team['is_owner']==true && team['pending_invitations'].length > 0">
<div class="panel-heading">
<h4 class="panel-title">Pending Invitations</h4>
</div>
<div class="list-group">
<div class="list-group-item" ng-repeat="member in team['pending_invitations']" href="/profile/{{ member['username'] }}">
<a class="badge" ng-href="javascript:rescind_invitation({{ member['uid'] }});"><i class="fa fa-fw fa-times"></i></a>
<h4 class="list-group-item-heading">{{ member['name'] }}</h4>
<p class="list-group-item-text"><a href="/profile/{{ member['username'] }}">@{{ member['username'] }}</a></p>
</div>
</div>
</div>
<div class="panel panel-default" ng-show="team['is_owner']==true && team['invitation_requests'].length > 0">
<div class="panel-heading">
<h4 class="panel-title">Invitation Requests</h4>
</div>
<div class="list-group">
<div class="list-group-item" ng-repeat="member in team['invitation_requests']" href="/profile/{{ member['username'] }}">
<a class="badge" ng-href="javascript:accept_invitation_request({{ member['uid'] }});"><i class="fa fa-fw fa-check"></i></a>
<h4 class="list-group-item-heading">{{ member['name'] }}</h4>
<p class="list-group-item-text"><a href="/profile/{{ member['username'] }}">@{{ member['username'] }}</a></p>
</div>
</div>
</div>
</div>
<div class="col-sm-9 col-xs-12">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#activity" aria-controls="activity" role="tab" data-toggle="tab">Activity</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="profile">
</div>
<div role="tabpanel" class="tab-pane" id="activity">
</div>
</div>
</div>
</div>
</div>
<div ng-show="!(team['tid'] >= 0) && config.navbar['logged_in']==true">
<div class="page-header">
<h1>Team</h1>
</div>
<div class="row">
<div class="col-md-6">
<div class="page-header">
<h3>New Team</h3>
</div>
<p>To participate in EasyCTF, you must be on a <b>team</b>. If you'd like to go solo, just create a team by yourself. Read about team eligibility in the <a href="/rules">rules</a>.</p>
<form class="form-horizontal" onsubmit="create_team(); return false;" id="create_team">
<fieldset>
<div id="create_team_msg"></div>
</fieldset>
<fieldset class="container-fluid">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title">Create a Team</h2>
</div>
<div class="panel-body">
<form class="form-horizontal" onsubmit="login_form(); return false;" id="login_form">
<fieldset>
<div id="login_msg"></div>
</fieldset>
<fieldset class="container-fluid">
<div class="row">
<div class="col-sm-12 form-group">
<label class="col-sm-12" for="teamname"><small>Team Name</small></label>
<div class="col-sm-12">
<input class="form-control" type="text" required name="teamname" id="teamname" placeholder="Create a team name..." autocomplete="off" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<label class="col-sm-12" for="school"><small>School Name</small></label>
<div class="col-sm-12">
<input class="form-control" type="text" required name="school" id="school" placeholder="School Name" autocomplete="off" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<center>
<input type="submit" class="btn btn-success btn-lg" value="Create Team" />
</center>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</fieldset>
</form>
</div>
<div class="col-md-6">
<div class="page-header">
<h3>Invitations</h3>
</div>
<p ng-show="team['invitations'].length==0">You need an invitation to join another team. If you'd like to request to be a member of their team, go to their team page and click the Request button.</p>
<div ng-show="team['invitations'].length>0" class="list-group">
<div class="list-group-item" ng-repeat="invitation in team['invitations']">
<a ng-href="/team/{{ invitation['team'] }}">{{ invitation['team'] }}</a>
<a ng-href="javascript:accept_invitation({{ invitation['tid'] }});" class="badge">Accept &raquo;</a>
</div>
</div>
</div>
</div>
</div>
<div ng-show="!(team['tid'] >= 0) && config.navbar['logged_in']!=true">
<div class="page-header">
<h1>Team Not Found</h1>
</div>
<p>The team you were looking for doesn't exist. Check to make sure you've spelled the name right.</p>
</div>
<script type="text/javascript">
$("#teamname_edit").on("keypress", function(e) {
if (e.keyCode == 13) {
e.preventDefault();
}
});
$(document).ready(function() {
$("[data-toggle=tooltip]").tooltip();
$("ul[role=tablist]").tab();
$("a[role=tab]").click(function(e) {
e.preventDefault();
});
});
</script>