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)})