Merge branch 'master' into guardian

This commit is contained in:
Langhammer, Jens
2019-10-25 22:18:13 +02:00
21 changed files with 48 additions and 54 deletions

View File

@ -17,8 +17,8 @@ def user_factors(context: RequestContext) -> List[UserSettings]:
matching_factors: List[UserSettings] = []
for factor in _all_factors:
user_settings = factor.user_settings()
policy_engine = PolicyEngine(factor.policies.all())
policy_engine.for_user(user).with_request(context.get('request')).build()
policy_engine = PolicyEngine(factor.policies.all(), user, context.get('request'))
policy_engine.build()
if policy_engine.passing and user_settings:
matching_factors.append(user_settings)
return matching_factors
@ -31,8 +31,8 @@ def user_sources(context: RequestContext) -> List[UserSettings]:
matching_sources: List[UserSettings] = []
for factor in _all_sources:
user_settings = factor.user_settings()
policy_engine = PolicyEngine(factor.policies.all())
policy_engine.for_user(user).with_request(context.get('request')).build()
policy_engine = PolicyEngine(factor.policies.all(), user, context.get('request'))
policy_engine.build()
if policy_engine.passing and user_settings:
matching_sources.append(user_settings)
return matching_sources

View File

@ -31,6 +31,6 @@ class AccessMixin:
def user_has_access(self, application: Application, user: User) -> Tuple[bool, List[str]]:
"""Check if user has access to application."""
LOGGER.debug("Checking permissions", user=user, application=application)
policy_engine = PolicyEngine(application.policies.all())
policy_engine.for_user(user).with_request(self.request).build()
policy_engine = PolicyEngine(application.policies.all(), user, self.request)
policy_engine.build()
return policy_engine.result

View File

@ -16,8 +16,7 @@ class OverviewView(LoginRequiredMixin, TemplateView):
def get_context_data(self, **kwargs):
kwargs['applications'] = []
for application in Application.objects.all():
engine = PolicyEngine(application.policies.all())
engine.for_user(self.request.user).with_request(self.request)
engine = PolicyEngine(application.policies.all(), self.request.user, self.request)
engine.build()
if engine.passing:
kwargs['applications'].append(application)