From 3e4c26de13a9ece7959efc5294e76b9fcc22198b Mon Sep 17 00:00:00 2001 From: Akita Noek Date: Mon, 25 Apr 2016 15:43:01 -0400 Subject: [PATCH] Added resource information summary fields to the Role serializer Completes #1676 --- awx/api/serializers.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index ec497d97f6..27be62f633 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -1447,6 +1447,19 @@ class RoleSerializer(BaseSerializer): def to_representation(self, obj): ret = super(RoleSerializer, self).to_representation(obj) + + def spacify_type_name(cls): + return re.sub(r'([a-z])([A-Z])', '\g<1> \g<2>', cls.__name__) + + if obj.object_id: + content_object = obj.content_object + if hasattr(content_object, 'username'): + ret['summary_fields']['resource_name'] = obj.content_object.username + if hasattr(content_object, 'name'): + ret['summary_fields']['resource_name'] = obj.content_object.name + ret['summary_fields']['resource_type'] = obj.content_type.name + ret['summary_fields']['resource_type_display_name'] = spacify_type_name(obj.content_type.model_class()) + ret.pop('created') ret.pop('modified') return ret