@@ -66,26 +66,14 @@ def search(request, search_type=None, search_query=None):
6666 )
6767 .filter (credit__icontains = search_query ))
6868 elif "pack" in search_type :
69- songs = (
70- Song .objects .prefetch_related (
71- Prefetch ("charts" , queryset = charts_qs )
72- )
73- .select_related ("pack" )
74- .annotate (
75- min_meter = Min ("charts__meter" ),
76- max_meter = Max ("charts__meter" )
77- )
78- .filter (pack__name__icontains = search_query ))
69+ packs = list (Pack .objects .filter (name__icontains = search_query )
70+ .annotate (song_count = Count ('songs' )).order_by ("name" ))
71+ packs .sort (key = lambda pack : natural_sort_key (pack .name ))
72+ return render (request , "main.html" , {"packs" : packs , "search_query" : search_query })
7973 else :
8074 redirect ("/" )
8175
82- return render (request , "search.html" , {"songs" : songs })
83-
84- def pack_list (request ):
85- """list all the packs"""
86- packs = list (Pack .objects .all ().order_by ("name" ))
87- packs .sort (key = lambda pack : natural_sort_key (pack .name ))
88- return render (request , "packs.html" , {"packs" : packs })
76+ return render (request , "search.html" , {"songs" : songs , "search_query" : search_query })
8977
9078def pack_view (request , packid ):
9179 """list all the songs in a pack"""
@@ -271,6 +259,9 @@ def main(request):
271259
272260 return render (request , "main.html" , context )
273261
262+ def faq_view (request ):
263+ """faq view"""
264+ return render (request , "faq.html" , {})
274265#@cache_page(timeout=None) # Cache the view for 1 day
275266def list_all_songs (request ):
276267 """list all songs will query all songs and charts"""
0 commit comments