From ef69b990681736d5e4dffbde3727dd150f3ec273 Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Wed, 18 Mar 2026 09:46:10 +0100 Subject: [PATCH] refactor(chat_message.py): rename `Message` -> `ChatMessage` --- home/models/chat_message.py | 26 ++++++++++++++++++++++++++ home/models/message.py | 14 -------------- 2 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 home/models/chat_message.py delete mode 100644 home/models/message.py diff --git a/home/models/chat_message.py b/home/models/chat_message.py new file mode 100644 index 0000000..145ae9c --- /dev/null +++ b/home/models/chat_message.py @@ -0,0 +1,26 @@ +from django.contrib.auth.models import User +from django.db import models + + +class ChatMessage(models.Model): + user = models.ForeignKey( + User, + on_delete=models.CASCADE, + related_name="support_chats", + limit_choices_to={"is_staff": False}, + ) # The requester (non-admin) + sender = models.ForeignKey( + User, on_delete=models.CASCADE, related_name="sent_messages" + ) # The sender (user or admin) + + content = models.TextField() + timestamp = models.DateTimeField(auto_now_add=True) + + @classmethod + def get_support_chat(cls, user): + return cls.objects.filter(user=user).order_by("timestamp") + + @classmethod + def get_all_user_senders(cls): + user_ids = cls.objects.values_list("user", flat=True).distinct() + return User.objects.filter(id__in=user_ids, is_staff=False) diff --git a/home/models/message.py b/home/models/message.py deleted file mode 100644 index ae71b39..0000000 --- a/home/models/message.py +++ /dev/null @@ -1,14 +0,0 @@ -from django.contrib.auth.models import User -from django.db import models - - -class Message(models.Model): - sender = models.ForeignKey( - User, on_delete=models.CASCADE, related_name="sent_messages" - ) - recipient = models.ForeignKey( - User, on_delete=models.CASCADE, related_name="received_messages" - ) - - content = models.TextField() - timestamp = models.DateTimeField(auto_now_add=True)