Commit 531d654ede3d28b7a912ef52bde315a7c0e551b6

Authored by Gustavo
1 parent ae4ef72e

Delete view included

Showing 1 changed file with 24 additions and 2 deletions   Show diff stats
news/views.py
1   -from django.shortcuts import render
  1 +from django.shortcuts import get_object_or_404, redirect, render
2 2 from django.views import generic
3 3 from django.contrib.auth.mixins import LoginRequiredMixin
4 4 from log.models import Log
... ... @@ -145,4 +145,26 @@ class SearchNewsView(LoginRequiredMixin, LogMixin, generic.ListView):
145 145 return context
146 146  
147 147 class DeleteNewsView(LoginRequiredMixin,LogMixin,generic.DeleteView):
148   - pass
  148 + login_url = reverse_lazy("users:login")
  149 + redirect_field_name = 'next'
  150 +
  151 + model = News
  152 + template_name = 'news/delete.html'
  153 +
  154 + def delete(self, request, *args, **kwargs):
  155 + news = get_object_or_404(News, slug = self.kwargs.get('slug'))
  156 + return super(DeleteNewsView, self).delete(self, request, *args, **kwargs)
  157 +
  158 + def get_success_url(self):
  159 + messages.success(self.request, _('News "%s" removed successfully!')%(self.object.title))
  160 + success_url = reverse_lazy('news:manage_news')
  161 +
  162 + return success_url
  163 +
  164 + def get_context_data(self, **kwargs):
  165 + context = super(DeleteNewsView, self).get_context_data(**kwargs)
  166 + context['title'] = _('Delete News')
  167 + news = get_object_or_404(News, slug = self.kwargs.get('slug'))
  168 + context['new'] = news
  169 +
  170 + return context
... ...