Skip to content

Commit

Permalink
Fix "Object of type UUID is not JSON serializable" error when viewing…
Browse files Browse the repository at this point in the history
… the account detail page

The fix was to add the issue serializer for the issue field. I'm not sure if we
actually use the issue via the issue note.
  • Loading branch information
luca-vari committed Feb 1, 2024
1 parent 05d9a94 commit 93f2e14
Showing 1 changed file with 29 additions and 28 deletions.
57 changes: 29 additions & 28 deletions app/case/serializers/issue.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,34 +11,6 @@
from .fields import LocalTimeField, LocalDateField


class IssueNoteSerializer(serializers.ModelSerializer):
class Meta:
model = IssueNote
fields = (
"id",
"creator",
"creator_id",
"note_type",
"text",
"text_display",
"created_at",
"issue",
"event",
"reviewee",
)

creator = UserSerializer(read_only=True)
creator_id = serializers.IntegerField(write_only=True)
text_display = serializers.CharField(source="get_text", read_only=True)
reviewee = serializers.SerializerMethodField()
event = serializers.DateTimeField(required=False)
created_at = LocalTimeField()

def get_reviewee(self, obj):
if obj.note_type == "PERFORMANCE":
return UserSerializer(obj.content_object).data


class IssueSerializer(serializers.ModelSerializer):
class Meta:
model = Issue
Expand Down Expand Up @@ -127,6 +99,35 @@ def get_next_review(self, obj):
return next_review.strftime("%d/%m/%y") if next_review else None


class IssueNoteSerializer(serializers.ModelSerializer):
class Meta:
model = IssueNote
fields = (
"id",
"creator",
"creator_id",
"note_type",
"text",
"text_display",
"created_at",
"issue",
"event",
"reviewee",
)

creator = UserSerializer(read_only=True)
creator_id = serializers.IntegerField(write_only=True)
text_display = serializers.CharField(source="get_text", read_only=True)
reviewee = serializers.SerializerMethodField()
issue = IssueSerializer(read_only=True)
event = serializers.DateTimeField(required=False)
created_at = LocalTimeField()

def get_reviewee(self, obj):
if obj.note_type == "PERFORMANCE":
return UserSerializer(obj.content_object).data


class IssueSearchSerializer(serializers.ModelSerializer):
class Meta:
model = Issue
Expand Down

0 comments on commit 93f2e14

Please sign in to comment.