38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
# backend\communications\apps.py
|
|
from importlib import import_module
|
|
|
|
from django.apps import AppConfig
|
|
|
|
|
|
class CommunicationsConfig(AppConfig):
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
name = "communications"
|
|
|
|
def ready(self):
|
|
import_module("communications.signals")
|
|
import_module("communications.notifications")
|
|
import_module("communications.rules")
|
|
|
|
def create_main_global_chat(sender, **kwargs):
|
|
"""
|
|
Создает главный глобальный чат при первом запуске.
|
|
|
|
Использует flags['is_primary'] вместо is_main.
|
|
Для обратной совместимости также устанавливает is_main=True.
|
|
"""
|
|
from django.db.models import Q
|
|
|
|
from communications.models import Chat
|
|
|
|
# Проверяем по обоим полям (старому и новому)
|
|
if not Chat.objects.filter(
|
|
Q(type="global") & (Q(is_main=True) | Q(flags__is_primary=True))
|
|
).exists():
|
|
Chat.objects.create(
|
|
type="global",
|
|
# NEW: flags
|
|
flags={"is_primary": True},
|
|
# DEPRECATED: для обратной совместимости
|
|
is_main=True,
|
|
)
|