This commit is contained in:
+8
-19
@@ -1286,25 +1286,10 @@ def register_web_routes(app, dependencies):
|
||||
db = dependencies["db"]
|
||||
|
||||
try:
|
||||
# Check if episode exists
|
||||
with db.get_connection() as conn:
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(
|
||||
"SELECT season, episode, dateadded, source FROM episodes WHERE imdb_id = %s AND season = %s AND episode = %s",
|
||||
(imdb_id, season, episode)
|
||||
)
|
||||
episode_data = cursor.fetchone()
|
||||
|
||||
if not episode_data:
|
||||
raise HTTPException(status_code=404, detail="Episode not found")
|
||||
|
||||
# Delete the episode
|
||||
cursor.execute(
|
||||
"DELETE FROM episodes WHERE imdb_id = %s AND season = %s AND episode = %s",
|
||||
(imdb_id, season, episode)
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
# Use the existing database method
|
||||
deleted = db.delete_episode(imdb_id, season, episode)
|
||||
|
||||
if deleted:
|
||||
return {
|
||||
"success": True,
|
||||
"status": "success",
|
||||
@@ -1313,7 +1298,11 @@ def register_web_routes(app, dependencies):
|
||||
"season": season,
|
||||
"episode": episode
|
||||
}
|
||||
else:
|
||||
raise HTTPException(status_code=404, detail="Episode not found")
|
||||
|
||||
except HTTPException:
|
||||
raise # Re-raise HTTP exceptions
|
||||
except Exception as e:
|
||||
print(f"❌ Error deleting episode: {e}")
|
||||
raise HTTPException(status_code=500, detail=f"Failed to delete episode: {str(e)}")
|
||||
|
||||
@@ -457,6 +457,6 @@
|
||||
<!-- Toast Notifications -->
|
||||
<div class="toast-container" id="toast-container"></div>
|
||||
|
||||
<script src="/static/js/app.js?v=2.8.2-20241025-delete-fix"></script>
|
||||
<script src="/static/js/app.js?v=2.8.2-20241025-auth-fix"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1289,16 +1289,11 @@ async function deleteEpisode(imdbId, season, episode) {
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(`/api/episodes/${imdbId}/${season}/${episode}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
const result = await apiCall(`/api/episodes/${imdbId}/${season}/${episode}`, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
if (response.ok && result.success) {
|
||||
if (result.success) {
|
||||
showToast(`✅ Episode ${episodeStr} deleted successfully`, 'success');
|
||||
|
||||
// Remove the row from the table
|
||||
@@ -1312,11 +1307,6 @@ async function deleteEpisode(imdbId, season, episode) {
|
||||
|
||||
// Update episode counts in modal header
|
||||
updateEpisodeModalCounts();
|
||||
|
||||
} else {
|
||||
const errorMsg = result.message || result.error || 'Unknown error';
|
||||
showToast(`❌ Failed to delete episode: ${errorMsg}`, 'error');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('Delete episode failed:', error);
|
||||
|
||||
Reference in New Issue
Block a user