diff --git a/news/views.py b/news/views.py index 4b55fbc..4d22538 100644 --- a/news/views.py +++ b/news/views.py @@ -12,6 +12,11 @@ from .models import News from .forms import NewsForm class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView): + log_action = "view_new" + log_resource = "news" + log_component = "news" + log_context = {} + login_url = reverse_lazy("users:login") redirect_field_name = 'next' template_name = 'news/view.html' @@ -27,9 +32,20 @@ class VisualizeNews(LoginRequiredMixin,LogMixin,generic.ListView): slug = self.kwargs.get('slug', '') new = News.objects.get(slug=slug) + self.log_context['new_title'] = new.title + self.log_context['new_slug'] = new.slug + + super(VisualizeNews, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + return new class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): + log_action = "view_list_of_news" + log_resource = "news" + log_component = "news" + log_context = {} + + login_url = reverse_lazy("users:login") redirect_field_name = 'next' @@ -46,10 +62,17 @@ class ListNewsView(LoginRequiredMixin,LogMixin,generic.ListView): context = super(ListNewsView, self).get_context_data(**kwargs) context['title'] = _('Manage News') + super(ListNewsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + return context class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView): + log_action = "create" + log_resource = "news" + log_component = "news" + log_context = {} + login_url = reverse_lazy("users:login") redirect_field_name = 'next' template_name = 'news/create.html' @@ -62,6 +85,13 @@ class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView): self.object.save() + self.log_context['new_creator_user'] = self.object.creator.get_short_name() + self.log_context['new_title'] = self.object.title + self.log_context['new_slug'] = self.object.slug + + super(CreateNewsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + + return super(CreateNewsView, self).form_valid(form) def get_success_url(self): @@ -76,31 +106,43 @@ class CreateNewsView(LoginRequiredMixin,LogMixin,generic.edit.CreateView): return context class UpdateNewsView(LoginRequiredMixin,LogMixin,generic.UpdateView): - login_url = reverse_lazy("users:login") - redirect_field_name = 'next' - template_name = 'news/update.html' - form_class = NewsForm - model = News + log_action = "update" + log_resource = "news" + log_component = "news" + log_context = {} - def get_success_url(self): - messages.success(self.request, _('News successfully created!')) + login_url = reverse_lazy("users:login") + redirect_field_name = 'next' + template_name = 'news/update.html' + form_class = NewsForm + model = News - return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} ) + def get_success_url(self): + messages.success(self.request, _('News successfully created!')) - def get_context_data (self, **kwargs): - context = super(UpdateNewsView, self).get_context_data(**kwargs) - context['title'] = _("Update News") + return reverse_lazy('news:view', kwargs = {'slug': self.object.slug} ) - return context + def get_context_data (self, **kwargs): + context = super(UpdateNewsView, self).get_context_data(**kwargs) + context['title'] = _("Update News") - def form_valid(self, form): - self.object = form.save(commit = False) - creator = self.request.user - self.object.creator = creator + return context - self.object.save() + def form_valid(self, form): + self.object = form.save(commit = False) + creator = self.request.user + self.object.creator = creator - return super(UpdateNewsView, self).form_valid(form) + self.object.save() + + self.log_context['new_update_user'] = self.object.creator.get_short_name() + self.log_context['new_title'] = self.object.title + self.log_context['new_slug'] = self.object.slug + + super(UpdateNewsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + + + return super(UpdateNewsView, self).form_valid(form) class SearchNewsView(LoginRequiredMixin, LogMixin, generic.ListView): login_url = reverse_lazy("users:login") @@ -145,6 +187,11 @@ class SearchNewsView(LoginRequiredMixin, LogMixin, generic.ListView): return context class DeleteNewsView(LoginRequiredMixin,LogMixin,generic.DeleteView): + log_component = 'news' + log_action = 'delete' + log_resource = 'news' + log_context = {} + login_url = reverse_lazy("users:login") redirect_field_name = 'next' @@ -167,4 +214,10 @@ class DeleteNewsView(LoginRequiredMixin,LogMixin,generic.DeleteView): news = get_object_or_404(News, slug = self.kwargs.get('slug')) context['new'] = news + self.log_context['new_creator'] = news.creator.get_short_name() + self.log_context['new_title'] = news.title + self.log_context['new_slug'] = news.slug + + super(DeleteNewsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + return context -- libgit2 0.21.2