Verified Commit f1b3a174 authored by Sli's avatar Sli

core: improve performances on notification reads and display

parent eb9821ed
Pipeline #2005 passed with stage
in 25 minutes and 59 seconds
# -*- coding: utf-8 -*-
# Generated by Django 1.11.24 on 2019-09-08 22:43
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [("core", "0031_auto_20190906_1615")]
operations = [
migrations.AlterField(
model_name="notification",
name="viewed",
field=models.BooleanField(
db_index=True, default=False, verbose_name="viewed"
),
)
]
......@@ -1393,7 +1393,7 @@ class Notification(models.Model):
_("type"), max_length=32, choices=settings.SITH_NOTIFICATIONS, default="GENERIC"
)
date = models.DateTimeField(_("date"), default=timezone.now)
viewed = models.BooleanField(_("viewed"), default=False)
viewed = models.BooleanField(_("viewed"), default=False, db_index=True)
def __str__(self):
if self.param:
......
......@@ -2,6 +2,7 @@
#
# Copyright 2016,2017
# - Skia <skia@libskia.so>
# - Sli <antoine@bartuccio.fr>
#
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
# http://ae.utbm.fr.
......@@ -50,8 +51,9 @@ class NotificationList(ListView):
template_name = "core/notification_list.jinja"
def get_queryset(self):
# TODO: Bulk update in django 2.2
if "see_all" in self.request.GET.keys():
for n in self.request.user.notifications.all():
for n in self.request.user.notifications.filter(viewed=False):
n.viewed = True
n.save()
return self.request.user.notifications.order_by("-date")[:20]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment