diff --git a/src/communication/models.py b/src/communication/models.py index c8b2e23..bd46506 100644 --- a/src/communication/models.py +++ b/src/communication/models.py @@ -15,19 +15,19 @@ class Message(models.Model): message_body (text): Contenu du message. """ - writer = models.ForeignKey( + sender = models.ForeignKey( User, on_delete=models.CASCADE, related_name="have_write" ) date_of_writing = models.DateTimeField( auto_now_add=True, verbose_name="Date of writing" ) - reader = models.ForeignKey(User, on_delete=models.CASCADE, related_name="have_read") + recipient = models.ForeignKey(User, on_delete=models.CASCADE, related_name="have_read") date_of_reading = models.DateTimeField( auto_now=True, verbose_name="Date of reading" ) is_read = models.BooleanField(default=False) - message_title = models.CharField(max_length=255, verbose_name="Title") - message_body = models.TextField(null=True, blank=True, verbose_name="Message",) + title = models.CharField(max_length=255, verbose_name="Title") + body = models.TextField(null=True, blank=True, verbose_name="Message",) def __str__(self): - return "%s - %s : %s" % (self.writer, self.date_of_writing, self.message_title) + return "%s - %s : %s" % (self.sender, self.date_of_writing, self.title) diff --git a/src/communication/tests_models.py b/src/communication/tests_models.py index 65dc5d0..6c15e66 100644 --- a/src/communication/tests_models.py +++ b/src/communication/tests_models.py @@ -8,5 +8,5 @@ import pytest def test_message_tostring(): timing = datetime.now() u = User(username='fred', password='fredpassword') - m = Message(writer=u, date_of_writing=timing, message_title="test") + m = Message(sender=u, date_of_writing=timing, title="test") assert str(m) == "fred - " + str(timing) + " : test" diff --git a/src/communication/views.py b/src/communication/views.py index 2c41f72..d3caf82 100644 --- a/src/communication/views.py +++ b/src/communication/views.py @@ -11,21 +11,12 @@ from .forms import MessageForm from .models import Message -# @login_required -def get_number_unreaded_message(request): +@login_required +def get_number_of_unread_message(request): """Récupère le nombre de messages non lus associés à l'utilisateur en session. - - Remarks: - La fonction s'appelle `get_number_of_unread_message`, - mais retourne l'ensemble des messages de l'utilisateur. - - Pourquoi avoir commenté le décorateur @login_required, alors qu'il est clair - qu'il faut avoir un utilisateur en session pour y accéder ? - - Le participe passé de "non lus", en anglais, c'est "unread", pas "unreaded" """ - return Message.objects.filter(reader=request.user).count() + return Message.objects.filter(reader=request.user).filter(date_of_reading__isnull=True).count() @login_required diff --git a/src/khana/views.py b/src/khana/views.py index 07933a0..aef21d9 100644 --- a/src/khana/views.py +++ b/src/khana/views.py @@ -24,7 +24,7 @@ from people.models import Gymnast, Accident # people model from location.models import Club # location model from objective.models import Skill, Routine # objective model from profile.models import Profile -from communication.views import get_number_unreaded_message +from communication.views import get_number_of_unread_message import pendulum @@ -177,7 +177,7 @@ def home(request): event_list = __getEventInfo(request) unavailable_list = Unavailability.objects.next(5) birthday_list = next_birthdays(request, 5) - number_unreaded_message = get_number_unreaded_message(request) + number_unreaded_message = get_number_of_unread_message(request) courses, courses_done, courses_left = __getCourseInfo(request) context = {