Browse Source

chatroom update values

master
Mohsen Taba 4 weeks ago
parent
commit
81f17cd1a2
  1. 17
      apps/course/signals.py

17
apps/course/signals.py

@ -1,4 +1,3 @@
from django.db.models.signals import post_save from django.db.models.signals import post_save
from django.dispatch import receiver from django.dispatch import receiver
@ -7,7 +6,7 @@ from apps.chat.models import RoomMessage
@receiver(post_save, sender=Course) @receiver(post_save, sender=Course)
def create_room_message_for_course(sender, instance, created, **kwargs):
def handle_room_message_for_course(sender, instance, created, **kwargs):
if created: # فقط برای موارد جدید اجرا شود if created: # فقط برای موارد جدید اجرا شود
RoomMessage.objects.create( RoomMessage.objects.create(
name=f"{instance.title} - Group", name=f"{instance.title} - Group",
@ -16,12 +15,20 @@ def create_room_message_for_course(sender, instance, created, **kwargs):
course=instance, course=instance,
room_type=RoomMessage.RoomTypeChoices.GROUP room_type=RoomMessage.RoomTypeChoices.GROUP
) )
else: # این بخش در زمان آپدیت دوره اجرا می‌شود
# Find the existing group room for this course and update its details
RoomMessage.objects.filter(
course=instance,
room_type=RoomMessage.RoomTypeChoices.GROUP
).update(
name=f"{instance.title} - Group",
description=f"Group chat for course: {instance.title}",
initiator=instance.professor
)
@receiver(post_save, sender=Course) @receiver(post_save, sender=Course)
def ensure_professor_role(sender, instance, **kwargs): def ensure_professor_role(sender, instance, **kwargs):
professor = getattr(instance, 'professor', None) professor = getattr(instance, 'professor', None)
if professor: if professor:
professor.ensure_professor_profile()
professor.ensure_professor_profile()
Loading…
Cancel
Save