|
@@ -33,17 +33,13 @@ class ServiceStatusFilter(admin.SimpleListFilter):
|
|
|
)
|
|
|
|
|
|
def queryset(self, request, queryset):
|
|
|
- # Designed with a Karnaugh map, should be correct...
|
|
|
now = timezone.now()
|
|
|
if self.value() == 'forthcoming':
|
|
|
- return queryset.filter(Q(start__isnull=True, end__isnull=True) \
|
|
|
- | Q(start__gt=now))
|
|
|
+ return queryset.filter(Service.get_forthcoming_filter())
|
|
|
if self.value() == 'ongoing':
|
|
|
- return queryset.filter(Q(start__lte=now, end__isnull=True) \
|
|
|
- | Q(start__lte=now, end__gt=now) \
|
|
|
- | Q(start__isnull=True, end__gt=now))
|
|
|
+ return queryset.filter(Service.get_ongoing_filter())
|
|
|
if self.value() == 'finished':
|
|
|
- return queryset.filter(end__lte=now)
|
|
|
+ return queryset.filter(Service.get_finished_filter())
|
|
|
|
|
|
|
|
|
class ServiceAdmin(admin.ModelAdmin):
|
|
@@ -80,14 +76,11 @@ class InUseFilter(admin.SimpleListFilter):
|
|
|
)
|
|
|
|
|
|
def queryset(self, request, queryset):
|
|
|
- now = timezone.now()
|
|
|
- in_use_filter = (Q(service__start__isnull=True) | Q(service__start__lte=now)) \
|
|
|
- & (Q(service__end__isnull=True) | Q(service__end__gt=now)) \
|
|
|
- & (Q(service__start__isnull=True) | Q(service__end__isnull=True))
|
|
|
+ ongoing_filter = Service.get_ongoing_filter()
|
|
|
if self.value() == '0':
|
|
|
- return queryset.filter(in_use_filter)
|
|
|
+ return queryset.filter(ongoing_filter)
|
|
|
if self.value() == '1':
|
|
|
- return queryset.exclude(in_use_filter)
|
|
|
+ return queryset.exclude(ongoing_filter)
|
|
|
|
|
|
|
|
|
class IPResourceAdmin(admin.ModelAdmin):
|