Проблема:
- Многодневные события отображались странно
- Не было визуальной связи между сегментами
- Закругления и отступы были некорректными
Решение:
1. Визуальные индикаторы продолжения
- Первый день: стрелка › справа
- Средние дни: стрелки ‹ › с обеих сторон
- Последний день: стрелка ‹ слева
- Цвет стрелок: белый с opacity 0.7
2. Правильные закругления углов
- Первый день: слева закруглено, справа прямо
- Средние дни: без закруглений
- Последний день: слева прямо, справа закруглено
- Один день: закруглено со всех сторон
3. Убраны лишние отступы
- margin-left/right: 0 для соединённых сегментов
- Увеличен padding для стрелок (+2px)
- Высота увеличена до 22px для читаемости
4. Улучшенное позиционирование
- Многодневные события в отдельном слое (z-index: 2)
- Абсолютное позиционирование для пересечений
- Правильные отступы между сегментами
Результат:
✅ Многодневные события визуально связаны
✅ Понятно где начало/середина/конец
✅ Стрелки указывают направление
✅ Сегменты плотно соединены
✅ Улучшенная читаемость
- Добавлено поле Employee.username для кэширования LDAP логина
- API endpoint обновлен: поддержка кэша и force_refresh параметра
- Новый дизайн: убран blur, добавлена иконка обновления
- Автоматическая загрузка при инициализации (из кэша или LDAP)
- Визуальная индикация источника данных (cached/fresh)
- Доступно всем пользователям без ограничений
- Добавлено поле с LDAP логином (sAMAccountName) в профиле сотрудника
- Реализован blur-эффект с раскрытием по клику для безопасности
- Создан API endpoint /api/v1/employees/{id}/ldap-info/ для получения LDAP данных
- Добавлен новый пермишен employees.view_ldap_info
- Стили: SCSS компонент _ldap-login.scss с анимациями и состояниями
- JavaScript: класс LdapLoginField с AJAX запросами и обработкой ошибок
- Доступ только для staff или пользователей с правом view_ldap_info
- Данные запрашиваются из Active Directory on-demand (не хранятся в БД)
- Исправлен PollSerializer для создания опросов с опциями
- Добавлено поле read_only_fields для корректной валидации
- Реализована отправка WebSocket уведомлений при создании опроса
- Исправлен импорт serialize_message из communications.serialization
- Добавлен обработчик poll_update в UserConsumer для WebSocket событий
- Исправлен эндпоинт /results/ для возврата user_voted_option_ids
- Добавлено поле voters в PollOptionSerializer для списка проголосовавших
- Реализована инициализация poll виджетов после рендера сообщений
- Добавлено игнорирование poll_update в notification-manager
- Исправлены стили для request list badges (height, word-break, flex)
- Восстановлены стили team-wheel (.wheel-focus, .scroll-arc) из git истории
- Реализовано отображение forwarded message info в messageRendererV2
- Множественные улучшения UI и UX для опросов
Fixes: создание опросов, голосование, отображение результатов, список проголосовавших