policy(major): simplify PolicyEngine API, add flag to ignore cache for debug purposes

This commit is contained in:
Langhammer, Jens
2019-10-15 15:44:59 +02:00
parent 13f4ea0b8b
commit d4cb1a98c7
10 changed files with 23 additions and 31 deletions

View File

@ -13,8 +13,8 @@ def password_policy_checker(sender, password, **_):
setattr(sender, '__password__', password)
_all_factors = PasswordFactor.objects.filter(enabled=True).order_by('order')
for factor in _all_factors:
policy_engine = PolicyEngine(factor.password_policies.all().select_subclasses())
policy_engine.for_user(sender).build()
policy_engine = PolicyEngine(factor.password_policies.all().select_subclasses(), sender)
policy_engine.build()
passing, messages = policy_engine.result
if not passing:
raise PasswordPolicyInvalid(*messages)