Example #1
0
def search_track(request):
	query_string = request.GET.get('q', '')
	cur_user = get_user(request) 
	
	if (cur_user.is_authenticated()):
		playlists = Playlist.objects.filter(created_by=cur_user)
	else: 
		playlists = []
	
	form = SearchForm()

	if query_string:
		LIST_HEADERS = (
				('Title', 'track__title'),
				('Artists', 'track__trackartist__artist__name'),
				('Music Writer', 'track__music_writer'),
				('Release Date', 'track__release_date'),
				('Genre', 'track__genre__genre_name'),
				('Original Version', 'track__original_version__title'),
				)

#		additional_params = 'q=' + query_string
		
		sort_headers = SortHeaders(request, LIST_HEADERS)

		entry_query = get_query(query_string.strip(), ['track__title', 'record__genre__genre_name',\
													'track__music_writer', 'track__genre__genre_name' ,\
													'track__trackartist__artist__name', 'record__title', ])
		track_list = Recordtrack.objects.filter(entry_query).order_by(sort_headers.
																	get_order_by()).distinct()
			
		context = {'q':query_string, 'form': form, 'request_querydict': request.GET, \
				'playlists': playlists, 'view': 'track', 'headers': sort_headers.headers(), }
		
		
		return object_list(request, template_name='search_results.html',
         queryset=track_list, paginate_by=10, extra_context=context) 
				
	else:
		form = SearchForm()
		context = {'form': form, 'record_list': []}
		
		t = loader.get_template("search_results.html")
		c = RequestContext(request, context)
		return HttpResponse(t.render(c))
Example #2
0
def library(request, list_type):
	user = get_user(request)
	
	LIST_HEADERS = (	
				('Title', 'record__title'),
				('Artist', 'record__artist__name'),
				('Genre', 'record__genre__genre_name'),
				('Category', 'record__category__category_name'),
				('# of Tracks', 'num_tracks'),
				('Producer', 'record__producer'),
				)
		
	sort_headers = SortHeaders(request, LIST_HEADERS)  
	records = RecordLibraryItem.objects.filter(user=user.id, \
											library__library_type=list_type)\
											.annotate(num_tracks=Count('record__recordtrack')).order_by(sort_headers.get_order_by())
	
	return object_list(request, template_name='library.html',
         queryset=records, paginate_by=10, extra_context={'list_type':list_type, 'request_querydict': request.GET,
														'headers': list(sort_headers.headers())})
Example #3
0
def playlists(request, pltype):
	user = get_user(request)
	
	LIST_HEADERS = (
				('Playlist', 'list_name'),
				('Created by', 'created_by__username'),
				('Created on', 'created_on'),
				('# of Records', 'num_records'),
				)
		
	sort_headers = SortHeaders(request, LIST_HEADERS)
	if (pltype == 'my'):
		playlists = Playlist.objects.filter(created_by__id=user.id)\
							.annotate(num_records=Count('playlistitem')).order_by(sort_headers.get_order_by())
	elif (pltype == 'sharedwm'):
		playlists = Playlist.objects.filter(playlistshare__shared_to__id=user.id)\
							.annotate(num_records=Count('playlistitem')).order_by(sort_headers.get_order_by())
	elif (pltype == 'myshared'):
		playlists = Playlist.objects.filter(playlistshare__created_by__id=user.id)\
							.annotate(num_records=Count('playlistitem')).order_by(sort_headers.get_order_by())
	else:
		pltype = 'all'
		playlists = Playlist.objects.filter(is_published=True).annotate(num_records=Count('playlistitem'))\
							.order_by(sort_headers.get_order_by())
			
	return object_list(request, template_name='playlists.html',
         queryset=playlists, paginate_by=10, extra_context={'ptype':pltype, 
														'request_querydict': request.GET, 'headers': list(sort_headers.headers())})
Example #4
0
def search_record(request):
	query_string = request.GET.get('q', '')
	
	form = SearchForm()

	if query_string:
		LIST_HEADERS = (
				('Title', 'title'),
				('Matrix Number', 'matrix_number'),
				('Artists', 'artist__name'),
				('Rating', 'rating__avg_rating'),
				('Genre', 'genre__genre_name'),
				('Category', 'category__category_name'),
				)
#		additional_params = 'q=' + query_string
		
		sort_headers = SortHeaders(request, LIST_HEADERS)

		entry_query = get_query(query_string.strip(), ['title', 'genre__genre_name', 'category__category_name',
													'artist__name', 'recordtrack__track__title', ])

		record_list = Record.objects.filter(entry_query).order_by(sort_headers.get_order_by()).distinct()
		
		context = {'q':query_string, 'form': form, 
				
				'request_querydict': request.GET, 
				'view': 'rec', 'headers': sort_headers.headers()}
		
		return object_list(request, template_name='search_results.html',
         queryset=record_list, paginate_by=10, extra_context=context) 
		
	else:
		form = SearchForm()
		context = {'form': form, 'record_list': []}
		
		t = loader.get_template("search_results.html")
		c = RequestContext(request, context)
		return HttpResponse(t.render(c))