BREAKING CHANGES: - Department.head автоматически очищается при увольнении руководителя - LDAP managedBy атрибут очищается при увольнении Fixes: - DN не перемещался при восстановлении сотрудника (Dismissed → Users) - DN не перемещался при увольнении сотрудника без отделов - Ошибка при увольнении из множественных отделов (двойной modify_dn) - Неправильные URL patterns для LDAP моделей в админке - Двойное кодирование DN в редиректе смены пароля Features: - Добавлен метод _ensure_ldap_dn_location для гарантированного перемещения DN - Добавлена проверка already_there в sync_department_member_to_ldap - Управление паролями LDAP пользователей через админку: * Кнопка смены пароля в карточке пользователя * Массовое действие смены пароля * Автосинхронизация с Django password hash - Автоочистка Department.head и LDAP managedBy при увольнении руководителя - Добавлены методы set_password() и change_password() в LdapUser Changed: - Переписан сигнал sync_department_member_to_ldap с реальными методами - Исправлены URL patterns: ldap_* → employees_*
Руководства разработчика
Активные гайды и инструкции для работы с проектом.
📚 Доступные руководства
Валидация и формы
- LIVE_VALIDATION_GUIDE.md - живая валидация форм
- NAME_VALIDATION.md - валидация имен
Миграция и обновление
- REALTIME_MIGRATION_GUIDE.md - миграция на realtime
- WEBSOCKET_UNIFIED_MIGRATION.md - унифицированный WebSocket
Быстрый старт
- MESSENGER_QUICKSTART.md - быстрый старт с мессенджером
UX и интерфейс
- RECIPIENT_PICKER_UX_IMPROVEMENTS.md - улучшения выбора получателей
Кэширование и оптимизация
- CACHE_OPTIMIZATION_SUMMARY.md - оптимизация кэширования
- CACHING_SETUP.md - настройка кэша
Безопасность
- IP_RESTRICTIONS_README.md - IP ограничения
- IP_REGISTRATION_RESTRICTIONS.md - ограничения регистрации
🎯 Использование
Эти гайды содержат актуальные инструкции для разработчиков. При внесении изменений в функционал - обновляйте соответствующие гайды.