Приложение Report, системы Карта Успеха — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (Новая страница: «== Общее описание == Приложение `report` отвечает за генерацию отчетов по различным аспектам…») |
Vshpagin (обсуждение | вклад) (→URL маршруты) |
||
Строка 31: | Строка 31: | ||
== URL маршруты == | == URL маршруты == | ||
− | + | /report/ | |
− | + | ├── '' # Отчет по категориям | |
− | + | ├── 'life_need_report/<int:category_id>/' # Отчет по жизненным потребностям | |
− | + | ├── 'goal_report/<int:life_need_id>/' # Отчет по целям | |
− | + | ├── 'project_report/<int:goal_id>/' # Отчет по проектам | |
− | + | └── 'task_report/<int:project_id>/' # Отчет по задачам | |
− | + | ||
== Шаблоны == | == Шаблоны == |
Текущая версия на 14:24, 30 марта 2025
Содержание
Общее описание
Приложение `report` отвечает за генерацию отчетов по различным аспектам системы "Карта успеха". Оно позволяет анализировать время, затраченное на различные активности, сгруппированные по категориям, жизненным потребностям, целям, проектам и задачам.
Структура отчетов
Иерархия отчетов
- Отчет по категориям (верхний уровень)
- Отчет по жизненным потребностям
- Отчет по целям
- Отчет по проектам
- Отчет по задачам (нижний уровень)
Временные периоды
- Отчет за день
- Отчет за неделю
- Отчет за месяц
Функциональность
Основные функции
- Генерация отчетов по времени
- Фильтрация по временным периодам
- Расчет общей продолжительности
- Группировка по уровням иерархии
Особенности реализации
- Учет часовых поясов
- Агрегация данных
- Форматирование времени
- Навигация между отчетами
URL маршруты
/report/ ├── # Отчет по категориям ├── 'life_need_report/<int:category_id>/' # Отчет по жизненным потребностям ├── 'goal_report/<int:life_need_id>/' # Отчет по целям ├── 'project_report/<int:goal_id>/' # Отчет по проектам └── 'task_report/<int:project_id>/' # Отчет по задачам
Шаблоны
Основные шаблоны
- `category_report.html` - отчет по категориям
- `life_need_report.html` - отчет по жизненным потребностям
- `goal_report.html` - отчет по целям
- `project_report.html` - отчет по проектам
- `task_report.html` - отчет по задачам
Особенности шаблонов
- Навигация по хлебным крошкам
- Фильтры по времени
- Табличное представление данных
- Форматирование чисел
Тестирование
Модульные тесты
- Проверка шаблонов
- Проверка представлений
- Проверка данных
- Проверка навигации
Проверяемые аспекты
- Корректность отображения
- Наличие данных
- Форматирование
- Навигация
Безопасность
Защита
- Проверка прав доступа
- Валидация данных
- Безопасная обработка запросов
Валидация
- Проверка существования объектов
- Валидация параметров
- Обработка ошибок
Интеграция
С другими приложениями
- Связь с активностями
- Связь с задачами
- Связь с проектами
- Связь с целями
Особенности интеграции
- Использование `select_related`
- Оптимизация запросов
- Кэширование данных
Особенности реализации
Работа с временем
- Учет часовых поясов
- Форматирование дат
- Расчет периодов
- Агрегация времени
Обработка данных
- Группировка по уровням
- Расчет итогов
- Форматирование результатов
- Навигация между отчетами
Оптимизация
- Эффективные запросы
- Кэширование
- Пагинация
- Ленивая загрузка