11 Commits

Author SHA1 Message Date
b6f1e09ba5 fix: prevent double form submission in employee edit form
Problem:
- When editing employee profile, got duplicate PATCH requests
- One request returned 502, another 200 OK
- Error appeared in console but operation succeeded
- Classic double-submit race condition

Root Cause:
initEmployeeForm() added new addEventListener('submit') on every call.
If function was called twice (e.g., on tab navigation or re-render),
two event handlers would fire simultaneously, sending parallel requests.

Solution:
1. Check if form already initialized via data-attribute
2. Set form.dataset.employeeFormInitialized = 'true' flag
3. Skip re-initialization if already initialized
4. Return API object for already initialized forms

This ensures only ONE submit handler per form, preventing:
- Duplicate PATCH requests
- 502 errors from race conditions
- Confusing UX with errors that don't break functionality

Now form submits cleanly with single request.
2025-12-08 13:37:20 +03:00
194286ecd5 debug: подробные логи для диагностики валидации аватара (JS, DRF, сериализатор) 2025-12-02 11:28:45 +03:00
22476a5f7a Исправлена ошибка фильтра LdapSyncState: использование model+object_pk вместо несуществующего поля employee 2025-12-02 11:11:50 +03:00
1b3076fb02 Улучшена обработка ошибок валидации: парсинг detail с извлечением имени поля и сообщения, обработка API ошибок в try-except 2025-12-02 11:07:47 +03:00
2d08c8bc56 AJAX submit для формы редактирования сотрудника, ошибки показываются inline 2025-12-02 11:05:37 +03:00
270407abf9 AJAX submit для формы редактирования сотрудника, ошибки показываются inline 2025-12-02 11:01:42 +03:00
68352580e8 Фикс: корректный placeholder для фото сотрудника при пустом avatar, форма отправляет POST на фронтовую вьюху, убрана JS-валидация и кастомный submit. 2025-12-01 15:44:02 +03:00
3562852d84 debug: добавлено детальное логирование отправки PATCH запроса 2025-12-01 15:10:02 +03:00
2749d7f0d4 debug: добавлено логирование в employeeFormHandler для отладки загрузки аватара 2025-12-01 15:06:41 +03:00
43fa0a2053 Добавлена загрузка/замена/удаление фото сотрудника с автоматическим удалением старых файлов 2025-11-30 10:50:09 +03:00
d078b2f50b Merge master and ldap-writeback: added LDAP optional mode, refactored templates and JavaScript modules 2025-11-20 09:00:55 +03:00