def actors(request): sort_key = request.GET.get('sort', DEFAULT_SORT) sort = VALID_ACTORS_SORT.get(sort_key, DEFAULT_SORT) #TODO: Ordered by Bacon number instead of alphabetically. if sort == 'bacon': actors_all = Actors.all_ordered_alphabetically() else: actors_all = Actors.all_ordered_alphabetically() if 'search_query' in request.GET: return search_actors(request, actors_all) else: return render_to_response('tvmaniacs/actors.html', {'Actors': actors_all, 'page_limit': Actors.page_limit()}, context_instance=RequestContext(request))
def search_actors(request, actors_list): text_list = request.GET["search_query"].split() if len(text_list) == 0: found_actors = actors_list else: condition = Q(first_name__icontains=text_list[0]) condition |= Q(last_name__icontains=text_list[0]) if len(text_list) > 1: for string in text_list[1:]: condition |= Q(first_name__icontains=string) condition |= Q(last_name__icontains=string) found_actors = actors_list.filter(condition) message = "Results: " + str(len(found_actors)) return render_to_response('tvmaniacs/actors.html', {'Actors': found_actors, 'page_limit': Actors.page_limit(), 'search_message': message }, context_instance=RequestContext(request))
def actors(request): sort_key = request.GET.get('sort', DEFAULT_SORT) sort = VALID_ACTORS_SORT.get(sort_key, DEFAULT_SORT) #TODO: Ordered by Bacon number instead of alphabetically. if sort == 'bacon': actors_all = Actors.all_ordered_alphabetically() else: actors_all = Actors.all_ordered_alphabetically() if 'search_query' in request.GET: return search_actors(request, actors_all) else: return render_to_response('tvmaniacs/actors.html', { 'Actors': actors_all, 'page_limit': Actors.page_limit() }, context_instance=RequestContext(request))
def search_actors(request, actors_list): text_list = request.GET["search_query"].split() if len(text_list) == 0: found_actors = actors_list else: condition = Q(first_name__icontains=text_list[0]) condition |= Q(last_name__icontains=text_list[0]) if len(text_list) > 1: for string in text_list[1:]: condition |= Q(first_name__icontains=string) condition |= Q(last_name__icontains=string) found_actors = actors_list.filter(condition) message = "Results: " + str(len(found_actors)) return render_to_response('tvmaniacs/actors.html', { 'Actors': found_actors, 'page_limit': Actors.page_limit(), 'search_message': message }, context_instance=RequestContext(request))