BREAKING CHANGES: - Removed OU=Roles from LDAP structure, role groups now created directly in department OU - Role groups use ROLE_<Name> naming convention (similar to DEP_, POS_) New features: - RoleAssignment model: allows assigning roles to ANY employee, not just department members - New API endpoints: /assign/, /revoke/, /assignments/ on DepartmentRoleViewSet - Permission system updated: has_dept_perm() checks RoleAssignment first - Employee profile shows external roles with 'внешняя роль' badge - Employee list filter includes role-only employees with department_relation field - Role assignment modal now searches all employees via AJAX LDAP changes: - _ensure_role_group(): creates ROLE_<Name> group in department OU - assign_role(), revoke_role(): manage RoleAssignment + LDAP sync - rename_role_group(), delete_role_group(): full lifecycle support - Removed all references to OU=Roles Migrations: - 0035: Create RoleAssignment model - 0036: Data migration from EmployeeDepartment.role Tests: - 7 new tests for role assignment (all passing) Docs: - 9 detailed reports on architecture, models, API, LDAP, tests
Backend Documentation
Техническая документация по backend части проекта EUSRR.
📁 Структура
guides/
Руководства разработчика - инструкции по работе с различными модулями
- CONTEXT_MENU_GUIDE.md - работа с контекстными меню
- REACTIONS_GUIDE.md - система реакций
troubleshooting/
Отладка и исправления - диагностика проблем
- CONTEXT_MENU_DEBUG.md - отладка контекстного меню
- MESSAGE_DELETE_DEBUG.md - отладка удаления сообщений
- MESSAGE_DELETE_FIX.md - исправление проблем удаления
architecture/
Архитектурная документация - устройство систем
- API_ANALYSIS.md - анализ API
- API_REFACTORING_SUMMARY.md - результаты рефакторинга API
- VIEWSET_ANALYSIS.md - анализ ViewSet
testing/
Тестирование - планы и результаты тестирования
- POSITION_PERMISSIONS_TESTING.md - тестирование прав должностей
- REQUESTS_API_TESTING_PLAN.md - план тестирования API заявок
- TEST_IMAGE_SCRIPTS.md - скрипты тестирования изображений
reports/
Отчеты и аудиты - результаты проверок и реорганизаций
- BACKEND_CLEANUP_AUDIT.md - аудит очистки backend/
- REQUESTS_API_TESTING_PLAN.md - план тестирования API заявок
- TEST_IMAGE_SCRIPTS.md - скрипты тестирования изображений
🔍 Навигация
По типу задачи:
- Как работает X? → architecture/
- Как настроить Y? → guides/
- Проблема с Z → troubleshooting/
- Как тестировать? → testing/
Связанная документация:
- /docs/ - общая документация проекта
- backend/scripts/ - вспомогательные скрипты
📝 Правила
Добавление новой документации:
- Guides - постоянные инструкции, reference материалы
- Troubleshooting - временные документы, после решения → удалить
- Architecture - долгосрочная документация, обновлять при изменениях
- Testing - планы тестирования, после завершения → архивировать
Формат файлов:
# Заголовок
**Дата:** DD.MM.YYYY
**Автор:** Имя
**Статус:** Актуально / Устарело / В процессе
## Описание
...
## Использование
...
## Примеры
...
🔄 Жизненный цикл
- Создание - документируйте новую фичу/проблему
- Актуализация - обновляйте при изменениях
- Архивация - после завершения/решения
- Удаление - если больше не актуально
Поддерживайте документацию актуальной! 📚