Commit 1805ce3818c1d917e13b97b5341b5dc4331aff88

Authored by Gustavo
1 parent 602ce57c

Update view and other views updated and now working fine

Showing 1 changed file with 48 additions and 5 deletions   Show diff stats
news/views.py
... ... @@ -15,17 +15,20 @@ class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView):
15 15 login_url = reverse_lazy("users:login")
16 16 redirect_field_name = 'next'
17 17 template_name = 'news/view.html'
18   - context_object_name = "news"
  18 + context_object_name = "new"
19 19  
20 20 def get_context_data(self, **kwargs):
21 21 context = super(VisualizeNews, self).get_context_data(**kwargs)
22 22 context['title'] = _('Visualize News')
23 23  
24 24 return context
  25 +
25 26 def get_queryset(self):
26 27 slug = self.kwargs.get('slug', '')
27   - news = News.objects.get(slug=slug)
28   - return news
  28 + new = News.objects.get(slug=slug)
  29 +
  30 + return new
  31 +
29 32 class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView):
30 33 login_url = reverse_lazy("users:login")
31 34 redirect_field_name = 'next'
... ... @@ -36,25 +39,65 @@ class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView):
36 39  
37 40 def get_queryset(self):
38 41 news = News.objects.all().order_by('create_date')
  42 +
39 43 return news
40 44  
  45 + def get_context_data(self, **kwargs):
  46 + context = super(ListNewsViewNews, self).get_context_data(**kwargs)
  47 + context['title'] = _('Manage News')
  48 +
  49 + return context
  50 +
  51 +
41 52 class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView):
42 53 login_url = reverse_lazy("users:login")
43 54 redirect_field_name = 'next'
44 55 template_name = 'news/create.html'
45 56 form_class = NewsForm
  57 +
46 58 def form_valid(self, form):
47   - self.object = form.save()
  59 + self.object = form.save(commit = False)
  60 + creator = self.request.user
  61 + self.object.creator = creator
  62 +
  63 + self.object.save()
  64 +
48 65 return super(CreateNewsView, self).form_valid(form)
49 66  
50 67 def get_success_url(self):
51 68 messages.success(self.request, _('News successfully created!'))
52 69  
53 70 return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} )
  71 +
54 72 def get_context_data (self, **kwargs):
55 73 context = super(CreateNewsView, self).get_context_data(**kwargs)
56 74 context['title'] = _("Create News")
  75 +
57 76 return context
58 77  
59 78 class UpdateNewsView(LoginRequiredMixin,LogMixin,generic.UpdateView):
60   - pass
  79 + login_url = reverse_lazy("users:login")
  80 + redirect_field_name = 'next'
  81 + template_name = 'news/update.html'
  82 + form_class = NewsForm
  83 + model = News
  84 +
  85 + def get_success_url(self):
  86 + messages.success(self.request, _('News successfully created!'))
  87 +
  88 + return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} )
  89 +
  90 + def get_context_data (self, **kwargs):
  91 + context = super(UpdateNewsView, self).get_context_data(**kwargs)
  92 + context['title'] = _("Update News")
  93 +
  94 + return context
  95 +
  96 + def form_valid(self, form):
  97 + self.object = form.save(commit = False)
  98 + creator = self.request.user
  99 + self.object.creator = creator
  100 +
  101 + self.object.save()
  102 +
  103 + return super(UpdateNewsView, self).form_valid(form)
... ...