diff --git a/onadata/libs/permissions.py b/onadata/libs/permissions.py index a4dcab841e..fbcf97858d 100644 --- a/onadata/libs/permissions.py +++ b/onadata/libs/permissions.py @@ -162,11 +162,14 @@ def get_object_users_with_permissions(obj): """Returns users, roles and permissions for a object. """ users_with_perms = [] + if obj: users_with_perms = [{ 'user': user, 'role': get_role(permissions, obj), 'permissions': permissions} for user, permissions in - get_users_with_perms(obj, attach_perms=True).items()] + get_users_with_perms(obj, + attach_perms=True, + with_group_users=False).items()] return users_with_perms diff --git a/onadata/libs/serializers/tag_list_serializer.py b/onadata/libs/serializers/tag_list_serializer.py index 2e2de89553..7b38ab63bc 100644 --- a/onadata/libs/serializers/tag_list_serializer.py +++ b/onadata/libs/serializers/tag_list_serializer.py @@ -7,6 +7,7 @@ class TagListSerializer(serializers.WritableField): def from_native(self, data): if type(data) is not list: raise ParseError("expected a list of data") + return data def to_native(self, obj): @@ -14,5 +15,6 @@ def to_native(self, obj): return super(TagListSerializer, self).to_native(obj) if type(obj) is not list: - return [tag.name for tag in obj.all()] + return list(obj.values_list('name', flat=True)) + return obj