When returning all permissions, return then as proxy (volatile)

by default. Same behavior as all() with default arguments.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-08-26 21:59:27 -04:00
parent 43665261cc
commit b0b6ce7be8

View File

@@ -55,18 +55,14 @@ class Permission(object):
@classmethod @classmethod
def all(cls, as_choices=False): def all(cls, as_choices=False):
if as_choices: if as_choices:
StoredPermission = apps.get_model(
app_label='permissions', model_name='StoredPermission'
)
results = [] results = []
for namespace, permissions in itertools.groupby(StoredPermission.objects.all(), lambda entry: entry.namespace): for namespace, permissions in itertools.groupby(cls.all(), lambda entry: entry.namespace):
permission_options = [ permission_options = [
(force_text(permission.pk), permission) for permission in permissions (force_text(permission.uuid), permission) for permission in permissions
] ]
results.append( results.append(
(PermissionNamespace.get(namespace), permission_options) (namespace, permission_options)
) )
return results return results