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
@@ -15,17 +15,20 @@ class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView): @@ -15,17 +15,20 @@ class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView):
15 login_url = reverse_lazy("users:login") 15 login_url = reverse_lazy("users:login")
16 redirect_field_name = 'next' 16 redirect_field_name = 'next'
17 template_name = 'news/view.html' 17 template_name = 'news/view.html'
18 - context_object_name = "news" 18 + context_object_name = "new"
19 19
20 def get_context_data(self, **kwargs): 20 def get_context_data(self, **kwargs):
21 context = super(VisualizeNews, self).get_context_data(**kwargs) 21 context = super(VisualizeNews, self).get_context_data(**kwargs)
22 context['title'] = _('Visualize News') 22 context['title'] = _('Visualize News')
23 23
24 return context 24 return context
  25 +
25 def get_queryset(self): 26 def get_queryset(self):
26 slug = self.kwargs.get('slug', '') 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 class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): 32 class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView):
30 login_url = reverse_lazy("users:login") 33 login_url = reverse_lazy("users:login")
31 redirect_field_name = 'next' 34 redirect_field_name = 'next'
@@ -36,25 +39,65 @@ class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): @@ -36,25 +39,65 @@ class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView):
36 39
37 def get_queryset(self): 40 def get_queryset(self):
38 news = News.objects.all().order_by('create_date') 41 news = News.objects.all().order_by('create_date')
  42 +
39 return news 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 class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView): 52 class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView):
42 login_url = reverse_lazy("users:login") 53 login_url = reverse_lazy("users:login")
43 redirect_field_name = 'next' 54 redirect_field_name = 'next'
44 template_name = 'news/create.html' 55 template_name = 'news/create.html'
45 form_class = NewsForm 56 form_class = NewsForm
  57 +
46 def form_valid(self, form): 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 return super(CreateNewsView, self).form_valid(form) 65 return super(CreateNewsView, self).form_valid(form)
49 66
50 def get_success_url(self): 67 def get_success_url(self):
51 messages.success(self.request, _('News successfully created!')) 68 messages.success(self.request, _('News successfully created!'))
52 69
53 return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} ) 70 return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} )
  71 +
54 def get_context_data (self, **kwargs): 72 def get_context_data (self, **kwargs):
55 context = super(CreateNewsView, self).get_context_data(**kwargs) 73 context = super(CreateNewsView, self).get_context_data(**kwargs)
56 context['title'] = _("Create News") 74 context['title'] = _("Create News")
  75 +
57 return context 76 return context
58 77
59 class UpdateNewsView(LoginRequiredMixin,LogMixin,generic.UpdateView): 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)