apply languages

This commit is contained in:
Egor Matveev
2022-02-16 17:40:46 +03:00
parent 1e455346ff
commit 2948c8252e
39 changed files with 758 additions and 12 deletions

34
templates/checkers.html Normal file
View File

@@ -0,0 +1,34 @@
{% for checker in set.checkers.all %}
{% with status=checker.status %}
<form method="POST">
{% csrf_token %}
<input type="hidden" name="action" value="delete_checker">
<input type="hidden" name="checker_id" value="{{ checker.id }}">
<button type="button" class="btn btn-link" data-toggle="modal" data-target="#exampleCheckers{{ checker.id }}">{{ checker.name }}</button> <span class="badge badge-{% if status == 'Active' %}success{% else %}{% if status == 'Testing' %}info{% else %}danger{% endif %}{% endif %}">{{ status }}</span>{% if status != 'Testing' %}<button type="submit" class="btn btn-link" style="color: black;"><i class="fa fa-times"></i></button>{% endif %}<br>
</form>
{% endwith %}
<div class="modal fade" id="exampleCheckers{{ checker.id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitleCheckers{{ checker.id }}" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitleCheckers{{ checker.id }}">Токен {{ checker.name }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="container-fluid">
<div class="row">
<div class="col-12">
{{ checker.token }}
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal"><i class="fa fa-times-circle"></i> Закрыть</button>
</div>
</div>
</div>
</div>
{% endfor %}

View File

@@ -3,12 +3,25 @@
{% block title %}{{ set.name }}{% endblock %}
{% block scripts %}
var saved_data = "";
function handle(value) {
const elem = document.getElementById(value);
elem.hidden = !elem.hidden;
}
function doPoll() {
jQuery.get('/admin/checkers?set_id={{ set.id }}', function(data) {
var e = document.getElementById('checkers');
if (saved_data.length != data.length) {
saved_data = data;
e.innerHTML = data;
}
setTimeout(function() {doPoll()}, 2000);
})
}
{% endblock %}
{% block onload %}doPoll(){% endblock %}
{% block main %}
<form method="POST">
{% csrf_token %}
@@ -160,4 +173,37 @@
</form>
</div>
</div>
<hr><hr>
<h3>Чекеры</h3>
<div id="checkers"></div>
<button class="btn btn-light" data-toggle="modal" data-target="#exampleCheckers"><i class="fa fa-plus"></i> Добавить чекер</button>
<div class="modal fade" id="exampleCheckers" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitleCheckers" aria-hidden="true">
<div class="modal-dialog" role="document">
<form method="POST">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitleCheckers">Создать новый чекер</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="container-fluid">
<div class="row">
<div class="col-12">
{% csrf_token %}
<input type="hidden" name="action" value="new_checker">
<input type="text" name="name" placeholder="Имя чекера">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal"><i class="fa fa-times-circle"></i> Закрыть</button>
<button type="submit" class="btn btn-success"><i class="fa fa-plus-circle"></i> Создать</button>
</div>
</div>
</form>
</div>
</div>
{% endblock %}

View File

@@ -1,5 +1,7 @@
{% extends 'base_main.html' %}
{% load filters %}
{% block main %}
<h4>
<table class="table" style="width: 30%;">
@@ -16,7 +18,7 @@
Задача
</td>
<td>
<a href="/task?task_id={{ solution.task.id }}">{{ solution.task.name }}</a>
<a href="/task?{% if solution.set %}{% with settask=solution.set|settask:solution.task %}setTask_id={{ settask.id }}{% endwith %}{% else %}task_id={{ solution.task.id }}{% endif %}">{{ solution.task.name }}</a>
</td>
</tr>
<tr>