policy(major): simplify PolicyEngine API, add flag to ignore cache for debug purposes
This commit is contained in:
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user