From 5d59112a9c7badc2cc0a48d1a8e33d48e1e6e719 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Sun, 1 Oct 2017 16:54:42 +0200 Subject: Ajout d’une colonne pour cacher un groupe dans la liste des groupes. Ajout d’actions personnalisées dans l’interface d’administration pour cacher et afficher plusieurs groupes à la fois. Filtrage des groupes cachés dans get_relevant_children() et get_relevant_groups(). --- models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'models.py') diff --git a/models.py b/models.py index 649368e..8bd2399 100644 --- a/models.py +++ b/models.py @@ -71,13 +71,13 @@ class GroupManager(Manager): parent_in = self.get_queryset().filter(parent=group) return self.get_queryset().filter(Q(parent=group) | Q(parent__in=parent_in)) \ .annotate(children_count=Count("children")) \ - .filter(children_count=0) \ + .filter(children_count=0, hidden=False) \ .order_by("name") def get_relevant_groups(self, *args, **criteria): return self.get_queryset().filter(*args, **criteria) \ .annotate(children_count=Count("children")) \ - .filter(children_count=0) + .filter(children_count=0, hidden=False) class Group(models.Model): @@ -99,6 +99,8 @@ class Group(models.Model): slug = models.SlugField(max_length=64, default="") + hidden = models.BooleanField(verbose_name="caché", default=False) + def corresponds_to(self, timetable_id, mention, subgroup, td, tp): return self.timetable.id == timetable_id and \ self.mention.startswith(mention) and \ -- cgit v1.2.1