if int(userid) != session["userid"]:
abort(401)
- if not query_db("select * from songs where songid = ?", [songid]):
+ song_data = query_db("select * from songs where songid = ?", [songid], one=True)
+
+ if not song_data:
abort(404) # Song doesn't exist
# Delete tags, collaborators
if songpath.exists():
os.remove(songpath)
+ flash(f"Deleted {song_data['title']}")
+
return redirect(request.referrer)
@app.get("/song/<userid>/<songid>")
// Play a new song from the list in the player
function play(event) {
- var song = event.target.parentElement;
+ var song = event.target.parentElement.parentElement.parentElement;
m_songIndex = m_allSongs.indexOf(song);
playCurrentSong();
}
function playCurrentSong() {
var song = m_allSongs[m_songIndex];
+ console.log(song);
var songData = JSON.parse(song.dataset.song);
var audio = document.getElementById("player-audio");
// Song play
for (const element of document.getElementsByClassName("song-play-button")) {
- m_allSongs.push(element.parentElement);
+ m_allSongs.push(element.parentElement.parentElement.parentElement);
element.addEventListener("click", play);
}
});
<a href="/edit-song?songid={{ song.songid }}">Edit</a>
</div>
<div class="song-delete-button">
- <a href="/delete-song/{{ song.userid }}/{{ song.songid }}">Delete</a>
+ <a href="/delete-song/{{ song.userid }}/{{ song.songid }}" onclick="return confirm("Are you sure you want to delete this song?")">Delete</a>
</div>
{% endif %}