1from typing import Any
2
3from . import settings
4
5
6def can_be_impersonator(user: Any) -> bool:
7 return settings.IMPERSONATE_ALLOWED(user)
8
9
10def can_impersonate_user(impersonator: Any, target_user: Any) -> bool:
11 if not can_be_impersonator(impersonator):
12 return False
13
14 # You can't impersonate admin users
15 if target_user.is_admin:
16 return False
17
18 return True