lizerk cc24a073f4 refactor(documents): реструктуризация notifications в модульную архитектуру
Проблема:
- Монолитный notification_signals.py (~520 строк) смешивал разные concerns
- Сложная логика с множественными сигналами и обработчиками в одном файле
- Логирование и бизнес-логика переплетены с signal receivers

Решение:
Разделен на модульную структуру documents/notifications/:
- config.py - NotificationVerbs, MessageTemplates, ActionURLs, get_uploader_name(),
  get_bulk_threshold()
- handlers.py - notify_all_employees(), notify_specific_users(),
  notify_department_employees(), notify_all_acknowledged(), notify_document_comment(),
  notify_comment_reply()
- signals.py - Django signal receivers (@receiver) для Document, DocumentAcknowledgement,
  DocumentComment
- __init__.py - публичный API модуля

Изменения:
- Создан: documents/notifications/ модуль с 4 файлами
- Переименован: notification_signals.py → notification_signals.py.old
- Изменен: apps.py - обновлен импорт на documents.notifications

Логика уведомлений:
1. Новый документ → все сотрудники/отделы/конкретные получатели
2. Все ознакомились → уведомление загрузившему
3. Комментарий → автор документа
4. Ответ на комментарий → автор родительского комментария

Преимущества:
- ✅ Единообразие с requests_app, procurement, feed, communications
- ✅ Четкое разделение ответственности (SRP)
- ✅ Централизованное логирование с контекстом
- ✅ Поддержка bulk режима для массовых рассылок
- ✅ Легче тестировать компоненты
- ✅ Публичный API для переиспользования

Верификация:
- python manage.py check - успешно
2026-03-10 13:36:04 +03:00
2026-03-10 08:15:13 +03:00

Документация проекта EUSRR

Эта папка содержит всю документацию проекта, организованную по категориям.

📁 Структура

completed/

Завершенные задачи: рефакторинги, исправления, реализованные фичи (22 файла)

guides/

Активные руководства и инструкции для разработчиков (гайды по валидации, миграции, настройке)

architecture/

Архитектурная документация и анализ систем (рендеринг чата, архитектура страниц)

diagnostic/

Диагностические руководства (WebSocket 1006, отладка проблем)

in-progress/

Активные задачи в разработке (закупки, получатели заявок, календарь)

reports/

Отчеты и аудиты проекта (реорганизация документации, план очистки)

📝 Главная документация

  • README.md - основная документация проекта
  • docs/reports/ - отчеты и планы по проекту

🔍 Поиск информации

  • Завершенные фичи → completed/
  • Как настроить X → guides/
  • Как работает Y → architecture/
  • Проблемы с Z → diagnostic/
  • Что в разработке → in-progress/
  • Отчеты и аудиты → reports/
Description
Разработка — в develop; локальный CI работает через Git hooks и quality gates перед коммитом/пушем. После проверки — слияние в master. Push в master запускает blue-green деплой на CORP через Gitea Actions и Telegram-отчёт. Статус деплоя — «Действия».
https://corp.robotail.pro/ Readme 86 MiB
Languages
Python 47.6%
TypeScript 29.8%
JavaScript 15.7%
HTML 4.1%
SCSS 2.1%
Other 0.7%