diff --git a/audio/episode_views.py b/audio/episode_views.py index 6b452df..2e23376 100644 --- a/audio/episode_views.py +++ b/audio/episode_views.py @@ -1,4 +1,5 @@ from django.shortcuts import render, redirect +from django.contrib import messages from .forms import EpisodeForm from .models import Feed, Episode, rand_slug from django.utils.text import slugify @@ -31,9 +32,27 @@ def edit_episode(request, pk, title_slug): 'title': 'Edit Episode?', 'submit': 'save', 'form_data': 'TRUE', + 'edit_episode': True, + 'episode_pk': pk, }) +def confirm_delete_episode(request, pk): + if not request.user.is_authenticated: + return redirect('audio:home') + episode = Episode.objects.get(id=pk) + if not episode.user == request.user: + return redirect('audio:home') + if request.method == 'POST': + episode.delete() + messages.success(request, f'Episode {episode.title} deleted!', extra_tags='mb-0') + return redirect('audio:feed', pk=episode.feed.pk, slug=episode.feed.slug) + return render(request, 'audio/delete_episode_confirmation.html', { + 'title': 'Delete Episode?', + 'heading': 'Delete Episode?', + 'episode': episode}) + + def new_episode(request, feed_pk, feed_title_slug): if not request.user.is_authenticated: return redirect('audio:home') diff --git a/audio/templates/audio/delete_episode_confirmation.html b/audio/templates/audio/delete_episode_confirmation.html new file mode 100644 index 0000000..87fc606 --- /dev/null +++ b/audio/templates/audio/delete_episode_confirmation.html @@ -0,0 +1,20 @@ +{% extends "base.html" %} + +{% load crispy_forms_tags %} + +{% block content %} + + {% include "base_navbar.html" %} +
+ {% include "base_heading.html" %} +