Приложение Activities, системы Карта Успеха
Материал из m6a
Версия от 14:17, 30 марта 2025; Vshpagin (обсуждение | вклад) (Новая страница: «== Общее описание == Приложение `activities` отвечает за управление мероприятиями (активностям…»)
Содержание
Общее описание
Приложение `activities` отвечает за управление мероприятиями (активностями) в системе "Карта успеха". Каждое мероприятие связано с задачей и имеет определенную продолжительность и временные интервалы.
Модель данных
Activity
- (Опишите поля модели `Activity`, например:
- `id` - Integer (Primary Key)
- `task` - ForeignKey (связь с моделью Task)
- `name` - CharField (название мероприятия)
- `description` - TextField (описание)
- `start_time` - DateTimeField (время начала)
- `end_time` - DateTimeField (время окончания)
- `duration` - IntegerField (длительность в минутах)
- `status` - CharField (статус выполнения)
)
ActivityManager
- (Опишите пользовательский менеджер для модели `Activity`, если он используется, например:
- Методы для фильтрации активностей по времени, статусу и т.д.
)
Функциональность
Основные операции
- Создание мероприятий
- Редактирование мероприятий
- Удаление мероприятий
- Просмотр списка мероприятий
- Просмотр деталей мероприятия
Управление временем
- Планирование мероприятий
- Фильтрация по времени
- Расчет длительности
- Управление интервалами
Дополнительные функции
- Зависимости между мероприятиями
- Массовое обновление интервалов
- Календарное представление
- Планировщик мероприятий
URL маршруты
- (Перечислите URL маршруты приложения и их соответствие представлениям, например:
- `/activities/` - Список мероприятий
- `/activities/<int:pk>/` - Детали мероприятия
- `/activities/create/` - Создание мероприятия
- `/activities/<int:pk>/update/` - Редактирование мероприятия
- `/activities/<int:pk>/delete/` - Удаление мероприятия
- `/activities/calendar/` - Календарное представление мероприятий
)
Формы
ActivityForm
- (Опишите поля формы `ActivityForm`, например:
- `name` - CharField (поле для ввода названия)
- `description` - TextField (поле для ввода описания)
- `task` - ForeignKey (выбор задачи)
- `start_time` - DateTimeField (поле для ввода времени начала)
- `end_time` - DateTimeField (поле для ввода времени окончания)
- `duration` - IntegerField (поле для ввода длительности)
)
Шаблоны
Основные шаблоны
- `activity_list.html` - список мероприятий
- `activity_detail.html` - детали мероприятия
- `activity_form.html` - форма создания/редактирования
- `update_interval.html` - форма обновления интервалов
Особенности шаблонов
- Фильтрация мероприятий
- Отображение длительности
- Управление зависимостями
- Навигация по хлебным крошкам
Тестирование
Модульные тесты
- Создание мероприятия
- Валидация времени
- Расчет длительности
- Управление зависимостями
Проверяемые аспекты
- Корректность данных
- Ограничения модели
- Валидация полей
- Связи с задачами
Безопасность
Защита
- Декоратор `@login_required`
- Валидация данных
- Проверка прав доступа
- CSRF защита
Валидация
- Проверка времени
- Валидация длительности
- Обязательные поля
- Форматы данных
Интеграция
С другими приложениями
- Связь с задачами
- Связь с ресурсами
- Интеграция с пользователями
Сигналы
- `post_save` - после сохранения
- Обновление прогресса задачи
- Расчет длительности мероприятия
Особенности реализации
Управление временем
- Планировщик мероприятий
- Фильтрация по времени
- Расчет длительности
- Управление интервалами
Отслеживание зависимостей
- Ведущие мероприятия
- Время на подготовку
- Связи между мероприятиями
- Обновление статусов
Дополнительные поля
- Описание
- Интервал времени
- Длительность
- Статус выполнения