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))
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))