lizerk 540e295ef4 feat: Fix LDAP DN bugs + add password management in admin
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_*
2026-03-23 20:32:39 +03:00
..

Руководства разработчика

Активные гайды и инструкции для работы с проектом.

📚 Доступные руководства

Валидация и формы

  • 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 - ограничения регистрации

🎯 Использование

Эти гайды содержат актуальные инструкции для разработчиков. При внесении изменений в функционал - обновляйте соответствующие гайды.