Close #45
This commit is contained in:
parent
787ba706aa
commit
088895ec43
|
@ -15,99 +15,75 @@ from .models import Message
|
|||
|
||||
@login_required
|
||||
def get_number_of_unread_message(request):
|
||||
"""Récupère le nombre de messages non lus associés à l'utilisateur en session.
|
||||
"""
|
||||
return Message.objects.filter(recipient=request.user).filter(read_at__isnull=True).count()
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def get_messages(request, message_type="received"):
|
||||
"""Récupère des messages associés l'utilisateur actuellement connecté.
|
||||
|
||||
Args:
|
||||
request (django.http.HttpRequest): (voir mes notes ci-dessous)
|
||||
message_type (str): { received | sent }
|
||||
|
||||
Returns:
|
||||
Retourne les messages reçus ou envoyés par l'utilisateur connecté.
|
||||
Si le paramètre `message_type` est vide, la liste renvoyée est vide également.
|
||||
"""
|
||||
if message_type == "received":
|
||||
message_list = request.user.received_messages.all()
|
||||
elif message_type == "sent":
|
||||
message_list = request.user.sent_messages.all()
|
||||
else:
|
||||
message_list = None
|
||||
|
||||
context = {"message_list": message_list, "message_type": message_type}
|
||||
return render(request, "message_list.html", context)
|
||||
"""Récupère le nombre de messages non lus associés à l'utilisateur en session.
|
||||
"""
|
||||
return Message.objects.filter(recipient=request.user).filter(read_at__isnull=True).count()
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def get_received_messages(request):
|
||||
"""Récupère des messages recus pour l'utilisateur connecté.
|
||||
"""
|
||||
return get_messages(request, "received")
|
||||
"""Récupère des messages recus pour l'utilisateur connecté.
|
||||
"""
|
||||
return request.user.received_messages.all()
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
@require_http_methods(["GET"])
|
||||
def get_sent_messages(request):
|
||||
"""Récupère des messages envoyés par l'utilisateur connecté.
|
||||
"""
|
||||
return get_messages(request, "sent")
|
||||
"""Récupère des messages envoyés par l'utilisateur connecté.
|
||||
"""
|
||||
return request.user.sent_messages.all()
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET"])
|
||||
def get_message_details(request, messageid):
|
||||
"""Récupère les détails (l'affichage ?) d'un message.
|
||||
"""
|
||||
message = get_object_or_404(Message, pk=messageid)
|
||||
if not message.read_at and message.recipient == request.user.id:
|
||||
message.read_at = datetime.now()
|
||||
message.save()
|
||||
"""Récupère les détails (l'affichage ?) d'un message.
|
||||
"""
|
||||
message = get_object_or_404(Message, pk=messageid)
|
||||
if not message.read_at and message.recipient == request.user.id:
|
||||
message.read_at = datetime.now()
|
||||
message.save()
|
||||
|
||||
context = {"message": message, "type": None}
|
||||
return render(request, "message_details.html", context)
|
||||
context = {"message": message, "type": None}
|
||||
return render(request, "message_details.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["POST"])
|
||||
def delete_message(request, messageid):
|
||||
"""Supprime le message dont la clé est passée en paramètre.
|
||||
"""
|
||||
try:
|
||||
message = Message.objects.get(pk=messageid)
|
||||
"""Supprime le message dont la clé est passée en paramètre.
|
||||
"""
|
||||
try:
|
||||
message = Message.objects.get(pk=messageid)
|
||||
|
||||
if message.sender == request.user or message.recipient == request.user :
|
||||
message.delete()
|
||||
else:
|
||||
return HttpResponse(401)
|
||||
except:
|
||||
return HttpResponse(400)
|
||||
if message.sender == request.user or message.recipient == request.user :
|
||||
message.delete()
|
||||
else:
|
||||
return HttpResponse(401)
|
||||
except:
|
||||
return HttpResponse(400)
|
||||
|
||||
return HttpResponse(200)
|
||||
return HttpResponse(200)
|
||||
|
||||
|
||||
@login_required
|
||||
@require_http_methods(["GET", "POST"])
|
||||
def compose_message(request):
|
||||
"""Permet à l'utilisateur connecté de rédiger un nouveau message.
|
||||
"""
|
||||
"""Permet à l'utilisateur connecté de rédiger un nouveau message.
|
||||
"""
|
||||
|
||||
if request.method == "POST":
|
||||
form = MessageForm(request.POST)
|
||||
if request.method == "POST":
|
||||
form = MessageForm(request.POST)
|
||||
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
return HttpResponseRedirect(reverse("sent_messages"))
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
return HttpResponseRedirect(reverse("sent_messages"))
|
||||
|
||||
print("Invalid form")
|
||||
else:
|
||||
form = MessageForm()
|
||||
print("Invalid form")
|
||||
else:
|
||||
form = MessageForm()
|
||||
|
||||
context = {"form": form, "writer": request.user.id}
|
||||
return render(request, "message_create.html", context)
|
||||
context = {"form": form, "writer": request.user.id}
|
||||
return render(request, "message_create.html", context)
|
||||
|
|
Loading…
Reference in New Issue