2026-03-31 17:53:29 +03:00

69 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
Модуль уведомлений для приложения Procurement.
Обеспечивает автоматическую отправку уведомлений при:
- Создании новой заявки на закупку
- Изменении статуса заявки
- Создании/изменении согласования
Использует универсальную систему уведомлений (backend/notifications).
Все уведомления (включая WebSocket) отправляются через notify.send().
Структура:
- config.py - конфигурация (типы уведомлений, шаблоны, URLs)
- handlers.py - бизнес-логика отправки уведомлений
- signals.py - Django сигналы для автоматической генерации
Usage:
# Сигналы подключаются автоматически через AppConfig.ready()
# Для ручной отправки:
from procurement.notifications import notify_new_request
notify_new_request(request_obj)
# WebSocket broadcast происходит автоматически через:
# notify.send() → channels.py → Celery → WebSocketNotificationSender
"""
# Импорты для удобства и обратной совместимости
from .config import NotificationVerbs, MessageTemplates, ActionURLs
from .handlers import (
notify_new_request,
notify_approvers,
notify_approver,
notify_requestor,
notify_request_approved,
notify_request_rejected,
notify_request_completed,
notify_request_in_progress,
notify_request_cancelled,
notify_stage_approved,
notify_stage_rejected,
)
# Сигналы импортируются для регистрации через AppConfig.ready()
from . import signals # noqa: F401
__all__ = [
# Config
'NotificationVerbs',
'MessageTemplates',
'ActionURLs',
# Handlers
'notify_new_request',
'notify_approvers',
'notify_approver',
'notify_requestor',
'notify_request_approved',
'notify_request_rejected',
'notify_request_completed',
'notify_request_in_progress',
'notify_request_cancelled',
'notify_stage_approved',
'notify_stage_rejected',
# Signals module (для импорта в AppConfig)
'signals',
]