Skip to content

Commit 30109ba

Browse files
committed
Additional information on training page
1 parent 44f1b39 commit 30109ba

File tree

4 files changed

+66
-29
lines changed

4 files changed

+66
-29
lines changed

app/api/trainings.py

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -207,40 +207,49 @@ def get_training_statistics(training_id: str) -> (dict, int):
207207
"""
208208
if not check_access({'_id': ObjectId(training_id)}):
209209
return {}, 404
210+
210211
training_db = TrainingsDBManager().get_training(training_id)
212+
213+
211214
presentation_file_id = training_db.presentation_file_id
212215
presentation_file_name = DBManager().get_file_name(presentation_file_id)
216+
213217
if presentation_file_name is None:
214218
return {'message': 'No presentation file with presentation_file_id = {}.'.format(presentation_file_id)}, 404
215-
presentation_record_file_id = training_db.presentation_record_file_id
216-
training_status = training_db.status
217-
audio_status = training_db.audio_status
218-
presentation_status = training_db.presentation_status
219+
220+
219221
slides_time = []
222+
audio_status = training_db.audio_status
223+
220224
if audio_status == AudioStatus.PROCESSED:
221225
# here we need to process audio_slides
222226
audio = Audio.from_json_file(DBManager().get_file(training_db.audio_id))
223227
slides_time = proccess_training_slides_info(audio)
224-
feedback = training_db.feedback
225-
criteria_pack_id = training_db.criteria_pack_id
226-
feedback_evaluator_id = training_db.feedback_evaluator_id
228+
229+
227230
remaining_processing_time_estimation, remaining_processing_time_estimation_code = \
228231
get_remaining_processing_time_by_training_id(training_id)
232+
229233
if remaining_processing_time_estimation['message'] != 'OK':
230234
return remaining_processing_time_estimation, remaining_processing_time_estimation_code
235+
236+
231237
return {
232238
'message': 'OK',
239+
'username': training_db.username,
240+
'full_name': training_db.full_name,
241+
'task_attempt_id': training_db.task_attempt_id,
233242
'presentation_file_id': str(presentation_file_id),
234243
'presentation_file_name': presentation_file_name,
235-
'presentation_record_file_id': str(presentation_record_file_id),
236-
'feedback': feedback,
237-
'training_status': training_status,
244+
'presentation_record_file_id': str(training_db.presentation_record_file_id),
245+
'feedback': training_db.feedback,
246+
'training_status': training_db.status,
238247
'audio_status': audio_status,
239-
'presentation_status': presentation_status,
248+
'presentation_status': training_db.presentation_status,
240249
'slides_time': slides_time,
241250
'remaining_processing_time_estimation': remaining_processing_time_estimation['processing_time_remaining'],
242-
'criteria_pack_id': criteria_pack_id,
243-
'feedback_evaluator_id': feedback_evaluator_id,
251+
'criteria_pack_id': training_db.criteria_pack_id,
252+
'feedback_evaluator_id': training_db.feedback_evaluator_id,
244253
}, 200
245254

246255

app/routes/trainings.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,13 @@ def view_training_statistics(training_id: str):
6666
verdict_str = ''
6767
training_status = training_statistics['training_status']
6868
training_status_str = TrainingStatus.russian.get(training_status, '')
69-
if training_status_str:
70-
training_status_str = '{}: {}'.format(t("Статус"), t(training_status_str))
69+
7170
audio_status = training_statistics['audio_status']
7271
audio_status_str = AudioStatus.russian.get(audio_status, '')
73-
if audio_status_str:
74-
audio_status_str = '{}: {}'.format(t("Статус"), t(audio_status_str))
72+
7573
presentation_status = training_statistics['presentation_status']
7674
presentation_status_str = PresentationStatus.russian.get(presentation_status, '')
77-
if presentation_status_str:
78-
presentation_status_str = '{}: {}'.format(t("Статус"), t(presentation_status_str))
75+
7976
remaining_processing_time_estimation = training_statistics['remaining_processing_time_estimation']
8077
if remaining_processing_time_estimation and remaining_processing_time_estimation > 0:
8178
remaining_processing_time_estimation_str = '{}: {} с.'.format(t("Ожидаемое время обработки"),
@@ -88,6 +85,9 @@ def view_training_statistics(training_id: str):
8885
'training/statistics.html',
8986
title='{}: {}'.format(t("Статистика тренировки с ID"), training_id),
9087
training_id=training_id,
88+
username=training_statistics['username'],
89+
full_name=training_statistics['full_name'],
90+
task_attempt_id=training_statistics['task_attempt_id'],
9191
presentation_file_id=training_statistics['presentation_file_id'],
9292
presentation_file_name=training_statistics['presentation_file_name'],
9393
presentation_record_file_id=training_statistics['presentation_record_file_id'],

app/static/css/index.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
text-align: center;
88
}
99

10-
.table > tr > td,
11-
.table > tr > th {
10+
.table tr > td,
11+
.table tr > th {
1212
border: 1px solid black;
1313
padding-left: 5px;
1414
padding-right: 5px;
@@ -17,7 +17,7 @@
1717
.button_action{
1818
padding: 10px 15px;
1919
background-color: #2f5cff;
20-
border: 0;http://localhost:5000/show_all_trainings/?username=testing_session_id
20+
border: 0;
2121
border-radius: 3px;
2222
color: white;
2323
font-size: 16px;

app/templates/training/statistics.html

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,42 @@
88
{% block content %}
99
<div class="base-container">
1010
<h3>{{ title }}</h3>
11+
<h3>Связанные попытки: <a href="/task_attempts/{{task_attempt_id}}">{{ task_attempt_id }}</a></h3>
12+
13+
<h3>Логин студента: {{ username }}</h3>
14+
<h3>{{ t("Дата создания тренировки") }}: {{ gen_time }}. </h3>
15+
16+
<h3>{{ remaining_processing_time_estimation }}</h3>
17+
18+
<table class="table">
19+
<tr>
20+
<th></th>
21+
<th>Id</th>
22+
<th>Статус</th>
23+
</tr>
24+
<tr>
25+
<td><b>Тренировка</b></td>
26+
<td>{{ training_id }}</td>
27+
<td>{{ training_status }}</td>
28+
</tr>
29+
<tr>
30+
<td><b>Презентация</b></td>
31+
<td>{{ presentation_file_id }}</td>
32+
<td>{{ presentation_status }}</td>
33+
</tr>
34+
<tr>
35+
<td><b>Аудиозапись</b></td>
36+
<td>{{ presentation_record_file_id }}</td>
37+
<td>{{ audio_status }}</td>
38+
</tr>
39+
</table>
40+
1141
<h3 id="feedback">{{ feedback }}</h3>
1242
<div id="criteria-results" style="margin-left: auto"></div>
1343
<div id="verdict"></div>
14-
<h3>{{ remaining_processing_time_estimation }}</h3>
15-
<h3>{{ t("id тренировки") }}: {{ training_id }}. {{ training_status }}. </h3>
16-
<h3>{{ t("Дата создания тренировки") }}: {{ gen_time }}. </h3>
17-
<h3>{{ t("id презентации") }}: {{ presentation_file_id }}. {{ presentation_status }}</h3>
18-
<h3>{{ t("Название презентации") }}: {{ presentation_file_name }}</h3>
19-
<h3>{{ t("id аудиозаписи") }}: {{ presentation_record_file_id }}. {{ audio_status }}</h3>
44+
45+
<h3>{{ t("Название презентации") }}: <a href="/api/files/presentations/{{ presentation_file_id }}">{{ presentation_file_name }}</a></h3>
46+
2047
<div id="next-training" style="visibility: hidden; font-size: 0">
2148
<h3 id="training-number"></h3>
2249
<h3 id="current-points"></h3>
@@ -32,8 +59,9 @@ <h3 id="current-points"></h3>
3259
<div>
3360
<canvas id="the-canvas" style="border: 1px solid #000000; direction: ltr;"></canvas>
3461
</div>
35-
62+
3663
<audio id="presentation-record" controls src="/api/files/presentation-records/{{ presentation_record_file_id }}/"></audio>
64+
3765
<table class="table transcription-table" id="per-slide-audio-transcription-table"></table>
3866
</div>
3967
<script src="{{ url_for('static', filename='js/libraries/jquery.min.js') }}"></script>

0 commit comments

Comments
 (0)