8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-27 07:02:26 +00:00

Mise en cache affichage résidence

This commit is contained in:
Gabriel Detraz 2019-08-07 02:09:57 +02:00
parent 105348b73a
commit 3f82adb720

View file

@ -42,6 +42,7 @@ import itertools
from django.db import models from django.db import models
from django.db.models.signals import post_save, post_delete from django.db.models.signals import post_save, post_delete
from django.utils.functional import cached_property from django.utils.functional import cached_property
from django.core.cache import cache
from django.dispatch import receiver from django.dispatch import receiver
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import IntegrityError from django.db import IntegrityError
@ -586,6 +587,14 @@ class Dormitory(AclMixin, RevMixin, models.Model):
"""Returns all ap of the dorms""" """Returns all ap of the dorms"""
return AccessPoint.all_ap_in(self.building_set.all()) return AccessPoint.all_ap_in(self.building_set.all())
@classmethod
def is_multiple_dorms(cls):
multiple_dorms = cache.get('multiple_dorms')
if multiple_dorms:
return multiple_dorms
else:
return cache.get_or_set('multiple_dorms', cls.objects.count() > 1)
def __str__(self): def __str__(self):
return self.name return self.name
@ -612,7 +621,7 @@ class Building(AclMixin, RevMixin, models.Model):
return AccessPoint.all_ap_in(self) return AccessPoint.all_ap_in(self)
def get_name(self): def get_name(self):
if Dormitory.objects.count() > 1: if Dormitory.is_multiple_dorms():
return self.dormitory.name + " : " + self.name return self.dormitory.name + " : " + self.name
else: else:
return self.name return self.name