Commit bdd84277 authored by Sli's avatar Sli

sentry: integration with error 500 page

parent f7be284b
Pipeline #1555 passed with stage
in 7 minutes and 51 seconds
{% extends "core/base.jinja" %}
{% block head %}
{{ super() }}
<script src="https://browser.sentry-cdn.com/4.0.6/bundle.min.js" crossorigin="anonymous"></script>
{% endblock head %}
{% block content %}
<h3>{% trans %}500, Server Error{% endtrans %}</h3>
{% if request.sentry_dsn %}
<script>
Sentry.init({ dsn: '{{ request.sentry_dsn }}' });
Sentry.showReportDialog({ eventId: '{{ request.sentry_last_event_id() }}' })
</script>
{% endif %}
{% endblock content %}
...@@ -24,8 +24,14 @@ ...@@ -24,8 +24,14 @@
import types import types
from sentry_sdk import last_event_id
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponseForbidden, HttpResponseNotFound from django.http import (
HttpResponseForbidden,
HttpResponseNotFound,
HttpResponseServerError,
)
from django.template import RequestContext
from django.core.exceptions import ( from django.core.exceptions import (
PermissionDenied, PermissionDenied,
ObjectDoesNotExist, ObjectDoesNotExist,
...@@ -65,6 +71,12 @@ def not_found(request): ...@@ -65,6 +71,12 @@ def not_found(request):
return HttpResponseNotFound(render(request, "core/404.jinja")) return HttpResponseNotFound(render(request, "core/404.jinja"))
def internal_servor_error(request):
request.sentry_dsn = settings.SENTRY_DSN
request.sentry_last_event_id = last_event_id
return HttpResponseServerError(render(request, "core/500.jinja"))
def can_edit_prop(obj, user): def can_edit_prop(obj, user):
if obj is None or user.is_owner(obj): if obj is None or user.is_owner(obj):
return True return True
......
This diff is collapsed.
...@@ -48,6 +48,7 @@ js_info_dict = {"packages": ("sith",)} ...@@ -48,6 +48,7 @@ js_info_dict = {"packages": ("sith",)}
handler403 = "core.views.forbidden" handler403 = "core.views.forbidden"
handler404 = "core.views.not_found" handler404 = "core.views.not_found"
handler500 = "core.views.internal_servor_error"
urlpatterns = [ urlpatterns = [
url(r"^", include("core.urls", namespace="core", app_name="core")), url(r"^", include("core.urls", namespace="core", app_name="core")),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment