Задачи - oyboy/Jora GitHub Wiki

Описание

Модель Task представляет собой задачу, связанную с проектом. Задача содержит информацию о ее имени, описании, приоритете, статусе и других атрибутах.

Поля

  • id: Long - Уникальный идентификатор задачи (генерируется автоматически).
  • name: String - Название задачи (обязательное поле, максимум 50 символов).
  • description: String - Описание задачи (максимум 255 символов, необязательное поле).
  • priority: Priority - Приоритет задачи (по умолчанию LOW).
  • status: Status - Статус задачи (по умолчанию CREATED).
  • createdAt: LocalDateTime - Дата и время создания задачи.
  • deadline: LocalDateTime - Дата и время завершения задачи (необязательное поле).
  • project: Project - Проект, к которому относится задача.
  • userTasks: Set<UserTask> - Связь с пользователями, выполняющими задачу.
  • tags: List<Tag> - Список тегов, связанных с задачей.

Методы

  • convertToCalendarTask(): CalendarTaskDTO - Преобразует задачу в объект CalendarTaskDTO.
  • toString(): String - Возвращает строковое представление задачи.

Контроллер TaskController

Контроллер TaskController предоставляет функциональность для создания, редактирования и получения задач.

Методы

  • getProject: Получает проект по хешу. Используется для загрузки проекта в модель.
  • getTasksModel: Получает список задач проекта с возможностью фильтрации по дедлайну.
  • getUsersAndTasks: Возвращает список пользователей и связанных с ними задач.
  • getRole: Определяет роль текущего пользователя в проекте.
  • getUser: Получает информацию о текущем аутентифицированном пользователе.
  • getTasks: Отображает страницу с задачами проекта.
  • createTask: Создает новую задачу с проверкой на ошибки.
  • editTask: Загружает страницу редактирования задачи.
  • editTask: Обрабатывает редактирование задачи, проверяя ошибки.
  • setTag: Устанавливает тег для задачи.
  • joinToTask: Позволяет пользователю присоединиться к задаче.
  • sendHelp: Отправляет просьбу о помощи с задачей.

Контроллер TaskRestController

REST-контроллер TaskRestController предоставляет API для обновления статуса задач.

Методы

  • changeStatus: Обновляет статус задачи, переданной в теле запроса JSON.

Сервис TaskService

Сервис TaskService центральный компонент для управления логикой обработки задач. Он взаимодействует с репозиториями для выполнения операций с данными.

Методы

  • addTask: Добавляет новую задачу в проект и связывает ее с пользователем.
  • addUserToTask: Добавляет пользователя к задаче. Если пользователь уже присоединен, выбрасывается исключение UserAlreadyJoinedException.
  • getTaskById: Возвращает задачу по ее идентификатору.
  • findAllTasks: Получает все задачи для заданного проекта.
  • findTasksByTimeLine: Фильтрует задачи по дедлайну.
  • changeTaskFieldsAndSave: Обновляет поля существующей задачи и сохраняет изменения.
  • setTagToTask: Устанавливает или удаляет тег у задачи.
  • sendHelp: Отправляет просьбу о помощи назначенному модератору.
  • getAllTasksForUser: Получает все задачи, назначенные пользователю.
  • changeDate: Обновляет дату и дедлайн задачи.
  • changeStatus: Меняет статус задачи.

Скрипт для REST-контроллера

Скрипт использует jQuery для работы с задачами и обновления их статуса. Он обрабатывает события перетаскивания и отправляет асинхронные запросы на сервер для обновления статуса задач.

Функции

  • allowDrop: Разрешает возможность сбрасывания элемента.
  • drag: Обрабатывает событие перетаскивания элемента задачи.
  • drop: Обрабатывает событие сброса элемента задачи в новый контейнер и обновляет статус.
  • updateTaskStatus: Отправляет AJAX-запрос для обновления статуса задачи.
⚠️ **GitHub.com Fallback** ⚠️