예제 #1
0
def user_error_submit(request):
    try:
        if request.method == "POST" and "epoch" in request.POST:
            error_obj = CaughtError.objects.get(epoch_time=int(request.POST['epoch']))
            error_obj.user_notes = request.POST['user_notes']
            error_obj.save()
            detail_page_url = request.build_absolute_uri(error_obj.view_url)
            
            subject = " User Bug Report - %s" % (error_obj)
            body = render_to_string("better500s/error_with_notes_email.txt", locals(), context_instance=RequestContext(request))
            mail_admins(subject, body, fail_silently=True)
            if telegram and getattr(settings, 'BETTER_500_NOTIFICATION_CHANNEL', False):
                telegram.broadcast(settings.BETTER_500_NOTIFICATION_CHANNEL, subject, detail_page_url, add_to_queue=False)
            home_url = BETTER_500_DEFAULT_RETURN_URL_NAME
            if home_url:
                try:
                    home_url = request.build_absolute_uri(reverse(home_url))
                except:
                    if home_url[0] != "/":
                        home_url = "/%s" % home_url

    except:
        pass
    
    return render_to_response('better500s/feedback_saved.html',locals(), context_instance=RequestContext(request))
예제 #2
0
def user_error_submit(request):
    try:
        if request.method == "POST" and "epoch" in request.POST:
            error_obj = CaughtError.objects.get(
                epoch_time=int(request.POST['epoch']))
            error_obj.user_notes = request.POST['user_notes']
            error_obj.save()
            detail_page_url = request.build_absolute_uri(error_obj.view_url)

            subject = " User Bug Report - %s" % (error_obj)
            body = render_to_string("better500s/error_with_notes_email.txt",
                                    locals(),
                                    context_instance=RequestContext(request))
            mail_admins(subject, body, fail_silently=True)
            if telegram and getattr(settings,
                                    'BETTER_500_NOTIFICATION_CHANNEL', False):
                telegram.broadcast(settings.BETTER_500_NOTIFICATION_CHANNEL,
                                   subject,
                                   detail_page_url,
                                   add_to_queue=False)
            home_url = BETTER_500_DEFAULT_RETURN_URL_NAME
            if home_url:
                try:
                    home_url = request.build_absolute_uri(reverse(home_url))
                except:
                    if home_url[0] != "/":
                        home_url = "/%s" % home_url

    except:
        pass

    return render_to_response('better500s/feedback_saved.html',
                              locals(),
                              context_instance=RequestContext(request))
예제 #3
0
def create_caught_error(request, epoch, traceback, subject_prefix=""):
    error_obj = CaughtError.objects.create(
                            epoch_time=epoch,
                            user=request.user,
                            error_time=datetime.datetime.now(),
                            simple_traceback=traceback
                            )
    try:
        detail_page_url = request.build_absolute_uri(error_obj.view_url)
        subject = "%s500 - %s" % (subject_prefix, error_obj)
        body = render_to_string("better500s/admin_email.txt", locals(), context_instance=RequestContext(request))
        mail_admins(subject, body, fail_silently=True)
        if telegram and getattr(settings, 'BETTER_500_NOTIFICATION_CHANNEL', False):
            telegram.broadcast(settings.BETTER_500_NOTIFICATION_CHANNEL, subject, detail_page_url, add_to_queue=False)
    except:
        log = logging.getLogger("better500s")
        log.error(exception_string())
        pass
예제 #4
0
def create_caught_error(request, epoch, traceback, subject_prefix=""):
    error_obj = CaughtError.objects.create(epoch_time=epoch,
                                           user=request.user,
                                           error_time=datetime.datetime.now(),
                                           simple_traceback=traceback)
    try:
        detail_page_url = request.build_absolute_uri(error_obj.view_url)
        subject = "%s500 - %s" % (subject_prefix, error_obj)
        body = render_to_string("better500s/admin_email.txt",
                                locals(),
                                context_instance=RequestContext(request))
        mail_admins(subject, body, fail_silently=True)
        if telegram and getattr(settings, 'BETTER_500_NOTIFICATION_CHANNEL',
                                False):
            telegram.broadcast(settings.BETTER_500_NOTIFICATION_CHANNEL,
                               subject,
                               detail_page_url,
                               add_to_queue=False)
    except:
        log = logging.getLogger("better500s")
        log.error(exception_string())
        pass