lizerk
18ca956348
feat(groups): добавить Django сигналы для LDAP синхронизации + упростить GroupViewSet
Создан signals_group.py:
- post_save(Group): создание/обновление LdapGroup (cn, description, scope, security)
- post_delete(Group): удаление LdapGroup
- m2m_changed(Group.user_set): синхронизация участников (add/remove/clear)
Упрощен GroupViewSet (641 → 339 строк, -47%):
- create(): только создание в БД + временные атрибуты для сигнала
- partial_update(): передача _ldap_old_name и _ldap_description в сигнал
- destroy(): базовый ViewSet метод
- list(): удален sync_groups_catalog (должен быть в фоне/cron)
- rename: упрощен до установки _ldap_old_name и save()
- set_description: упрощен до установки _ldap_description и save()
- members: только БД запрос (без LDAP)
- add_members: user_set.add(), сигнал синхронизирует в LDAP
- remove_members: user_set.remove(), сигнал синхронизирует в LDAP
- replace_members: user_set.set(), сигнал синхронизирует в LDAP
Удалено:
- Все if ldap_enabled блоки
- Прямые вызовы DirectoryService в ViewSet
- Rollback логика при ошибках LDAP
- Helper методы: _resolve_group_dn, _members_payload_to_dns, _dns_to_users
- Импорты: DirectoryService, settings, transaction, LdapSyncState, _is_ldap_enabled
Зарегистрирован сигнал в employees/apps.py
2026-03-18 18:11:54 +03:00
..
2026-03-18 18:11:54 +03:00
2026-03-18 16:48:30 +03:00
2026-03-18 16:47:04 +03:00
2026-03-16 18:21:24 +03:00
2026-03-12 16:12:17 +03:00
2026-03-12 15:58:49 +03:00
2026-03-18 18:11:54 +03:00
2026-03-18 13:42:32 +03:00
2026-03-12 15:58:49 +03:00
2026-03-10 13:18:57 +03:00
2026-02-17 18:32:30 +03:00
2026-03-13 12:17:40 +03:00
2026-03-10 12:38:39 +03:00
2026-03-11 15:34:51 +03:00
2026-03-18 10:16:21 +03:00
2026-03-11 13:37:44 +03:00
2026-03-18 15:46:23 +03:00
2026-03-10 13:18:57 +03:00
2026-03-11 23:56:41 +03:00
2026-03-11 15:49:23 +03:00
2026-03-18 15:46:23 +03:00
2025-07-30 08:15:53 +03:00
2025-09-03 17:17:44 +03:00
2025-07-30 08:15:53 +03:00
2026-02-17 18:34:16 +03:00
2026-02-24 15:40:50 +03:00
2026-03-05 11:49:55 +03:00
2026-03-18 13:42:32 +03:00
2026-03-11 15:34:51 +03:00