From 9350bfa5981cb5ff8b61935fa1726ea681f87578 Mon Sep 17 00:00:00 2001
From: Julian Rother <julianr@fsmpi.rwth-aachen.de>
Date: Tue, 2 Jan 2018 21:08:32 +0100
Subject: [PATCH] Enhanced error page and error notifications

---
 server.py                               | 2 +-
 templates/500.html                      | 4 ++++
 templates/mails/endpoint_exception.body | 2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/server.py b/server.py
index 17db375..6217c77 100644
--- a/server.py
+++ b/server.py
@@ -125,7 +125,7 @@ def handle_not_found(e=None):
 def handle_internal_error(e):
 	traceback.print_exc()
 	notify_admins('endpoint_exception', traceback=traceback.format_exc())
-	return render_template('500.html'), 500
+	return render_template('500.html', online=True), 500
 
 @sched_func(5*60, firstdelay=0)
 def dump_error_page():
diff --git a/templates/500.html b/templates/500.html
index e311fa8..ccd2a1b 100644
--- a/templates/500.html
+++ b/templates/500.html
@@ -7,8 +7,12 @@
 	<div class="row panel-body">
 		<div class="col-xs-12">
 			<p>Es ist ein interner Fehler aufgetreten. Eventuell betrifft dieser nur einen Teil der Seite oder er tritt nur vorübergehend auf. Versuche es doch einfach in ein paar Minuten noch einmal.</p>
+			{% if online %}
+			<p>Wir haben das Problem registriert und werden uns schnellst möglich darum kümmern.</p>
+			{% else %}
 			<p>Falls das Problem länger bestehen sollte, schreib uns bitte eine Mail an <a href="mailto:video@fsmpi.rwth-aachen.de">video@fsmpi.rwth-aachen.de</a> in der du uns die <b>Uhrzeit</b> und <b>aufgerufene Seite</b> nennst und, dass der Fehler auf Server <b>{{ gethostname() }}</b> aufgetreten ist.
 			Wir werden uns dann schnellst möglich darum kümmern.</p>
+			{% endif %}
 		</div>
 	</div>
 </div>
diff --git a/templates/mails/endpoint_exception.body b/templates/mails/endpoint_exception.body
index e0ebfe5..990159c 100644
--- a/templates/mails/endpoint_exception.body
+++ b/templates/mails/endpoint_exception.body
@@ -1,6 +1,8 @@
 {{ request.method }} {{ request.url }}
 
 Endpoint: {{ request.endpoint }}
+Referrer: {{ request.referrer }}
+User-Agent: {{ request.user_agent }}
 Hostname: {{ gethostname() }}
 
 {{ traceback }}
-- 
GitLab