|
@@ -49,6 +49,19 @@ class IPResourceManager(models.Manager):
|
|
|
return qs
|
|
|
|
|
|
|
|
|
+class ActiveAllocationManager(models.Manager):
|
|
|
+ def get_queryset(self):
|
|
|
+ qs = super().get_queryset()
|
|
|
+ qs = qs.annotate(
|
|
|
+ active=models.Case(
|
|
|
+ models.When(get_active_filter(), then=True),
|
|
|
+ default=False,
|
|
|
+ output_field=models.BooleanField()
|
|
|
+ )
|
|
|
+ )
|
|
|
+ return qs
|
|
|
+
|
|
|
+
|
|
|
class IPResource(models.Model):
|
|
|
CATEGORIES = (
|
|
|
(0, 'IP Public'),
|
|
@@ -160,6 +173,9 @@ class Allocation(models.Model):
|
|
|
end = models.DateTimeField(null=True, blank=True, verbose_name='Fin de la période d’allocation')
|
|
|
notes = models.TextField(blank=True, default='')
|
|
|
|
|
|
+ objects = models.Manager()
|
|
|
+ actives = ActiveAllocationManager()
|
|
|
+
|
|
|
@property
|
|
|
def active(self):
|
|
|
now = timezone.now()
|