11 Commits

Author SHA1 Message Date
194157e1ef 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
ae47ab0d90 debug: подробные логи для диагностики валидации аватара (JS, DRF, сериализатор) 2025-12-02 11:28:45 +03:00
2bf3692474 Исправлена ошибка фильтра LdapSyncState: использование model+object_pk вместо несуществующего поля employee 2025-12-02 11:11:50 +03:00
5aa8149514 Улучшена обработка ошибок валидации: парсинг detail с извлечением имени поля и сообщения, обработка API ошибок в try-except 2025-12-02 11:07:47 +03:00
e6e39b7fd0 AJAX submit для формы редактирования сотрудника, ошибки показываются inline 2025-12-02 11:05:37 +03:00
dd902d6d52 AJAX submit для формы редактирования сотрудника, ошибки показываются inline 2025-12-02 11:01:42 +03:00
f5e615f2fc Фикс: корректный placeholder для фото сотрудника при пустом avatar, форма отправляет POST на фронтовую вьюху, убрана JS-валидация и кастомный submit. 2025-12-01 15:44:02 +03:00
8ae9753650 debug: добавлено детальное логирование отправки PATCH запроса 2025-12-01 15:10:02 +03:00
7fe7cc84e1 debug: добавлено логирование в employeeFormHandler для отладки загрузки аватара 2025-12-01 15:06:41 +03:00
b636e13382 Добавлена загрузка/замена/удаление фото сотрудника с автоматическим удалением старых файлов 2025-11-30 10:50:09 +03:00
1b54cbd5f4 Merge master and ldap-writeback: added LDAP optional mode, refactored templates and JavaScript modules 2025-11-20 09:00:55 +03:00