Skip to content

Commit 58a1b55

Browse files
committed
Handle null object fields
1 parent 6ae0e0e commit 58a1b55

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

ansible_base/rbac/service_api/serializers.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ class Meta:
2626

2727
class ActorAnsibleIDField(serializers.Field):
2828
def to_representation(self, actor):
29-
return str(actor.resource.ansible_id)
29+
if actor is None:
30+
return None
31+
resource = actor.resource
32+
if resource is None:
33+
return None
34+
return str(resource.ansible_id)
3035

3136
def to_internal_value(self, data):
3237
resource_cls = apps.get_model('dab_resource_registry', 'Resource')
@@ -68,7 +73,7 @@ class BaseAssignmentSerializer(serializers.ModelSerializer):
6873
role_definition = serializers.SlugRelatedField(slug_field='name', queryset=RoleDefinition.objects.all())
6974
created_by_ansible_id = ActorAnsibleIDField(source='created_by', required=False)
7075
object_ansible_id = ObjectIDAnsibleIDField(source='object_id', required=False, allow_null=True)
71-
object_id = serializers.CharField(allow_blank=True, required=False)
76+
object_id = serializers.CharField(allow_blank=True, required=False, allow_null=True)
7277
from_service = serializers.CharField(write_only=True)
7378

7479
def to_representation(self, instance):

0 commit comments

Comments
 (0)