forked from CTFd/CTFd
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixing subdirectory deployment (CTFd#401)
* Fixing subdirectory deploy linking incorrectly (Closes CTFd#400) * Fix some admin panel CSS
- Loading branch information
Showing
11 changed files
with
109 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,118 +1,117 @@ | ||
{% extends "admin/base.html" %} | ||
|
||
{% block stylesheets %} | ||
<style> | ||
.btn-primary { | ||
background-color: #337ab7; | ||
} | ||
<style> | ||
.btn-primary { | ||
background-color: #337ab7; | ||
} | ||
|
||
.btn-danger { | ||
background-color: #d9534f; | ||
} | ||
</style> | ||
.btn-danger { | ||
background-color: #d9534f; | ||
} | ||
</style> | ||
{% endblock %} | ||
|
||
{% block content %} | ||
|
||
<div class="row"> | ||
<br> | ||
<h1>Incorrect Key Submissions</h1> | ||
<div id="confirm" class="modal fade" tabindex="-1"> | ||
<div class="modal-dialog"> | ||
<div class="modal-content"> | ||
<div class="modal-header text-center"> | ||
<h3>Delete Key</h3> | ||
</div> | ||
<div class="modal-body"> | ||
<form method="POST" action=""> | ||
<input id="nonce" type="hidden" name="nonce" value="{{ nonce }}"> | ||
<div class="small-6 small-centered text-center columns"> | ||
<p>Are you sure you want to delete incorrect key submission for team: <strong | ||
id="confirm-team-name"></strong> in challenge: <strong | ||
id="confirm-chal-name"></strong>?</p> | ||
<a onclick="$('#confirm').modal('hide')" class="btn btn-primary">No</a> | ||
<button class="btn btn-danger" id="delete-solve" type="button">Yes</button> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<table id="teamsboard" class="table table-striped"> | ||
<thead> | ||
<tr> | ||
<td class="text-center"><b>Team</b> | ||
</td> | ||
<td class="text-center"><b>Challenge</b> | ||
</td> | ||
<td class="text-center"><b>Date</b> | ||
</td> | ||
<td class="text-center"><b>Submitted Key</b> | ||
</td> | ||
<td class="text-center"><b>Delete</b> | ||
</td> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for wrong_key in wrong_keys %} | ||
<tr> | ||
<td class="text-center team" id="{{ wrong_key.teamid }}"><a href="{{ request.script_root }}/admin/team/{{ wrong_key.teamid }}">{{ wrong_key.team_name }}</a> | ||
<td class="text-center chal" id="{{ wrong_key.chalid }}">{{ wrong_key.chal_name }}</td> | ||
<td class="text-center solve-time"><script>document.write( moment({{ wrong_key.date|unix_time_millis }}).local().format('MMMM Do, h:mm:ss A'))</script></td> | ||
<td class="text-center flag" id="{{ wrong_key.id }}">{{ wrong_key.flag }}</td> | ||
<td class="text-center"><i class="fa fa-times"></i></td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% if pages > 1 %} | ||
<div class="text-center">Page | ||
<br> | ||
{% if curr_page != 1 %}<a href="{{ request.script_root }}/admin/wrong_keys/{{ curr_page-1 }}"><<<</a>{% endif %} | ||
{% for page in range(1, pages + 1) %} | ||
{% if curr_page != page %} | ||
<a href="{{ request.script_root }}/admin/wrong_keys/{{ page }}">{{ page }}</a> | ||
{% else %} | ||
<b>{{ page }}</b> | ||
{% endif %} | ||
{% endfor %} | ||
{% if curr_page != pages %}<a href="{{ request.script_root }}/admin/wrong_keys/{{ curr_page+1 }}">>>></a>{% endif %} | ||
<a href="{{ request.script_root }}"> | ||
</div> | ||
{% endif %} | ||
<h1>Incorrect Key Submissions</h1> | ||
<div id="confirm" class="modal fade" tabindex="-1"> | ||
<div class="modal-dialog"> | ||
<div class="modal-content"> | ||
<div class="modal-header text-center"> | ||
<h3>Delete Key</h3> | ||
</div> | ||
<div class="modal-body"> | ||
<form method="POST" action=""> | ||
<input id="nonce" type="hidden" name="nonce" value="{{ nonce }}"> | ||
<div class="small-6 small-centered text-center columns"> | ||
<p>Are you sure you want to delete incorrect key submission for team: <strong | ||
id="confirm-team-name"></strong> in challenge: <strong | ||
id="confirm-chal-name"></strong>?</p> | ||
<a onclick="$('#confirm').modal('hide')" class="btn btn-primary">No</a> | ||
<button class="btn btn-danger" id="delete-solve" type="button">Yes</button> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<table id="teamsboard" class="table table-striped"> | ||
<thead> | ||
<tr> | ||
<td class="text-center"><b>Team</b> | ||
</td> | ||
<td class="text-center"><b>Challenge</b> | ||
</td> | ||
<td class="text-center"><b>Date</b> | ||
</td> | ||
<td class="text-center"><b>Submitted Key</b> | ||
</td> | ||
<td class="text-center"><b>Delete</b> | ||
</td> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
{% for wrong_key in wrong_keys %} | ||
<tr> | ||
<td class="text-center team" id="{{ wrong_key.teamid }}"><a href="{{ request.script_root }}/admin/team/{{ wrong_key.teamid }}">{{ wrong_key.team_name }}</a> | ||
<td class="text-center chal" id="{{ wrong_key.chalid }}">{{ wrong_key.chal_name }}</td> | ||
<td class="text-center solve-time"><script>document.write( moment({{ wrong_key.date|unix_time_millis }}).local().format('MMMM Do, h:mm:ss A'))</script></td> | ||
<td class="text-center flag" id="{{ wrong_key.id }}">{{ wrong_key.flag }}</td> | ||
<td class="text-center"><i class="fa fa-times"></i></td> | ||
</tr> | ||
{% endfor %} | ||
</tbody> | ||
</table> | ||
{% if pages > 1 %} | ||
<div class="text-center">Page | ||
<br> | ||
{% if curr_page != 1 %}<a href="{{ request.script_root }}/admin/wrong_keys/{{ curr_page-1 }}"><<<</a>{% endif %} | ||
{% for page in range(1, pages + 1) %} | ||
{% if curr_page != page %} | ||
<a href="{{ request.script_root }}/admin/wrong_keys/{{ page }}">{{ page }}</a> | ||
{% else %} | ||
<b>{{ page }}</b> | ||
{% endif %} | ||
{% endfor %} | ||
{% if curr_page != pages %}<a href="{{ request.script_root }}/admin/wrong_keys/{{ curr_page+1 }}">>>></a>{% endif %} | ||
<a href="{{ request.script_root }}"> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock %} | ||
|
||
{% block scripts %} | ||
<script src="{{ request.script_root }}/themes/admin/static/js/utils.js"></script> | ||
<script> | ||
$('#delete-solve').click(function (e) { | ||
e.preventDefault(); | ||
var solve = $('#confirm input[name="solve"]').val(); | ||
$.post($('#confirm form').attr('action'), $('#confirm form').serialize(), function (data) { | ||
var data = $.parseJSON(JSON.stringify(data)); | ||
if (data == "1") { | ||
location.reload() | ||
} | ||
}) | ||
}); | ||
<script src="{{ request.script_root }}/themes/admin/static/js/utils.js"></script> | ||
<script> | ||
$('#delete-solve').click(function (e) { | ||
e.preventDefault(); | ||
var solve = $('#confirm input[name="solve"]').val(); | ||
$.post($('#confirm form').attr('action'), $('#confirm form').serialize(), function (data) { | ||
var data = $.parseJSON(JSON.stringify(data)); | ||
if (data == "1") { | ||
location.reload() | ||
} | ||
}) | ||
}); | ||
|
||
function load_confirm_modal(key_id, team_name, chal_name) { | ||
var modal = $('#confirm') | ||
modal.find('#confirm-team-name').text(team_name); | ||
modal.find('#confirm-chal-name').text(chal_name); | ||
$('#confirm form').attr('action', '{{ request.script_root }}/admin/wrong_keys/' + key_id + '/delete'); | ||
$('#confirm').modal('show'); | ||
} | ||
function load_confirm_modal(key_id, team_name, chal_name) { | ||
var modal = $('#confirm') | ||
modal.find('#confirm-team-name').text(team_name); | ||
modal.find('#confirm-chal-name').text(chal_name); | ||
$('#confirm form').attr('action', '{{ request.script_root }}/admin/wrong_keys/' + key_id + '/delete'); | ||
$('#confirm').modal('show'); | ||
} | ||
|
||
$('.fa-times').click(function () { | ||
var elem = $(this).parent().parent(); | ||
var chal = elem.find('.chal').attr('id'); | ||
var chal_name = elem.find('.chal').text().trim(); | ||
var team = elem.find('.team').attr('id'); | ||
var team_name = elem.find('.team').text().trim(); | ||
var key_id = elem.find('.flag').attr('id'); | ||
load_confirm_modal(key_id, team_name, chal_name); | ||
}); | ||
</script> | ||
$('.fa-times').click(function () { | ||
var elem = $(this).parent().parent(); | ||
var chal = elem.find('.chal').attr('id'); | ||
var chal_name = elem.find('.chal').text().trim(); | ||
var team = elem.find('.team').attr('id'); | ||
var team_name = elem.find('.team').text().trim(); | ||
var key_id = elem.find('.flag').attr('id'); | ||
load_confirm_modal(key_id, team_name, chal_name); | ||
}); | ||
</script> | ||
{% endblock %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters