]> git.0d.be Git - django-panik-emissions.git/blobdiff - emissions/views.py
do not error on repeated clicks on remove diffusion link
[django-panik-emissions.git] / emissions / views.py
index 4eec5ee0bd90054636b2d3a25055a5896c87e4dc..0d4d37a28f57aaed7a0c693d815ca5b9a7ac0c8c 100644 (file)
@@ -532,10 +532,14 @@ class DiffusionDeleteView(RedirectView):
         episode = Episode.objects.get(slug=slug, emission__slug=emission_slug)
         if not self.request.user.can_manage(episode):
             raise PermissionDenied()
-        diffusion = Diffusion.objects.get(id=pk)
-        logger.info('deleted diffusion for %s (%s)', diffusion.episode.emission, diffusion.datetime)
-        Diffusion.objects.filter(id=pk).delete()
-        messages.success(self.request, SUCCESS_MESSAGE)
+        try:
+            diffusion = Diffusion.objects.get(id=pk)
+        except Diffusion.DoesNotExist:
+            pass
+        else:
+            logger.info('deleted diffusion for %s (%s)', diffusion.episode.emission, diffusion.datetime)
+            Diffusion.objects.filter(id=pk).delete()
+            messages.success(self.request, SUCCESS_MESSAGE)
         return reverse('episode-view', kwargs={'emission_slug': str(emission_slug), 'slug': str(slug)})