О платформе Войти
← К списку версий
v0.94.1 06.10.2026 PATCH
Буфер писем: управление письмами прямо со страницы
ТЗ 279 «Буфер писем, управление». В буфере было видно, что письмо зависло, но нельзя было ничего с ним сделать: ни удалить, ни отредактировать — приходилось искать письмо в общем списке и терять его там. Теперь у каждого письма в буфере есть галочка и меню действий, а над списком — панель массовых действий: отметили пять ненужных писем и удалили их одним действием, не покидая страницу. Попутно исправлена ошибка, из-за которой после успешного массового удаления показывалось ложное сообщение об ошибке, и счётчики групп буфера перестали расходиться с тем, что на экране. Версия v0.94.1.
Что сделано
  • Галочка у каждого письма в буфере - Строка буфера перестала быть ссылкой целиком: теперь это контейнер из трёх частей — галочка слева, сама письмо в середине и меню действий справа. Так галочка не оказалась вложена внутрь ссылки, а по строке по-прежнему можно открыть письмо одним кликом.
  • Массовое удаление прямо из буфера - Отметили нужные письма галочками (или одной галочкой «выбрать все») — над списком появилась панель «Выбрано: N» с действием «Удалить выбранные». Оно спрятано в меню опасных действий и спрашивает подтверждение с числом писем. Отправляется тем же маршрутом `/admin/emails/bulk-action`, который уже обслуживал список и корзину, — новое действие на сервере не заводилось.
  • Меню действий у письма - В кебабе строки: «Смотреть», «Редактировать», «Копия» и «Удалить» с подтверждением. Удаление и одиночное, и массовое уводит письмо в корзину, откуда его можно восстановить.
  • Починен баг с ложной ошибкой - Функция обновления панели выбора была объявлена внутри изолированной функции и потому была недоступна обработчику массового действия. После успешного удаления код падал с ReferenceError, и человек вил «Не удалось выполнить операцию» — притом, что письма были удалены. Заодно панель теперь пересчитывается после того, как строки действительно исчезли, а не заранее.
  • Счётчики перестали расходиться с экраном - Счётчик группы показывает все письма группы, включая спрятанные за «Ещё N», поэтому пересчитать его по оставшимся строкам нельзя. Скрипт уменьшает его на число реально исчезнувших строк, а ответ сервера теперь содержит и счётчики групп буфера — плитки «Просрочено», «Сегодня», «Завтра» показывают новое число сразу, без перезагрузки. Когда группа опустела, показывается честная пустая строка.
  • Меню действий не обрезается - Блок группы перестал обрезать содержимое по своему краю: выпадающее меню в последней строке раньше могло уйти за границу блока.
Проверено
  • Тесты - tests/Feature/AdminPreparedEmailBufferViewTest.php: 17 тестов, 84 проверки — добавлены 6 тестов на управление из буфера: галочка и кебаб в строке, панель массовых действий, выбор не предлагает черновики и отправленные, пустой буфер не показывает панель, массовое удаление уводит письма в корзину и возвращает свежие счётчики групп, у групп есть данные для пересчёта на месте. Полный прогон платформы: 440 тестов, 439 пройдено, 1 условно пропущенный.
  • Существующие виды - «Список» и «Корзина» не сломаны: тот же обработчик массового действия используется всеми тремя видами, исправление ошибки проверило и их.
Результат
  • Письмо, которое зависло или не понравилось, можно убрать прямо из буфера: галочки, «выбрать все», кебаб у письма и массовое удаление с подтверждением. Счётчики групп и плитки совпадают с тем, что осталось на экране.