Commit e3e77ea1 authored by dstan's avatar dstan
Browse files

all_has_access filtre par service

et filter_active_interfaces aussi
parent 7b1e9946
......@@ -85,12 +85,18 @@ def all_whitelisted(search_time=DT_NOW):
def all_has_access(search_time=DT_NOW):
def all_has_access(search_time=DT_NOW, service=None):
""" Renvoie tous les users beneficiant d'une connexion
: user adherent ou whiteliste et non banni """
: user adherent ou whiteliste et non banni.
Si service est fourni, ne considère (exclu) que les gens bannis pour
ce service.
ban_set = Ban.objects.filter(date_end__gt=search_time)
if service:
ban_set = ban_set.filter(ban_type__inhibited_services=service)
return User.objects.filter(
Q(state=User.STATE_ACTIVE) &
~Q(ban__in=Ban.objects.filter(date_end__gt=search_time)) &
~Q(ban__in=ban_set) &
(Q(whitelist__in=Whitelist.objects.filter(date_end__gt=search_time)) |
......@@ -106,11 +112,12 @@ def all_has_access(search_time=DT_NOW):
def filter_active_interfaces(interface_set):
"""Filtre les machines autorisées à sortir sur internet dans une requête"""
def filter_active_interfaces(interface_set, service=None):
"""Filtre les machines autorisées à sortir sur internet (ou juste pour
un service donné, si fourni) dans une requête"""
return interface_set.filter(
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment