Удаление в таск-трекере — это не только про «убрать с глаз долой». Часто за этим стоит риск потерять структуру: вложенные задачи, участников, права доступа, файлы и историю. В /task корзина решает эту проблему: удалённые объекты не исчезают навсегда сразу, а попадают в специальный раздел, откуда их можно восстановить в исходном виде. В этой статье разберём, как устроена корзина, чем отличается панель в шапке от полной страницы, что именно восстанавливается и какие сценарии она закрывает.
Живое демо /task
Ниже — интерактивная демонстрация /task: можно переключать виды, открывать задачи и пробовать действия. Посмотрите, как выглядит корзина и восстановление в реальном интерфейсе.
Зачем нужна корзина в таск-трекере
Корзина — это промежуточное хранилище для удалённых сущностей. В отличие от безвозвратного удаления, она даёт «период охлаждения», когда ошибку ещё можно исправить. В /task корзина работает на трёх уровнях: проект, раздел (группа задач) и отдельная задача. Удаление любого из них не ломает связи: дочерние элементы не теряются, а сохраняются вместе с родителем.
Типичные сценарии, где корзина спасает:
- Случайно удалили проект вместе с задачами и вложениями — можно вернуть всё одной операцией.
- Задачу удалил другой участник, а вы не успели посмотреть детали — восстановление вернёт и историю, и комментарии.
- Нужно скрыть раздел на время, но сохранить его структуру для будущего — удаление в корзину вместо архивации.
- Ошиблись с правами при удалении — при восстановлении права и участники возвращаются как были.
Без корзины такие ситуации требуют ручного воссоздания структуры, что долго и чревато ошибками. Корзина экономит время и снижает риск потери данных.
Как устроено удаление: проекты, разделы, задачи
В /task удаление всегда мягкое: объект помечается как удалённый и перемещается в корзину. При этом:
- Проект — удаляется вместе со всеми разделами, задачами, вложениями и настройками доступа. В корзине он отображается как единая сущность.
- Раздел — удаляется вместе с задачами, которые в него входят. Задачи не перемещаются в другие разделы, а сохраняют привязку к удалённому разделу.
- Задача — удаляется вместе с подзадачами, комментариями, вложениями и историей изменений.
Важно: если задача была частью зависимости (блокировала другую задачу или ждала завершения), при удалении связи сохраняются в корзине. При восстановлении они восстанавливаются, если объекты на другом конце связей всё ещё активны. Если связанная задача тоже удалена, связь восстановится после восстановления обоих объектов.
Что именно восстанавливается
Восстановление из корзины в /task возвращает объект в состояние, близкое к тому, что было на момент удаления. Восстанавливаются:
- Дерево — все дочерние задачи и подзадачи с их иерархией. Если вы удалили проект, вернутся все разделы и задачи внутри.
- Участники — список исполнителей, наблюдателей и ответственных. Права доступа также восстанавливаются: роли участников и настройки приватности.
- Вложения — файлы, прикреплённые к задачам и проекту, включая версии и комментарии к файлам.
- История и комментарии — хронология изменений, обсуждения в чате задачи, системные сообщения.
- Пользовательские поля — значения кастомных атрибутов, если они были заполнены.
Есть нюансы: если за время нахождения в корзине участник был удалён из системы или потерял доступ к проекту, при восстановлении его права могут быть скорректированы. Также, если задача была перемещена в другой проект перед удалением, восстановление вернёт её в исходный проект.
Панель в шапке и полная страница корзины
В /task корзина доступна в двух видах: компактная панель в шапке и полная страница. Панель удобна для быстрых операций: она показывает последние удалённые объекты и позволяет восстановить или удалить навсегда без перехода. Полная страница даёт расширенные возможности: фильтры по типу объекта, дате удаления, автору, а также массовые операции.
Панель в шапке
Открывается по клику на иконку корзины. Содержит список из последних 10–20 удалённых сущностей с указанием типа, названия и времени удаления. Действия: восстановить, удалить навсегда (с подтверждением). Подходит для ситуаций «ой, только что удалил — верни».
Полная страница
Доступна из панели по ссылке «Показать все» или через меню. Здесь есть:
- Фильтры: по типу (проект, раздел, задача), по дате удаления, по автору удаления.
- Поиск по названию.
- Массовое восстановление и массовое безвозвратное удаление.
- Информация о том, сколько дней объект ещё будет в корзине (срок хранения по умолчанию — 30 дней, но может настраиваться администратором).
Полная страница особенно полезна, когда нужно восстановить сложную структуру: вы видите, что именно удалено, и можете выбрать только нужные объекты.
Как восстановить: пошаговая инструкция
- Откройте корзину: нажмите на иконку в шапке /task или перейдите на полную страницу.
- Найдите нужный объект с помощью фильтров или поиска.
- Нажмите «Восстановить». Если удалён проект или раздел, система предложит восстановить всё дерево целиком или только выбранные элементы (при наличии такой настройки).
- Подтвердите действие. Объект вернётся в исходное место: проект — в список проектов, задача — в свой раздел.
- Проверьте, что участники и права на месте. Если что-то не так, обратитесь к администратору — история изменений сохранится.
Если объект был удалён навсегда (или срок хранения истёк), восстановление невозможно. Поэтому важно не затягивать с возвратом.
Плюсы корзины в /task
- Безопасность данных — случайное удаление не приводит к потере структуры и файлов.
- Сохранение связей — дерево, зависимости и права восстанавливаются автоматически.
- Гибкость — можно восстановить как отдельную задачу, так и целый проект с разделами.
- Контроль — полная страница с фильтрами и массовыми операциями упрощает управление корзиной.
- Прозрачность — видно, кто и когда удалил объект, что помогает в разборе инцидентов.
Корзина в /task — это не просто «мусорка», а полноценный инструмент управления жизненным циклом задач. Она снижает риск ошибок и делает работу команды спокойнее: даже если что-то удалено по ошибке, это легко исправить.
Комментарии
Пока нет комментариев — станьте первым.