From d1e5a1e284cb6bc1fe0f0f04540ce170f3935c87 Mon Sep 17 00:00:00 2001 From: rudy3333 Date: Sat, 31 May 2025 13:41:57 +0200 Subject: [PATCH] Add message deletion functionality to chat interface, including delete buttons for sent messages and improved styling for consistency. Update backend to return message ID upon sending for proper deletion handling. --- chat.html | 9 +++------ chat_thread.html | 18 +++++++++++++++--- eversyncc/views.py | 7 ++++--- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/chat.html b/chat.html index bfc398a..0522b6e 100644 --- a/chat.html +++ b/chat.html @@ -126,7 +126,7 @@
  • {{ user.username }}
  • {% endfor %} - + @@ -153,9 +153,6 @@ ul.append(`
  • ${msg.sender}: ${msg.content}
    ${msg.timestamp} -
    - -
  • `); }); @@ -173,7 +170,7 @@ ${msg.timestamp}
    - +
    `); }); diff --git a/chat_thread.html b/chat_thread.html index 6a6e653..0f5a3d3 100644 --- a/chat_thread.html +++ b/chat_thread.html @@ -93,8 +93,14 @@
    {% for msg in messages %}
    - {{ msg.sender.username }}: {{ msg.content }}
    - {{ msg.timestamp }} + {{ msg.sender.username }}: {{ msg.content }}
    + {{ msg.timestamp }} + {% if msg.sender == request.user %} +
    + {% csrf_token %} + +
    + {% endif %}
    {% endfor %}
    @@ -159,14 +165,20 @@ receiver: receiver, content: content, csrfmiddlewaretoken: csrfToken - }, function () { + }, function (response) { $('#message-content').val(''); const now = new Date().toLocaleString(); + const messageId = response.message_id; + $('#chat-log').append(`
    {{ request.user.username }}: ${content}
    ${now} +
    + + +
    `); diff --git a/eversyncc/views.py b/eversyncc/views.py index 4ce8ffe..1ffccbe 100644 --- a/eversyncc/views.py +++ b/eversyncc/views.py @@ -510,8 +510,8 @@ def send_message(request): reciever_username = request.POST.get('receiver') content = request.POST.get('content') receiver = User.objects.get(username=reciever_username) - Message.objects.create(sender=request.user, receiver=receiver, content=content) - return JsonResponse({"message": "sent"}) + message = Message.objects.create(sender=request.user, receiver=receiver, content=content) + return JsonResponse({"message": "sent", "message_id": message.id}) else: return JsonResponse({"message": "error"}) @@ -551,7 +551,8 @@ def delete_message(request, message_id): if request.method == "POST": message = get_object_or_404(Message, id=message_id, sender=request.user) message.delete() - return redirect('chat') + referer = request.META.get("HTTP_REFERER") + return redirect(referer) @login_required def music(request):