feat(home/views.py): add chat views
This commit is contained in:
44
home/views.py
Normal file
44
home/views.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
from django.contrib.auth.decorators import login_required
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from django.shortcuts import redirect, render
|
||||||
|
|
||||||
|
from home.models import ChatMessage
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def admin_chat_dashboard(request):
|
||||||
|
chats = ChatMessage.get_all_user_senders()
|
||||||
|
return render(request, "chat/admin/admin_chat_dashboard.html", {"chats": chats})
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def admin_chat(request, user_id):
|
||||||
|
chat_user = User.objects.filter(id=user_id, is_staff=False).first()
|
||||||
|
print(chat_user)
|
||||||
|
chat_messages = ChatMessage.get_support_chat(chat_user)
|
||||||
|
return render(
|
||||||
|
request,
|
||||||
|
"chat/admin/admin_chat.html",
|
||||||
|
{"chat_user": chat_user, "chat_messages": chat_messages},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def user_chat(request):
|
||||||
|
if request.user.is_staff:
|
||||||
|
return redirect("admin_chat_dashboard")
|
||||||
|
chat_messages = ChatMessage.get_support_chat(request.user)
|
||||||
|
return render(request, "chat/user_chat.html", {"chat_messages": chat_messages})
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def user_chat_send(request, user_id):
|
||||||
|
if request.method == "POST":
|
||||||
|
content = request.POST.get("content")
|
||||||
|
content = content.strip() if content else ""
|
||||||
|
if content:
|
||||||
|
user = User.objects.filter(id=user_id).first()
|
||||||
|
ChatMessage.objects.create(user=user, sender=request.user, content=content)
|
||||||
|
if request.user.is_staff:
|
||||||
|
return redirect("admin_chat", user_id=user_id)
|
||||||
|
return redirect("user_chat")
|
||||||
Reference in New Issue
Block a user