Fix showing a suitable error page for diffs with internal errors.
Review Request #7427 — Created June 15, 2015 and submitted — Latest diff uploaded
When hitting an internal error, we'd attempt to render the diff viewer page with the error information. This ended up breaking though, since later in the page, the JavaScript block would try to access context variables that didn't exist, causing an entirely different error to display. We no longer execute that section of the block when showing an error, allowing the error information to show through. I've also cleaned up the presentation just a bit so that it's not completely meaningless, and so that we don't show the traceback unless it's being viewed by a superuser. This will help prevent some leakage of information here, while allowing admins to get the details.
Triggered an error and viewed the page as an admin, as as a normal user.
Saw the two versions of the page. I no longer got the Django traceback
about the context variables.