def search(request, page=1): """ Takes a post, searches, and either redirects to a list of matching items (or no items), or the specific issue """ extra_context = {} data = request.REQUEST.copy() if data: # in this case, we get to process the stuff term = data.get('search_term', False) if term: try: issue_id = int(term) # if this is an issue id, then send them to that view issue = im.Issue.objects.get(pk=issue_id) return HttpResponseRedirect(reverse('IssueTracker-view', args=[issue_id])) except ObjectDoesNotExist, e: # search_term was not an id, search by string pass except ValueError, e: # search_term was not an id, search by string pass issues = issueSearch.titleSearch(term) args = utils.generatePageList(request, issues, page) args['last_search_term'] = term
def allUnresolved(request, page=1): """ Lists all the Issues, in-order by newest """ objects = im.Issue.objects.filter(resolved_state__isnull=True).reverse() args = utils.generatePageList(request, objects, page) args['issues'] = args['objects'] args['no_results'] = args['page'].object_list.count() < 1 return render_to_response("issue_list.html", args, context_instance=RequestContext(request))
def allBroken(request, page=1): """ Lists all the Issues """ objects = im.Issue.objects.filter(resolved_state__isnull=True) args = utils.generatePageList(request, objects, page) args['issues'] = args['objects'] issues_list = {'Issues on Unusable Machines':[]} for issue in args['issues']: iss_id = issue.item.item_id machine = mac.Item.objects.get(item_id=iss_id) if machine.unusable: issues_list['Issues on Unusable Machines'].append(issue) args['object_list'] = issues_list.items() args['no_results'] = args['page'].object_list.count() < 1 return render_to_response("grouped_issue_list.html", args, context_instance=RequestContext(request))
def filteredList(request, filter_by=None, filter_val=None, page=1): """ Lists issues, filter """ filter = {} if filter_by in ('assignee','reporter'): filter['assignee__username'] = filter_val else: return HttpResponseBadRequest() objects = im.Issue.objects.filter(resolved_state__isnull=True, **filter).reverse() args = utils.generatePageList(request, objects, page) args['issues'] = args['objects'] args['no_results'] = args['page'].object_list.count() < 1 return render_to_response("issue_list.html", args, context_instance=RequestContext(request))
return HttpResponseRedirect(reverse('IssueTracker-view', args=[issue_id])) except ObjectDoesNotExist, e: # search_term was not an id, search by string pass except ValueError, e: # search_term was not an id, search by string pass issues = issueSearch.titleSearch(term) args = utils.generatePageList(request, issues, page) args['last_search_term'] = term #extra_context['error'] = 'Issue with id "%i" not found.' % term else: args = utils.generatePageList(request, im.Issue.objects.all(), page) return render_to_response("issue_list.html", args, context_instance=RequestContext(request)) else: return HttpResponseRedirect("/") @permission_required('IssueTracker.can_view', login_url="/login/") def advSearch(request): """ advSearch Takes user to the advanced search form page """ """