|
|
53cba386e9
|
Secure optional LAN-only self-registration behind trusted proxies
Deploy production / deploy (push) Successful in 15m8s
|
2026-09-16 12:07:00 +03:00 |
|
lizerk
|
6cfbc03503
|
Upgrade push notifications and remove compatibility shim
|
2026-09-10 20:57:37 +03:00 |
|
lizerk
|
2768d2f1b3
|
Restore reliable chat realtime and media playback
Deploy production / deploy (push) Failing after 14m49s
|
2026-09-10 20:26:58 +03:00 |
|
|
|
4f6244ab1f
|
Fix CORP runtime errors and harden deployment and media access
Deploy production / deploy (push) Failing after 2s
|
2026-09-10 16:40:08 +03:00 |
|
lizerk
|
dac0234007
|
Enforce repository-wide code quality
|
2026-09-07 19:43:48 +03:00 |
|
lizerk
|
efd4a84c89
|
Update application functionality and supporting components
|
2026-09-07 16:59:38 +03:00 |
|
|
|
f2e85de672
|
Support unified LDAP, email, and phone login
|
2026-09-04 09:58:20 +03:00 |
|
|
|
cae8e97146
|
Add corporate OpenID Connect provider and browser sessions
|
2026-09-04 09:50:56 +03:00 |
|
lizerk
|
f4795922fe
|
Use historical earnings for vacation pay
|
2026-09-03 17:19:35 +03:00 |
|
lizerk
|
65c51b64e3
|
feat: add task execution secret skill
|
2026-08-26 11:20:06 +03:00 |
|
lizerk
|
205fd7252d
|
Update application features and supporting components
|
2026-08-19 12:09:01 +03:00 |
|
lizerk
|
bd515fd6d5
|
Harden commerce import reliability
|
2026-08-18 18:48:00 +03:00 |
|
lizerk
|
214323760b
|
Fix notification lifecycle and commerce task scheduling
|
2026-08-18 16:43:50 +03:00 |
|
lizerk
|
156b649b04
|
Complete commerce synchronization and realtime updates
|
2026-08-18 09:10:40 +03:00 |
|
lizerk
|
b622370067
|
Add continuous commerce synchronization
|
2026-08-17 19:31:56 +03:00 |
|
lizerk
|
9610980014
|
Add bulk MoySklad integration workflow
|
2026-08-17 19:20:53 +03:00 |
|
lizerk
|
a041d4844a
|
Add product-centric commerce analytics core
|
2026-08-17 17:16:42 +03:00 |
|
lizerk
|
3c5a8c87e2
|
Update application functionality and supporting components
|
2026-08-17 13:54:35 +03:00 |
|
lizerk
|
cca52d70d6
|
Refactor project structure and remove obsolete code
|
2026-08-15 11:16:50 +03:00 |
|
lizerk
|
aaa1da663c
|
refactor: unify observability and realtime updates
|
2026-08-14 22:49:20 +03:00 |
|
lizerk
|
37fd5efc33
|
feat(payroll): refine carryovers and period workflows
|
2026-08-12 13:03:15 +03:00 |
|
lizerk
|
6b0643eb75
|
feat(tasks): add automations and comment resources
|
2026-08-06 12:52:42 +03:00 |
|
lizerk
|
02311f5ead
|
refactor authentication session recovery
|
2026-08-06 09:27:15 +03:00 |
|
lizerk
|
8fd5ae1054
|
feat: expand document procurement and request workflows
|
2026-08-04 20:19:12 +03:00 |
|
lizerk
|
1295d24c86
|
feat(finance): expand payroll period workflows
|
2026-08-04 16:40:23 +03:00 |
|
lizerk
|
d55657f7c3
|
feat(finance): expand payroll management and projections
|
2026-07-20 17:12:42 +03:00 |
|
lizerk
|
716c8337de
|
feat(finance): add native payroll management
|
2026-07-20 14:00:15 +03:00 |
|
lizerk
|
1f18ab7848
|
feat(finance): simplify payroll administration for pilot
|
2026-07-18 00:00:54 +03:00 |
|
lizerk
|
bb1694c584
|
feat(finance): add payroll core and management workspace
|
2026-07-17 23:35:29 +03:00 |
|
lizerk
|
df2377431d
|
feat: expand documents tasks and procurement workflows
|
2026-07-17 14:09:06 +03:00 |
|
lizerk
|
b9598c2731
|
feat(tasks): add notifications and wide board mode
|
2026-07-16 17:22:43 +03:00 |
|
lizerk
|
786987efe5
|
Stabilize Celery background jobs
|
2026-07-16 13:59:50 +03:00 |
|
lizerk
|
cb5b520e01
|
feat: add task board module
|
2026-07-06 13:47:03 +03:00 |
|
lizerk
|
cd3e52e1e9
|
feat: complete guest module
|
2026-06-22 15:01:28 +03:00 |
|
lizerk
|
dc35680156
|
feat: add guest module backend
|
2026-06-20 12:20:52 +03:00 |
|
lizerk
|
2b8e02e1f7
|
Update auth flows and chat pending messages
|
2026-05-28 19:12:05 +03:00 |
|
lizerk
|
fce272d352
|
procurement: add processing department workflow
|
2026-05-22 13:46:53 +03:00 |
|
lizerk
|
da218db805
|
Add attendance auto sync settings
|
2026-04-22 18:26:43 +03:00 |
|
lizerk
|
625468090b
|
Add persisted LogStorm attendance integration
|
2026-04-22 10:21:44 +03:00 |
|
lizerk
|
d5e4f6d577
|
Add LogStorm attendance client
|
2026-04-21 13:40:29 +03:00 |
|
lizerk
|
a46f040801
|
fix: refine pwa notifications and brand name
|
2026-04-16 21:17:51 +03:00 |
|
lizerk
|
f5a908e443
|
feat(auth): restore password reset flow and polish auth UI
|
2026-04-12 02:05:13 +03:00 |
|
lizerk
|
7dcf84dcd1
|
feat(auth): add session management and settings integration
|
2026-04-11 23:31:14 +03:00 |
|
lizerk
|
6ee32111db
|
chore: configure vscode flake8 and commit lint cleanup
|
2026-03-31 19:17:56 +03:00 |
|
lizerk
|
2815efe069
|
chore: finalize backend lint cleanup
|
2026-03-31 17:53:29 +03:00 |
|
lizerk
|
3f59f8ebb9
|
Add backend OpenAPI docs and clean test suite
|
2026-03-31 17:05:31 +03:00 |
|
lizerk
|
f88d90230b
|
refactor: clean architecture, align tests to current API contracts, all tests green [deploy-ready]
|
2026-03-30 04:27:18 +03:00 |
|
lizerk
|
bdd6e48c46
|
фикс мидлвари на регу
|
2026-03-30 02:23:59 +03:00 |
|
lizerk
|
75662ec7ea
|
feat(ldap): Полная миграция на django-ldapdb ORM с миксинами и Django Admin
LDAP ORM модели (orm_models.py):
================================
✅ Применены миксины ModifyDnMixin и LdapSyncStateMixin ко всем моделям
✅ LdapUser - поддержка modify_dn + автоуправление LdapSyncState
✅ LdapGroup - поддержка modify_dn для перемещения групп
✅ LdapOrganizationalUnit - поддержка modify_dn для реорганизации
Миксины (mixins.py) - НОВЫЙ ФАЙЛ:
=================================
✅ ModifyDnMixin - автоматический modify_dn при изменении base_dn
• Отслеживает изменения base_dn
• Выполняет LDAP modify_dn с newsuperior
• Обновляет _saved_dn для корректного последующего save()
• Использование: user.base_dn = new_dn; user.save()
✅ LdapSyncStateMixin - автоуправление LdapSyncState
• Автоматически создает/обновляет LdapSyncState при save()
• Автоматически удаляет LdapSyncState при delete()
• Настройки: _sync_model_name, _sync_pk_field
Django Admin для LDAP (admin.py) - НОВЫЙ ФАЙЛ:
==============================================
✅ LdapUserAdmin - полноценная админка для LDAP пользователей
• List display: CN, SAM, email, Django Employee link, sync status
• Search: по CN, SAM, email, имени, фамилии
• Filters: по userAccountControl
• Actions синхронизации:
- sync_from_ldap_to_django (LDAP → Django)
- sync_from_django_to_ldap (Django → LDAP)
- show_sync_diff (сравнение данных)
• Fieldsets: идентификация, персональные данные, контакты, UAC, группы
• DN форматирование с подсветкой компонентов
• Sync status indicators с иконками
Django Admin для Employee (employees/admin.py):
===============================================
✅ Добавлены зеркальные actions синхронизации:
• sync_from_django_to_ldap - создание/обновление в LDAP
- Автоматическое создание LDAP пользователя если не существует
- Генерация временного пароля
- Установка is_ldap_managed = True
• sync_from_ldap_to_django - обновление из LDAP
• show_sync_diff - сравнение Django ↔ LDAP
✅ Импорт django.contrib.messages для уведомлений
Сервисы LDAP (services/):
=========================
✅ UserService - полная миграция на ORM для UPDATE операций
✅ GroupService - использование ORM для модификаций
✅ DepartmentService - ORM для обновления OU
✅ PositionService - ORM для групп позиций
Тесты (tests/unit/):
===================
✅ test_user_service.py - обновлены под ORM
✅ test_group_service.py - обновлены под ORM
✅ test_position_service.py - обновлены под ORM
✅ conftest.py - добавлены фикстуры для ORM моделей
Authentication (auth_backends.py):
=================================
✅ EmailOrPhoneBackend - добавлено подробное debug логирование
• Логирование email/phone lookup
• Логирование is_active проверки
• Логирование password check с hash prefix
✅ SuperuserOnlyBackend - добавлено debug логирование
• Логирование parent auth результата
• Логирование is_superuser проверки
API (api/auth/serializers.py):
==============================
✅ PhoneOrEmailTokenObtainPairSerializer - исправлен KeyError
• Добавлена проверка credentials перед super().validate()
• Явный AuthenticationFailed при отсутствии учетных данных
Middleware (middleware.py):
===========================
✅ Очистка от устаревшего кода (305 → 102 строки)
• ❌ Удалена EmailVerificationMiddleware (не используется)
• ❌ Удалена RegistrationIPRestrictionMiddleware (не используется)
• ❌ Удалены все ссылки на namespace 'auth_front'
• ✅ Возврат 403 для неавторизованных вместо редиректа
Settings (settings.py):
=======================
✅ LOGIN_URL изменен с 'auth_front:login' на '/admin/login/'
✅ Добавлено DEBUG логирование для:
• django.contrib.auth
• eusrr_backend.auth_backends
Миграции:
=========
✅ Удалены старые миграции LDAP моделей (0042, 0043)
✅ Добавлена миграция LdapSyncQueue (0042_ldapsyncqueue.py)
Документация:
=============
✅ ADMIN_GUIDE.md - руководство по использованию LDAP Admin
✅ docs/guides/ldap-orm-mixins-usage.md - usage guide для миксинов
✅ docs/completed/ldap-orm-create-support.md - документация ORM миграции
✅ docs/in-progress/LDAP_ORM_MIGRATION_PLAN.md - план миграции
Инфраструктура (__init__.py):
=============================
✅ Добавлен импорт admin для авторегистрации
✅ Экспорт ORM моделей (LdapUser, LdapGroup, LdapOrganizationalUnit)
ИТОГО:
======
• Полная миграция с ldap3 на django-ldapdb ORM для UPDATE/MOVE/DELETE
• Унификация: один подход для всех LDAP операций через модели
• Автоматизация: синхронизация состояния и перемещения через миксины
• UI: полноценный Django Admin для управления LDAP объектами
• Отладка: расширенное логирование аутентификации
• Чистота: удален устаревший код middleware и миграций
• Тесты: 29 passed, 0 failed, 18 skipped
Breaking Changes: НЕТ - обратная совместимость сохранена
|
2026-03-19 22:33:06 +03:00 |
|
lizerk
|
f15e8aca3f
|
feat(ldap): add LDAP sync retry queue with Celery
- Add LdapSyncQueue model for deferred LDAP operations
- Add Celery tasks: process_ldap_queue_item, process_ldap_queue
- Refactor all LDAP signals (employee, department, group, position)
to enqueue operations on DirectoryLdapError/DirectoryServiceError
- Add _queue.py helper for enqueuing with automatic Celery dispatch
- Add Celery Beat periodic task (every 60s) for queue processing
- Add management command: ldap_queue (status/retry/cleanup)
- Add migration 0043_ldap_sync_queue
- Add 18 tests covering model, tasks, signals, and enqueue logic
- Include LDAP services refactoring (base_service, constants,
user_login_service, user_mapper_service, user_password_service,
phone_utils)
|
2026-03-19 15:07:34 +03:00 |
|