61d7c4d19e7b06e5fbb3e522b57a0b912d6e3975
[auf_rh_dae.git] / src / auf.django.metadata / auf / django / metadata / managers.py
1 # -*- encoding: utf-8 -*-
2
3 from django.db import models
4
5
6 class NoDeleteQuerySet(models.query.QuerySet):
7 """
8 Pas de delete, flag à supprimer sur les entrées.
9 """
10 def delete(self):
11 self.update(supprime=True)
12
13
14 class NoDeleteManager(models.Manager):
15 """
16 Les entrées supprimées sont exclues des querysets.
17 """
18 def get_query_set(self):
19 return NoDeleteQuerySet(self.model, using=self._db).filter(supprime=False)
20
21
22 class ActifsManager(NoDeleteManager):
23 """
24 Seulement les entrées actives
25 """
26 def get_query_set(self):
27 return super(ActifsManager, self).get_query_set().filter(actif=True)
28
29
30 class InactifsManager(NoDeleteManager):
31 """
32 Seulement les entrées inactives
33 """
34 def get_query_set(self):
35 return super(InactifsManager, self).get_query_set().filter(actif=False)