Exemplo n.º 1
0
def view(request):
    project = get_selected_project(request)

    error_id = request.matchdict["id"]
    try:
        error = Error.objects(project=project.token, id=error_id).get()
    except:
        return HTTPNotFound()

    error.mark_seen(request.user)
    error.save()

    instances = ErrorInstance.objects(hash=error.hash)[:10]

    params = {
        "error": error,
        "selected_project": project,
        "available_projects": Project.objects(),
        "instances": instances,
        "github": GithubLinker(project.github),
    }

    try:
        template = "error-view/" + str(error["language"]).lower() + ".html"
        return render_to_response(template, params)
    except:
        template = "error-view/generic.html"
        return render_to_response(template, params)
Exemplo n.º 2
0
def error_page(request):
    project = get_selected_project(request)

    search = request.GET.get("search", "")
    show = request.GET.get("show", "open")  # open, resolved, mine
    order_by = request.GET.get("order_by", "date")
    direction = request.GET.get("direction", "desc")

    if show not in ["open", "resolved", "mine"]:
        show = "open"

    errors = get_errors(request)

    counts = {
        "open": project.errors().active().filter().count(),
        "openUnseen": project.errors().active().filter(seenby__ne=request.user).count(),
        "resolved": project.errors().resolved().filter().count(),
        "resolvedUnseen": project.errors().resolved().filter(seenby__ne=request.user).count(),
        "mine": project.errors().active().filter(claimedby=request.user).count(),
    }

    return {
        "search": search,
        "errors": errors,
        "selected_project": project,
        "available_projects": Project.objects(),
        "show": show,
        "order_by": order_by,
        "direction": direction,
        "counts": counts,
        "basename": path.basename,
    }
Exemplo n.º 3
0
def admin_project_create(request):
    schema = ProjectFormSchema()
    form = Form(schema, buttons=('submit',))
    form_render = None

    if 'submit' in request.POST:
        controls = request.POST.items()
        try:
            values = form.validate(controls)
            project = Project.from_data(values)
            project.save()

            return HTTPFound(location=request.route_url('admin_project'))

        except ValidationFailure, e:
            form_render = e.render()
Exemplo n.º 4
0
def error_projects(request):
    return {"projects": Project.objects(), "basename": path.basename}
Exemplo n.º 5
0
def admin_project(request):
    return {
        'projects': Project.objects()
    }