예제 #1
0
def doSearch(request, search_terms=None):
    if search_terms == None:
        return HttpResponse("Please enter something!")
    
    user = RequestUtils.getCurrentUser(request)
    polls = PollService().searchPolls(search_terms, user)
    
    return render_to_response("base/poll_lister.html", {"polls":polls})
예제 #2
0
def doSearch(request, search_terms=None):
    if search_terms == None:
        return HttpResponse("Please enter something!")

    user = RequestUtils.getCurrentUser(request)
    polls = PollService().searchPolls(search_terms, user)

    return render_to_response("base/poll_lister.html", {"polls": polls})
예제 #3
0
def index(request, search_terms=None, page_num=1, sort=None):
    initial = {"type":0}
    vars = {}
    vars["sort"] = sort
    if search_terms:
        ps = PollService()
        user = RequestUtils.getCurrentUser(request)
        prefix = "/search/%s" % search_terms
        vars["prefix"] = prefix
        polls = ps.searchPolls(search_terms, user, sort)
        paging_prefix = ps.addSortSuffix(prefix, sort)
        polls = ps.getPollsForLister(polls, request.user, page_num, page_link_prefix=paging_prefix)
        vars.update(polls)
        vars["search_terms"] = search_terms
    vars["form"] = SearchForm(initial=initial)
    vars["meta_desc"] = "Pollstruck search for %s." % search_terms    
    return base.render(request, "search.html", vars)
예제 #4
0
def tag(request, tag_name=None, page_num=1, sort=None):
    """
    tag search page
    """
    vars = {}
    vars["sort"] = sort
    initial = {"type": 1}
    if tag_name:
        vars["search_terms"] = tag_name
        vars["tag"] = tag_name
        tag_prefix = "/tag/%s" % tag_name
        vars["prefix"] = tag_prefix

        tags = []
        tag_names = tag_name.split(",")
        for t in tag_names:
            try:
                tags.append(
                    Tag.objects.get(name=t.strip()))  #@UndefinedVariable
            except Tag.DoesNotExist:  #@UndefinedVariable
                pass
        if len(tags) > 0:
            ps = PollService()
            user = RequestUtils.getCurrentUser(request)
            polls = ps.searchPollsByTag(tag=tags, sort=sort)
            prefix = ps.addSortSuffix(tag_prefix, sort)
            spolls = PollService().getPollsForLister(polls,
                                                     user,
                                                     page_num=page_num,
                                                     page_link_prefix=prefix)
            vars.update(spolls)

    vars["form"] = SearchForm(initial=initial)
    # special side bar for tag search view
    tags = Tag.objects.filter()[0:200]  #@UndefinedVariable
    vars["side_nav_top_title"] = "Tags"
    vars["tag_cloud"] = buildTagCloud(tags)
    desc = "Pollstruck Tag search for: "
    for t in tag_names:
        desc += t.strip()
    desc = desc.rstrip(", ")
    vars["meta_desc"] = desc
    return base.render(request, "search.html", vars)
예제 #5
0
def index(request, search_terms=None, page_num=1, sort=None):
    initial = {"type": 0}
    vars = {}
    vars["sort"] = sort
    if search_terms:
        ps = PollService()
        user = RequestUtils.getCurrentUser(request)
        prefix = "/search/%s" % search_terms
        vars["prefix"] = prefix
        polls = ps.searchPolls(search_terms, user, sort)
        paging_prefix = ps.addSortSuffix(prefix, sort)
        polls = ps.getPollsForLister(polls,
                                     request.user,
                                     page_num,
                                     page_link_prefix=paging_prefix)
        vars.update(polls)
        vars["search_terms"] = search_terms
    vars["form"] = SearchForm(initial=initial)
    vars["meta_desc"] = "Pollstruck search for %s." % search_terms
    return base.render(request, "search.html", vars)
예제 #6
0
def tag(request, tag_name=None, page_num=1, sort=None):
    """
    tag search page
    """
    vars= {}
    vars["sort"] = sort
    initial = {"type":1}
    if tag_name:
        vars["search_terms"] = tag_name
        vars["tag"] = tag_name
        tag_prefix = "/tag/%s" % tag_name
        vars["prefix"] = tag_prefix
        
        tags = []
        tag_names = tag_name.split(",")
        for t in tag_names:
            try:
                tags.append(Tag.objects.get(name=t.strip()))   #@UndefinedVariable
            except Tag.DoesNotExist:   #@UndefinedVariable
                pass
        if len(tags) > 0:
            ps = PollService()
            user = RequestUtils.getCurrentUser(request)
            polls = ps.searchPollsByTag(tag=tags, sort=sort)
            prefix = ps.addSortSuffix(tag_prefix, sort)
            spolls = PollService().getPollsForLister(polls, user, page_num=page_num, page_link_prefix=prefix)
            vars.update(spolls)
                
    vars["form"] = SearchForm(initial=initial)
    # special side bar for tag search view
    tags = Tag.objects.filter()[0:200]   #@UndefinedVariable
    vars["side_nav_top_title"] = "Tags"
    vars["tag_cloud"] = buildTagCloud(tags)    
    desc = "Pollstruck Tag search for: "
    for t in tag_names:
        desc  += t.strip()
    desc = desc.rstrip(", ")
    vars["meta_desc"] = desc
    return base.render(request, "search.html", vars)