Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Re2o
re2o
Commits
e3e77ea1
Commit
e3e77ea1
authored
Nov 06, 2017
by
dstan
Browse files
all_has_access filtre par service
et filter_active_interfaces aussi
parent
7b1e9946
Changes
1
Hide whitespace changes
Inline
Side-by-side
re2o/utils.py
View file @
e3e77ea1
...
...
@@ -85,12 +85,18 @@ def all_whitelisted(search_time=DT_NOW):
).
distinct
()
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
))
|
Q
(
facture__in
=
Facture
.
objects
.
filter
(
vente__in
=
Vente
.
objects
.
filter
(
...
...
@@ -106,11 +112,12 @@ def all_has_access(search_time=DT_NOW):
).
distinct
()
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
(
machine__in
=
Machine
.
objects
.
filter
(
user__in
=
all_has_access
()
user__in
=
all_has_access
(
service
=
service
)
).
filter
(
active
=
True
)
).
select_related
(
'domain'
).
select_related
(
'machine'
)
\
.
select_related
(
'type'
).
select_related
(
'ipv4'
)
\
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment