1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- from django.utils.translation import gettext_lazy as _
- from rest_framework import serializers
- from .models import UserReport
- # Copy credited to OSS Sentry sentry/web/error_page_embed.py
- DEFAULT_TITLE = _("It looks like we're having issues.")
- GENERIC_ERROR = _(
- "An unknown error occurred while submitting your report. Please try again."
- )
- FORM_ERROR = _("Some fields were invalid. Please correct the errors and try again.")
- SENT_MESSAGE = _("Your feedback has been sent. Thank you!")
- DEFAULT_SUBTITLE = _("Our team has been notified.")
- DEFAULT_SUBTITLE2 = _("If you'd like to help, tell us what happened below.")
- DEFAULT_NAME_LABEL = _("Name")
- DEFAULT_EMAIL_LABEL = _("Email")
- DEFAULT_COMMENTS_LABEL = _("What happened?")
- DEFAULT_CLOSE_LABEL = _("Close")
- DEFAULT_SUBMIT_LABEL = _("Submit Crash Report")
- class ErrorPageEmbedSerializer(serializers.Serializer):
- dsn = serializers.CharField()
- eventId = serializers.CharField()
- title = serializers.CharField(default=DEFAULT_TITLE)
- subtitle = serializers.CharField(default=DEFAULT_SUBTITLE)
- subtitle2 = serializers.CharField(default=DEFAULT_SUBTITLE2)
- labelName = serializers.CharField(default=DEFAULT_NAME_LABEL)
- labelEmail = serializers.CharField(default=DEFAULT_EMAIL_LABEL)
- labelComments = serializers.CharField(default=DEFAULT_COMMENTS_LABEL)
- labelClose = serializers.CharField(default=DEFAULT_CLOSE_LABEL)
- labelSubmit = serializers.CharField(default=DEFAULT_SUBMIT_LABEL)
- errorGeneric = serializers.CharField(default=GENERIC_ERROR)
- errorFormEntry = serializers.CharField(default=FORM_ERROR)
- successMessage = serializers.CharField(default=SENT_MESSAGE)
- class UserReportSerializer(serializers.ModelSerializer):
- eventId = serializers.CharField(source="event_id.hex")
- event = serializers.SerializerMethodField()
- user = serializers.CharField(default=None) # stub
- dateCreated = serializers.DateTimeField(source="created")
- class Meta:
- model = UserReport
- fields = (
- "eventId",
- "name",
- "event",
- "user",
- "dateCreated",
- "id",
- "comments",
- "email",
- )
- def get_event(self, obj):
- return {
- "eventId": obj.event_id.hex,
- }
|