diff --git a/categories/views.py b/categories/views.py index b779e8b..6290255 100644 --- a/categories/views.py +++ b/categories/views.py @@ -16,6 +16,8 @@ from .forms import CategoryForm from braces import views from subjects.models import Subject +from log.mixins import LogMixin + class IndexView(LoginRequiredMixin, ListView): login_url = reverse_lazy("users:login") @@ -57,7 +59,11 @@ class IndexView(LoginRequiredMixin, ListView): return context -class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): +class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, LogMixin, CreateView): + log_component = 'category' + log_action = 'create' + log_resource = 'category' + log_context = {} allowed_rules = ['system_admin'] login_url = reverse_lazy('users:login') @@ -93,7 +99,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): def form_valid(self, form): self.object = form.save() + self.log_context['category_id'] = self.object.id + self.log_context['category_name'] = self.object.name + self.log_context['category_slug'] = self.object.slug + super(CreateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) #TODO: Implement log calls return super(CreateCategory, self).form_valid(form) @@ -105,7 +115,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView): return reverse_lazy('categories:index') -class DeleteCategory(DeleteView): +class DeleteCategory(LogMixin, DeleteView): + log_component = 'category' + log_action = 'delete' + log_resource = 'category' + log_context = {} login_url = reverse_lazy("users:login") redirect_field_name = 'next' @@ -125,11 +139,22 @@ class DeleteCategory(DeleteView): return super(DeleteCategory, self).delete(self, request, *args, **kwargs) def get_success_url(self): + self.log_context['category_id'] = self.object.id + self.log_context['category_name'] = self.object.name + self.log_context['category_slug'] = self.object.slug + + super(DeleteCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + messages.success(self.request, _('Category removed successfully!')) return reverse_lazy('categories:index') -class UpdateCategory(UpdateView): +class UpdateCategory(LogMixin, UpdateView): + log_component = 'category' + log_action = 'update' + log_resource = 'category' + log_context = {} + model = Category form_class = CategoryForm template_name = 'categories/update.html' @@ -139,6 +164,12 @@ class UpdateCategory(UpdateView): def get_success_url(self): + self.log_context['category_id'] = self.object.id + self.log_context['category_name'] = self.object.name + self.log_context['category_slug'] = self.object.slug + + super(UpdateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) + objeto = self.object.name messages.success(self.request, _('Category "%s" updated successfully!')%(objeto)) return reverse_lazy('categories:index') -- libgit2 0.21.2