Spaces:
Runtime error
Runtime error
from aiogram import Router, F | |
from aiogram.types import Message, CallbackQuery | |
from aiogram.fsm.context import FSMContext | |
from app.database import requests as rq | |
from app.keyboards import admin_keyboards as kb | |
from app.database.requests import get_user_test_results, get_all_test_answers | |
from app.states import TestStates | |
from app.middleware.authentification import admin_check | |
router = Router() | |
async def name_provide(message: Message, state: FSMContext): | |
if not await admin_check(message, {}): | |
await message.answer("У вас нет доступа к админ-панели") | |
return | |
await state.set_state(TestStates.name_get) | |
await message.answer("Введите имя пользователя, результаты тестов которого хотите посмотреть. Для просмотра результатов теста пользователь должен быть зарегистрирован!") | |
async def show_user_results(message: Message, state: FSMContext): | |
results = await get_user_test_results(message.text) | |
if isinstance(results, str): | |
await message.answer(results, reply_markup=kb.admin_main) | |
return | |
if not results: | |
await message.answer( | |
"📊 У пользователя пока нет результатов тестов", | |
reply_markup=kb.admin_main | |
) | |
return | |
response = f"📋 Результаты тестов пользователя {message.text}:\n\n" | |
for result in results: | |
completed_date = result['completed_at'].strftime("%d.%m.%Y %H:%M") | |
response += ( | |
f"🔷 Тест: {result['test_name']}\n" | |
f"📅 Дата прохождения: {completed_date}\n" | |
f"📊 Набрано баллов: {result['score'] if result['score'] is not None else 'Нет баллов'}\n" | |
f"📝 Результат: {result['result'] if result['result'] else 'Не определен'}\n" | |
f"{'─' * 30}\n\n" | |
) | |
await message.answer( | |
response, | |
reply_markup=kb.admin_main, | |
parse_mode="HTML" | |
) | |
async def return_to_main(callback: CallbackQuery): | |
await callback.answer('Возвращаемся в меню') | |
await callback.message.answer('Здравствуйте! Что Вы хотите сделать?', reply_markup=kb.admin_main) |