@@ -345,6 +345,21 @@ def sort_key(d):
345345 return (results , meta )
346346
347347
348+ def get_doc_is_tracked (request , results ):
349+ # Determine whether each document is being tracked or not, and remember
350+ # that so we can display the proper track/untrack option.
351+ doc_is_tracked = { }
352+ if request .user .is_authenticated ():
353+ try :
354+ clist = CommunityList .objects .get (user = request .user )
355+ clist .update ()
356+ except ObjectDoesNotExist :
357+ return doc_is_tracked
358+ for doc in results :
359+ if clist .get_documents ().filter (name = doc .name ).count () > 0 :
360+ doc_is_tracked [doc .name ] = True
361+ return doc_is_tracked
362+
348363def search (request ):
349364 if request .GET :
350365 # backwards compatibility
@@ -367,18 +382,7 @@ def search(request):
367382 results = []
368383 meta = { 'by' : None , 'advanced' : False , 'searching' : False }
369384
370- # Determine whether each document is being tracked or not, and remember
371- # that so we can display the proper track/untrack option.
372- doc_is_tracked = { }
373- if request .user .is_authenticated ():
374- try :
375- clist = CommunityList .objects .get (user = request .user )
376- clist .update ()
377- except ObjectDoesNotExist :
378- pass
379- for doc in results :
380- if clist .get_documents ().filter (name = doc .name ).count () > 0 :
381- doc_is_tracked [doc .name ] = True
385+ doc_is_tracked = get_doc_is_tracked (request , results )
382386
383387 return render_to_response ('doc/search/search.html' ,
384388 {'form' :form , 'docs' :results , 'doc_is_tracked' :doc_is_tracked , 'meta' :meta , },
0 commit comments