Пример #1
0
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
Пример #2
0
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))
Пример #3
0
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))
Пример #4
0
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))
Пример #5
0
                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
    """

    """