示例#1
0
def ticket_list(request, projectslug):
    project = get_object_or_404(Project, slug=projectslug)
    if request.method == "POST":
        if not request.POST.get('report_name'):
            return redirect(request.get_full_path())
        TicketReport.objects.create(
            name=request.POST['report_name'],
            query_string=request.GET.urlencode(),
            project=project
        )
        return redirect('ticket_reports', projectslug=project.slug)
    tickets = project.tickets.all()
    filter = filter_for_project(project)(request.GET or None, queryset=tickets)
    return render_to_response([
        'tickets/%s/ticket_list.html' % project.name,
        'tickets/ticket_list.html',
    ], {'project': project, 'filter': filter}, context_instance=RequestContext(request))
示例#2
0
def ticket_option_chart(request, projectslug, option):
    project = get_object_or_404(Project, slug=projectslug)
    option = get_object_or_404(project.ticketoption_set, name__iexact=option)
    filter_class = filter_for_project(project, exclude=[option.name])
    filter = filter_class(request.GET or None, queryset=project.tickets.all())
    data, total = nums_for_option(option,
        option.choices.filter(ticketoptionselection__ticket__in=filter.qs)
    )
    context = {
        'project': project,
        'option': option,
        'data': data,
        'total': total,
        'options': project.ticketoption_set.exclude(id=option.id),
        'filter': filter
    }
    return render_to_response([
        'tickets/%s/ticket_option_chart.html' % project.name,
        'tickets/ticket_option_chart.html',
    ], context, context_instance=RequestContext(request))