def error_page(request): available_projects = request.registry.settings['projects'] selected_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) return { 'search': search, 'errors': errors, 'selected_project': selected_project, 'available_projects': available_projects, 'show': show, 'order_by': order_by, 'direction': direction, 'tags': Tag.objects(), 'users': User.objects(), }
def list(request): available_projects = request.registry.settings['projects'] selected_project = get_selected_project(request) search = request.params.get('search', '') show = request.GET.getall('show') tags = request.GET.getall('tags') users = request.GET.getall('users') order_by = request.params.get('order', False) direction = request.params.get('direction', False) errors = Error.objects.find_for_list(selected_project, request.user, show) if search: errors = errors.search(search) if tags: errors.filter(tags__in=tags) if users: errors.filter(claimedby__in=users) if order_by != False and errors.count(): if direction and direction == 'desc': order_by = '-' + order_by errors.order_by(order_by) page = request.params.get('page', '1') paginator = Paginator(errors, size_per_page=20, current_page=page) params = { 'search': search, 'errors': paginator.get_current_page(), 'paginator': paginator, 'selected_project': selected_project, 'available_projects': available_projects, 'show': show, 'tags': Tag.objects(), 'users': User.objects(), 'get_error_count': lambda x: Error.objects.find_for_list(selected_project, request.user, x).count() } return render_to_response('error-list.html', params)