def create_playlist(request): form = request.POST name = get_unicode(form, 'name') if not name: return html_error(request, 'No name provided.') # TODO better feedback # Make sure that we can create the playlist. # WTF In fact, we can't use playlist.songs until playlist has been saved. playlist = Playlist(name=name, owner=request.user) try: playlist.save() # BTW This will fail if (name,owner) is not unique. except: return html_error(request, 'A playlist of that name already exists.') # return error(request,'Nonunique name/owner.') # TODO better feedback # Add the specified songs to the playlist. songs = get_song_list(form) playlist.set_songs(songs) playlist.save() # Redirect to the detail page for the newly created playlist. return HttpResponseRedirect(playlist.get_absolute_url())
def create_playlist(request): form = request.POST name = get_unicode(form, 'name') if not name: return html_error(request,'No name provided.') # TODO better feedback # Make sure that we can create the playlist. # WTF In fact, we can't use playlist.songs until playlist has been saved. playlist = Playlist(name=name, owner=request.user) try: playlist.save() # BTW This will fail if (name,owner) is not unique. except: return html_error(request, 'A playlist of that name already exists.') # return error(request,'Nonunique name/owner.') # TODO better feedback # Add the specified songs to the playlist. songs = get_song_list(form) playlist.set_songs(songs) playlist.save() # Redirect to the detail page for the newly created playlist. return HttpResponseRedirect(playlist.get_absolute_url())
def favorite_song(request, song_id): if not request.user.is_authenticated(): return json_response.json_error('User not authenticated.') favorited = request.POST['favorited'] == 'true' try: song = Song.objects.get(pk=int(song_id)) except Song.DoesNotExist: raise Http404 pl = Playlist.get_favorites(request.user, create=True) try: fav = PlaylistEntry.objects.get(song=song, playlist=pl) except PlaylistEntry.DoesNotExist: fav = None if favorited and not fav: pl.append_songs([song]) elif not favorited and fav: fav.delete() return json_response.json_success("%s favorited: %r" % (song_id, favorited))
def favorite_song(request, song_id): if not request.user.is_authenticated(): return json_response.json_error("User not authenticated.") favorited = request.POST["favorited"] == "true" try: song = Song.objects.get(pk=int(song_id)) except Song.DoesNotExist: raise Http404 pl = Playlist.get_favorites(request.user, create=True) try: fav = PlaylistEntry.objects.get(song=song, playlist=pl) except PlaylistEntry.DoesNotExist: fav = None if favorited and not fav: pl.append_songs([song]) elif not favorited and fav: fav.delete() return json_response.json_success("%s favorited: %r" % (song_id, favorited))
def favorites(request): favorites = Playlist.get_favorites(request.user, create=True) return playlist_detail(request, favorites.id)