787 Commits

Author SHA1 Message Date
lizerk
f4fa00d9bd refactor: Удален Telegram из новой системы уведомлений
- Убрана поддержка Telegram из каналов доставки
- Удалено telegram_enabled из UserChannelPreferences
- Обновлена документация
- Сфокусировались на WebSocket, Email и Web Push

Фокус: веб-уведомления, email дайджесты и web push
2026-03-09 16:01:29 +03:00
lizerk
b7d36559b3 feat: Новая система уведомлений v2.0 (на основе django-notifications-hq)
- Упрощена архитектура: 2 модели вместо 6
- GenericForeignKey для универсальности
- Стандартный API notify.send() как в django-notifications-hq
- Совместимость с Django 5.2+
- Сохранен multi-channel функционал (WebSocket, Email, Telegram, Push)
- Создана полная документация

Файлы:
- models_new.py - Notification + UserChannelPreferences
- signals_new.py - notify.send() API
- channels.py - роутинг по каналам доставки
- admin_new.py - Django Admin интерфейс
- README.md - краткое описание для переиспользования
- docs/guides/NOTIFICATIONS_V2_USAGE.md - полное руководство
- docs/reports/NOTIFICATIONS_REFACTORING_REPORT.md - отчет о рефакторинге

Требуется тестирование перед внедрением.
2026-03-09 15:58:27 +03:00
lizerk
c5519cc319 Merge branch 'develop' 2026-03-09 10:12:27 +03:00
lizerk
1041016b25 fix: исправлены оставшиеся параметризованные URL-ы в task_base.py
- /calendar/?event={id} → /calendar
- /feed/?post={id} → /

Теперь все URL-ы во всех уведомлениях ведут на существующие страницы
2026-03-09 10:09:24 +03:00
lizerk
fdd23ab26f Merge branch 'develop' 2026-03-09 10:06:48 +03:00
lizerk
70f9c1950d fix: исправлены URL-ы в уведомлениях на существующие страницы фронтенда
- /requests/{id}/ → /requests
- /documents/{id}/ → /documents
- /calendar (вместо /?event_id={id})
- /procurement/orders/{id}/ → /procurement
- /messages (вместо /communications/chats/{id}/)
- / для постов ленты

