diff --git a/news/views.py b/news/views.py index 61bc806..0b697ca 100644 --- a/news/views.py +++ b/news/views.py @@ -15,17 +15,20 @@ class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView): login_url = reverse_lazy("users:login") redirect_field_name = 'next' template_name = 'news/view.html' - context_object_name = "news" + context_object_name = "new" def get_context_data(self, **kwargs): context = super(VisualizeNews, self).get_context_data(**kwargs) context['title'] = _('Visualize News') return context + def get_queryset(self): slug = self.kwargs.get('slug', '') - news = News.objects.get(slug=slug) - return news + new = News.objects.get(slug=slug) + + return new + class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): login_url = reverse_lazy("users:login") redirect_field_name = 'next' @@ -36,25 +39,65 @@ class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): def get_queryset(self): news = News.objects.all().order_by('create_date') + return news + def get_context_data(self, **kwargs): + context = super(ListNewsViewNews, self).get_context_data(**kwargs) + context['title'] = _('Manage News') + + return context + + class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView): login_url = reverse_lazy("users:login") redirect_field_name = 'next' template_name = 'news/create.html' form_class = NewsForm + def form_valid(self, form): - self.object = form.save() + self.object = form.save(commit = False) + creator = self.request.user + self.object.creator = creator + + self.object.save() + return super(CreateNewsView, self).form_valid(form) def get_success_url(self): messages.success(self.request, _('News successfully created!')) return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} ) + def get_context_data (self, **kwargs): context = super(CreateNewsView, self).get_context_data(**kwargs) context['title'] = _("Create News") + return context class UpdateNewsView(LoginRequiredMixin,LogMixin,generic.UpdateView): - pass + login_url = reverse_lazy("users:login") + redirect_field_name = 'next' + template_name = 'news/update.html' + form_class = NewsForm + model = News + + def get_success_url(self): + messages.success(self.request, _('News successfully created!')) + + return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} ) + + def get_context_data (self, **kwargs): + context = super(UpdateNewsView, self).get_context_data(**kwargs) + context['title'] = _("Update News") + + return context + + def form_valid(self, form): + self.object = form.save(commit = False) + creator = self.request.user + self.object.creator = creator + + self.object.save() + + return super(UpdateNewsView, self).form_valid(form) -- libgit2 0.21.2