From 668a9adf98d0ae339faaa37abe164c3af067e734 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Fri, 8 Feb 2019 15:04:09 -0600 Subject: [PATCH] Fix up mixin for API views to inherit default permissions --- gracedb/api/v1/mixins.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gracedb/api/v1/mixins.py b/gracedb/api/v1/mixins.py index 4526e3f03..b2b8b11e6 100644 --- a/gracedb/api/v1/mixins.py +++ b/gracedb/api/v1/mixins.py @@ -127,7 +127,12 @@ class InheritDefaultPermissionsMixin(object): permission_classes = () def get_permissions(self): - # Cast to lists to be safe, since these might be tuples - permission_list = list(api_settings.DEFAULT_PERMISSION_CLASSES) + \ - list(self.permission_classes) + # Cast default permissions to a list + permission_list = list(api_settings.DEFAULT_PERMISSION_CLASSES) + + # Add any class-level permissions that aren't already included + permission_list += [p for p in self.permission_classes + if p not in permission_list] + + # Return full list of instantiated permissions return [permission() for permission in permission_list] -- GitLab