diff --git a/backend/communications/management/commands/update_department_chat_names.py b/backend/communications/management/commands/update_department_chat_names.py new file mode 100644 index 00000000..9cb0099b --- /dev/null +++ b/backend/communications/management/commands/update_department_chat_names.py @@ -0,0 +1,41 @@ +""" +Management command для обновления названий основных чатов отделов +""" +from django.core.management.base import BaseCommand +from communications.models import Chat + + +class Command(BaseCommand): + help = 'Обновляет названия основных чатов отделов' + + def handle(self, *args, **options): + # Находим все основные чаты отделов без названия + chats = Chat.objects.filter( + type='department', + is_main=True + ).select_related('department') + + updated = 0 + for chat in chats: + if not chat.name or chat.name == '': + old_name = chat.name or '(пусто)' + chat.name = f"Основной чат {chat.department.name}" + chat.save() + self.stdout.write( + self.style.SUCCESS( + f'✓ Обновлен чат ID {chat.id}: ' + f'"{old_name}" → "{chat.name}"' + ) + ) + updated += 1 + + if updated == 0: + self.stdout.write( + self.style.WARNING('Нет чатов для обновления') + ) + else: + self.stdout.write( + self.style.SUCCESS( + f'\n✓ Обновлено названий: {updated}' + ) + ) diff --git a/backend/communications/signals.py b/backend/communications/signals.py index bfcf20ca..429bc6cb 100644 --- a/backend/communications/signals.py +++ b/backend/communications/signals.py @@ -16,7 +16,12 @@ def create_main_department_chat(sender, instance, created, **kwargs): if not Chat.objects.filter( type="department", department=instance, is_main=True ).exists(): - Chat.objects.create(type="department", department=instance, is_main=True) + Chat.objects.create( + type="department", + department=instance, + is_main=True, + name=f"Основной чат {instance.name}" + ) @receiver(pre_save, sender='communications.Chat') diff --git a/backend/static/css/components/chat-list-enhanced.css b/backend/static/css/components/chat-list-enhanced.css index e892b86f..7217bf4d 100644 --- a/backend/static/css/components/chat-list-enhanced.css +++ b/backend/static/css/components/chat-list-enhanced.css @@ -86,7 +86,7 @@ .card-icon img { width: 44px; height: 44px; - border-radius: 8px; /* Овальная форма вместо круглой */ + border-radius: 50%; /* Круглая форма */ object-fit: cover; border: 2px solid var(--bs-border-color); } diff --git a/backend/templates/communications/chat_list.html b/backend/templates/communications/chat_list.html index 6ce2bb28..ce03c72c 100644 --- a/backend/templates/communications/chat_list.html +++ b/backend/templates/communications/chat_list.html @@ -101,6 +101,11 @@