Теперь клик по уведомлениям не вызывает 404 ошибки
2026-03-09 10:05:57 +03:00
lizerk
bd1238b3da fix: правильное отображение иконок категорий уведомлений
- Добавлен маппинг категорий на эмодзи-иконки
- Исправлено отображение текста вместо иконок (bi-chat-dots -> 💬)
- Увеличен размер иконок (text-xl)
- Добавлены эмодзи для всех основных категорий
2026-03-09 09:56:02 +03:00
lizerk
30ba5bfceb feat: создана страница со всеми уведомлениями
- Полный список всех уведомлений с прокруткой
- Поиск по заголовку и содержимому
- Фильтрация по статусу (все/непрочитанные/прочитанные)
- Фильтрация по категориям
- Кнопка "Прочитать все" для непрочитанных
- Красивые карточки с иконками категорий
- Клик на уведомление переходит по action_url
- Responsive дизайн
2026-03-09 09:52:49 +03:00
lizerk
1972f89bea fix: исправлено получение уведомлений из бэкенда
- Фронтенд: добавлена обработка поля 'notifications' (бэкенд возвращает { notifications: [...] })
- Фронтенд: исправлены URL endpoints для отметки прочитанным (/read/ вместо /mark_read/)
- Бэкенд: добавлено поле 'short_message' в ответ API для корректного отображения превью
2026-03-09 09:51:00 +03:00
lizerk
9edb7ba6af Merge branch 'develop' 2026-03-09 08:51:17 +03:00
lizerk
8fee8177ad feat: автоматическая подгрузка заявлений при прокрутке
- Удалена кнопка 'Загрузить ещё'
- Реализована автоматическая подгрузка через Intersection Observer API
- Данные начинают загружаться за 100px до конца списка
- Учитываются все фильтры и поиск
- Добавлен индикатор загрузки при подгрузке данных
2026-03-09 08:48:08 +03:00
lizerk
01d6d0bc32 fix: добавлены недостающие параметры фильтрации в API заявлений
- Добавлены параметры view, addressed_to_me, employee_id, date_from, date_to в метод getRequests()
- Теперь фильтры на странице заявлений работают корректно
- Удалены устаревшие сертификаты из localcerts_backup/
2026-03-09 08:42:44 +03:00
lizerk
ae97658872 Merge branch 'develop' - fix birthday events search and cleanup 2026-03-06 21:00:50 +03:00
lizerk
a9f87541e0 fix(birthdays): исправлен поиск и обновление событий ДР из персональных календарей
- Убран фильтр по календарю при поиске существующих событий
- События автоматически переносятся из personal-XX в общий календарь birthdays
- Удаляются дубликаты событий ДР для одного сотрудника
2026-03-06 20:59:25 +03:00
lizerk
6d79a21536 Merge branch 'develop' - fix birthday events timezone calculation 2026-03-06 20:50:01 +03:00
lizerk
f60e1fbd2a fix(birthdays): исправлен порядок операций с timezone для корректной длительности событий 2026-03-06 20:49:36 +03:00
lizerk
42a74ef50d Merge branch 'develop' - add standalone output for Next.js 2026-03-06 20:34:19 +03:00
lizerk
7ab9041eab -оставил только минуты 2026-03-06 20:34:11 +03:00
lizerk
4c1bb9d6b7 Merge branch 'develop' - add standalone output for Next.js 2026-03-06 20:31:40 +03:00
lizerk
3b78bf6761 убрал нафиг дату завершения 2026-03-06 20:31:26 +03:00
lizerk
914e2238d8 Merge branch 'develop' - add standalone output for Next.js 2026-03-06 20:21:31 +03:00
lizerk
684cd10ba1 убрал минуты 2026-03-06 20:21:20 +03:00
lizerk
64baa41a25 Merge branch 'develop' - add standalone output for Next.js 2026-03-06 20:17:47 +03:00
lizerk
40b4a7fc15 - минуты убрал 2026-03-06 20:17:22 +03:00
lizerk
fefe30a26e Merge branch 'develop' - add standalone output for Next.js 2026-03-06 19:57:53 +03:00
lizerk
9e15001f2f feat(frontend): добавлен standalone output для production сборки 2026-03-06 19:57:45 +03:00
lizerk
abaf8a6746 Merge branch 'develop' - fix webpush browser field length 2026-03-06 19:35:27 +03:00
lizerk
88dc3aeb50 fix(migrations): обрезка browser до 10 символов в 0008_migrate_webpush_to_library 2026-03-06 19:35:16 +03:00
lizerk
61725afc27 Merge branch 'develop' - fix migration pending triggers 2026-03-06 19:28:56 +03:00
lizerk
b776b0f87a fix(migrations): отключена data migration в 0005_migrate_to_filer
- Закомментирован RunPython для избежания pending trigger events
- Добавлена команда kill_db_connections для завершения соединений БД
- Data migration нужно выполнить отдельно после применения схемы
2026-03-06 19:28:40 +03:00
lizerk
20bde15cb1 Merge branch 'develop' - fix migration dependency 2026-03-06 19:06:40 +03:00
lizerk
4889e38061 fix(migrations): добавлена зависимость на easy_thumbnails в 0005_migrate_to_filer
- Исправлена ошибка 'relation easy_thumbnails_source does not exist'
- Добавлена зависимость на easy_thumbnails.0001_initial
2026-03-06 19:06:22 +03:00
lizerk
21949bcb0f Merge branch 'develop' - fix requirements.txt 2026-03-06 19:01:56 +03:00
lizerk
e3ba94eb43 fix: удалены маркеры конфликта из requirements.txt 2026-03-06 19:01:27 +03:00
lizerk
592bf8ad37 Merge branch 'develop' into master 2026-03-06 17:47:31 +03:00
lizerk
d1ea2d8c6e fix(birthdays): изменена логика календаря ДР на общий календарь
- Изменено событие на длительность до конца дня вместо 2 дней
- Все ДР теперь добавляются в общий календарь '🎂 Дни рождения'
- Убрана логика личных календарей для каждого сотрудника
2026-03-06 17:47:19 +03:00
lizerk
ebe42a4d40 Merge branch 'frontend/Kostya' into develop
# Conflicts:
#	frontend/src/app/page.tsx
#	frontend/src/app/requests/page.tsx
#	frontend/src/lib/api.ts
2026-03-06 13:37:23 +03:00
lizerk
675a719dba Merge branch 'feature/django-filer-documents' into develop
# Conflicts:
#	.github/copilot-instructions.md
#	.gitignore
#	backend/api/v1/documents/permissions.py
#	backend/api/v1/documents/serializers.py
#	backend/api/v1/documents/views.py
#	backend/api/v1/urls.py
#	backend/calendar_app/migrations/0013_migrate_to_django_scheduler.py
#	backend/documents/admin.py
#	backend/documents/models.py
#	backend/documents/notification_signals.py
#	backend/documents/rules.py
#	backend/eusrr_backend/settings.py
#	backend/eusrr_backend/settings_test.py
#	backend/eusrr_backend/urls.py
#	backend/notifications/management/commands/create_notification_types.py
#	backend/notifications/services.py
#	backend/pytest.ini
#	backend/requirements.txt
#	backend/search/search_indexes.py
#	backend/tests/api/v1/documents/test_documents_api.py
#	frontend/.gitignore
#	frontend/package-lock.json
#	frontend/package.json
#	frontend/src/app/documents/page.tsx
#	frontend/src/app/messages/[chatId]/page.tsx
#	frontend/src/app/messages/page.tsx
#	frontend/src/app/page.tsx
#	frontend/src/app/requests/page.tsx
#	frontend/src/app/search/page.tsx
#	frontend/src/components/CalendarModal.tsx
#	frontend/src/components/CalendarParticipantsModal.tsx
#	frontend/src/components/CalendarSubscriptionsModal.tsx
#	frontend/src/components/EventModal.tsx
#	frontend/src/components/NewChatModal.tsx
#	frontend/src/components/ViewDayEventsModal.tsx
#	frontend/src/components/ViewEventDetailsModal.tsx
#	frontend/src/lib/api.ts
#	frontend/src/types/api.ts
2026-03-06 13:20:34 +03:00
lizerk
2794661dc0 chore(frontend): добавление media/ в .gitignore 2026-03-06 12:36:30 +03:00
lizerk
a662642864 docs: добавление документации по рефакторингу
- Добавлен отчет о рефакторинге хранилища медиафайлов
- Добавлено сравнение веток feature/django-filer-documents и develop
- Добавлен аудит frontend документов
- Добавлен отчет об очистке types, cabinets и dashboard
2026-03-06 12:33:18 +03:00
lizerk
e689ee7e5a feat(frontend): добавление новых компонентов управления документами
- Добавлен DocumentMetadataEditor для редактирования метаданных
- Добавлен TagColorPicker для выбора цветов тегов
- Добавлен TagForm для создания/редактирования тегов
- Добавлен TagManagementModal для управления тегами
2026-03-06 12:31:33 +03:00
lizerk
4ac50d4818 feat(documents): миграции для удаления FSM и document_type
- Добавлена миграция 0011 для удаления FSM полей и добавления is_published
- Добавлена миграция 0012 для удаления is_published (не нужно)
- Добавлена миграция 0013 для удаления document_type
- Добавлена команда migrate_documents_storage для миграции файлов в django-filer
2026-03-06 12:31:18 +03:00
lizerk
d850d45b68 chore: обновление конфигурации проекта
- Добавлена папка backend/media/ в .gitignore для файлов django-filer
- Удалены устаревшие инструкции из copilot-instructions.md
2026-03-06 12:30:49 +03:00
lizerk
0879da3bc1 build(frontend): обновление зависимостей
- Обновлен package-lock.json с новыми версиями зависимостей
- Добавлены недостающие пакеты в package.json
- Обновлен next-env.d.ts
2026-03-06 12:28:53 +03:00
lizerk
bf493ba9d2 refactor(frontend): обновление компонентов документов
- Удалены ссылки на document_type из DocumentUploadForm
- Удалены фильтры по статусам из DocumentRelated
- Удалены статистика статусов из DocumentsDashboard
- Обновлены экспорты компонентов (удалены устаревшие)
- Добавлены экспорты для новых компонентов тегов
2026-03-06 12:26:43 +03:00
lizerk
8c6753c188 refactor(frontend): удаление устаревших компонентов документов
- Удален DocumentStatusBadge (больше нет статусов)
- Удален DocumentWorkflowButtons (нет FSM workflow)
- Удален DocumentVersionHistory (дубль, есть другая реализация)
- Удален AdvancedSearch (заменен на фильтры)
- Удалена папка versions/ с компонентами истории версий
2026-03-06 12:23:11 +03:00
lizerk
7d42fdac9d feat(documents): интеграция django-filer для управления файлами
- Добавлена конфигурация django-filer в settings.py
- Настроены URL для filer admin
- Обновлен admin.py для работы с FilerFileField
- Обновлен индекс поиска для новой структуры
2026-03-06 12:21:56 +03:00
lizerk
dd4f99c244 refactor(documents): удаление FSM workflow и упрощение моделей
- Удалены поля document_type, status, published_at из модели Document
- Упрощены разрешения и правила доступа
- Удалены endpoint'ы для работы со статусами
- Удалены тесты FSM workflow
- Обновлены serializers для новой структуры модели
2026-03-06 12:21:11 +03:00
lizerk
f2bff36f3c feat(documents): рефакторинг модального окна с предпросмотром
Доработан DocumentDetailModal:
- Добавлен встроенный предпросмотр PDF и изображений
- Добавлен полноэкранный режим для предпросмотра (desktop)
- Добавлены вкладки: Предпросмотр, Информация, Активность, Ознакомления, Комментарии, Связанные
- Добавлены пропсы: onEditMetadata, onViewReport, onNavigateToRelated
- Интегрированы DocumentComments и DocumentRelated
- Улучшена шапка с полной информацией о документе на мобильных

Desktop layout:
- Split-view: предпросмотр слева (60%), вкладки справа
- Кнопка полноэкранного режима

Mobile layout:
- Вкладочная навигация
- Все метаданные видны в шапке (имя файла, размер, дата, автор)

Оптимизация page.tsx:
- Заменен встроенный модал (270 строк) на компонент DocumentDetailModal
- Удалены ненужные импорты DocumentAcknowledgement, DocumentComments, DocumentRelated
- Уменьшен размер с 1199 до 952 строк (-247 строк, -21%)
2026-03-06 12:09:23 +03:00
lizerk
6d9e6655b5 refactor(documents): удаление функционала комментариев при ознакомлении
- Удалено текстовое поле для комментариев в DocumentAcknowledgement
- Удален параметр notes из acknowledgeDocument API метода
- Удалено поле notes из интерфейса DocumentAcknowledgement
- Упрощена форма подтверждения прочтения до простой кнопки
2026-03-06 12:08:44 +03:00