Beispiel #1
0
    def renderHTTP_exception(self, ctx, reason):
        log.err(reason)
        request = inevow.IRequest(ctx)
        request.setResponseCode(http.INTERNAL_SERVER_ERROR)
        request.write('<html><head><title>TUMS Error</title><link rel="stylesheet" type="text/css" href="/css/style.css"/></head><body>')
        request.write('<div id="pageTitle"><img src="/images/thusa.png" alt=""/><ul>')
        request.write('<li><h1><a href="/auth/Status/">Dashboard</a></h1>View system status</li>')
        request.write('<li><h1><a href="/auth/Users/">Users</a></h1>Manage user accounts</li>')
        request.write('<li><h1><a href="/auth/Reports/">Reports</a></h1>View system reports</li>')
        request.write('<li><h1><a href="/auth/Tools/">Tools</a></h1>Configure system settings</li></ul></div>')
        request.write('<div id="pageNote"><h2>Error</h2></div><div id="pageSide"></div>')
        request.write('<div id="pageContent">')
        request.write("<h3>An error has occured</h3><p>An error has occurred. We apologise for this inconvenience.</p>")
        request.write("<p><strong>Please don't panic!</strong> The explanation in the box below may contain a simple reason for the problem. ")
        request.write("<br/>This error has been automaticaly emailed to Thusa for analysis.")
        request.write('<div style="height:25em; width:50em; overflow: scroll;">')
        from nevow import failure
        result = ''.join(flat.flatten(failure.formatFailure(reason)))

        #Utils.sendMail("%s <*****@*****.**>" % Settings.LDAPOrganisation, ["*****@*****.**"], "TUMS Error", result, html=True)
        request.write(result)
        request.write('</div></div>')
        request.write("</body></html>")

        request.finishRequest( False )
Beispiel #2
0
    def renderHTTP_exception(self, ctx, reason):
        conf = confparse.Config()
        now = time.time()
        hash = sha.sha("%s%s" % (conf.CompanyName, now)).hexdigest()
        refNo = sum([ord(i) for i in hash+hash])
        log.err(reason)
        request = inevow.IRequest(ctx)
        request.setResponseCode(http.INTERNAL_SERVER_ERROR)
        request.write('<html><head><title>Vulani Error</title><link rel="stylesheet" type="text/css" href="/css/style.css"/></head><body>')
        request.write('<div id="pageTitle"><img id="pageTitleLogo" src="/images/vulani-tums.png" alt=""/>')
        request.write('</div>')
        request.write('<div id="sideContainer"><div id="pageNote">Error</div>')
        request.write('<div id="pageSide">&nbsp;</div></div>')
        request.write('<div id="pageContent">')
        request.write("<h3>An error has occured</h3><p>An error has occurred. We apologise for this inconvenience.</p>")
        request.write('<div style="height:25em; width:50em; overflow: auto;">')
        
        from nevow import failure
        st = flat.flatten(failure.formatFailure(reason))
        print type(st), "ERROR"
        result = ''.join(st)
        resHead = result.split('<a href="#tracebackEnd">')[0].replace('font-size: large;', '')
        realError = result.split('<div class="frame">')[-1]
        print realError
        result = resHead + '<div><div class="frame">' + realError

        if not 'stfu' in dir(Settings):
            Utils.sendMail("%s <*****@*****.**>" % Settings.LDAPOrganisation, ["*****@*****.**"], "[REF: %s] TUMS Error" % refNo, result, html=True)

        request.write(result)
        request.write('</div></div>')
        request.write("</body></html>")

        request.finishRequest( False )
Beispiel #3
0
 def renderHTTP_exception(self, ctx, reason):
     request = inevow.IRequest(ctx)
     request.setResponseCode(http.INTERNAL_SERVER_ERROR)
     request.write("<html><head><title>Exception</title></head><body>")
     from nevow import failure
     result = failure.formatFailure(reason)
     request.write(''.join(flat.flatten(result)))
     request.write("</body></html>")
     server.Request.finish(request)
Beispiel #4
0
 def renderHTTP_exception(self, ctx, reason):
     request = inevow.IRequest(ctx)
     request.setResponseCode(http.INTERNAL_SERVER_ERROR)
     request.write("<html><head><title>Exception</title></head><body>")
     from nevow import failure
     result = failure.formatFailure(reason)
     request.write(''.join(flat.flatten(result)))
     request.write("</body></html>")
     server.Request.finish(request)
Beispiel #5
0
 def renderInlineException(self, context, reason):
     from nevow import failure
     formatted = failure.formatFailure(reason)
     desc = str(reason)
     return flat.serialize([
         stan.xml("""<div style="border: 1px dashed red; color: red; clear: both" onclick="this.childNodes[1].style.display = this.childNodes[1].style.display == 'none' ? 'block': 'none'">"""),
         desc,
         stan.xml('<div style="display: none">'),
         formatted,
         stan.xml('</div></div>')
     ], context)
Beispiel #6
0
 def renderInlineException(self, context, reason):
     from nevow import failure
     formatted = failure.formatFailure(reason)
     desc = str(e)
     return flat.serialize([
         stan.xml("""<div style="border: 1px dashed red; color: red; clear: both" onclick="this.childNodes[1].style.display = this.childNodes[1].style.display == 'none' ? 'block': 'none'">"""),
         desc,
         stan.xml('<div style="display: none">'),
         formatted,
         stan.xml('</div></div>')
     ], context)
Beispiel #7
0
def FailureSerializer(original, ctx):
    from nevow import failure

    return serialize(failure.formatFailure(original), ctx)
Beispiel #8
0
def FailureSerializer(original, ctx):
    from nevow import failure
    return serialize(failure.formatFailure(original), ctx)