From 088895ec433455c64126f78ee315fd474a561047 Mon Sep 17 00:00:00 2001 From: Trullemans Gregory Date: Sun, 20 Jun 2021 14:34:56 +0200 Subject: [PATCH] Close #45 --- src/communication/views.py | 106 ++++++++++++++----------------------- 1 file changed, 41 insertions(+), 65 deletions(-) diff --git a/src/communication/views.py b/src/communication/views.py index cd3be7b..0f726b0 100644 --- a/src/communication/views.py +++ b/src/communication/views.py @@ -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)