From 31afd65e7158906d9d0a422f0924a6580cc65c14 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Wed, 19 Jun 2019 14:28:12 +0100 Subject: [PATCH] Refactor permissions checking to use methods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s a bit more concise to use these methods, rather than access the lists directly. And because it’s easier to read it will make later refactoring less bothersome. --- app/models/user.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/models/user.py b/app/models/user.py index 0a1fb3ed2..d156fa904 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -193,11 +193,15 @@ class User(JSONModel, UserMixin): return True if org_id: - return org_id in self.organisation_ids + return self.belongs_to_organisation(org_id) + if not permissions: - return service_id in self.service_ids - if service_id: - return any(x in self._permissions.get(service_id, []) for x in permissions) + return self.belongs_to_service(service_id) + + return any( + self.has_permission_for_service(service_id, permission) + for permission in permissions + ) def has_permission_for_service(self, service_id, permission): return permission in self._permissions.get(service_id, [])