Commit bfb98dad89c02682732251a24d49ae6a30671305

Authored by Felipe Henrique de Almeida Bormann
2 parents 3699b36b 3638ec18

Merge branch 'refactoring' of https://github.com/amadeusproject/amadeuslms into refactoring

Showing 1 changed file with 42 additions and 3 deletions   Show diff stats
categories/views.py
... ... @@ -16,6 +16,8 @@ from .forms import CategoryForm
16 16 from braces import views
17 17 from subjects.models import Subject
18 18  
  19 +from log.mixins import LogMixin
  20 +
19 21 class IndexView(LoginRequiredMixin, ListView):
20 22  
21 23 login_url = reverse_lazy("users:login")
... ... @@ -57,7 +59,11 @@ class IndexView(LoginRequiredMixin, ListView):
57 59  
58 60 return context
59 61  
60   -class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
  62 +class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, LogMixin, CreateView):
  63 + log_component = 'category'
  64 + log_action = 'create'
  65 + log_resource = 'category'
  66 + log_context = {}
61 67  
62 68 allowed_rules = ['system_admin']
63 69 login_url = reverse_lazy('users:login')
... ... @@ -68,6 +74,7 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
68 74  
69 75 def get_initial(self):
70 76 initial = super(CreateCategory, self).get_initial()
  77 +
71 78 if self.kwargs.get('slug'):
72 79 category = get_object_or_404(Category, slug = self.kwargs['slug'])
73 80 initial = initial.copy()
... ... @@ -76,6 +83,13 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
76 83 initial['name'] = category.name
77 84 initial['visible'] = category.visible
78 85 #initial['coordinators'] = category.coordinators
  86 +
  87 + self.log_action = 'replicate'
  88 +
  89 + self.log_context['replicated_category_id'] = category.id
  90 + self.log_context['replicated_category_name'] = category.name
  91 + self.log_context['replicated_category_slug'] = category.slug
  92 +
79 93 return initial
80 94  
81 95  
... ... @@ -93,7 +107,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
93 107 def form_valid(self, form):
94 108 self.object = form.save()
95 109  
  110 + self.log_context['category_id'] = self.object.id
  111 + self.log_context['category_name'] = self.object.name
  112 + self.log_context['category_slug'] = self.object.slug
96 113  
  114 + super(CreateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
97 115  
98 116 #TODO: Implement log calls
99 117 return super(CreateCategory, self).form_valid(form)
... ... @@ -105,7 +123,11 @@ class CreateCategory(views.SuperuserRequiredMixin, HasRoleMixin, CreateView):
105 123 return reverse_lazy('categories:index')
106 124  
107 125  
108   -class DeleteCategory(DeleteView):
  126 +class DeleteCategory(LogMixin, DeleteView):
  127 + log_component = 'category'
  128 + log_action = 'delete'
  129 + log_resource = 'category'
  130 + log_context = {}
109 131  
110 132 login_url = reverse_lazy("users:login")
111 133 redirect_field_name = 'next'
... ... @@ -125,11 +147,22 @@ class DeleteCategory(DeleteView):
125 147 return super(DeleteCategory, self).delete(self, request, *args, **kwargs)
126 148  
127 149 def get_success_url(self):
  150 + self.log_context['category_id'] = self.object.id
  151 + self.log_context['category_name'] = self.object.name
  152 + self.log_context['category_slug'] = self.object.slug
  153 +
  154 + super(DeleteCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  155 +
128 156 messages.success(self.request, _('Category removed successfully!'))
129 157 return reverse_lazy('categories:index')
130 158  
131 159  
132   -class UpdateCategory(UpdateView):
  160 +class UpdateCategory(LogMixin, UpdateView):
  161 + log_component = 'category'
  162 + log_action = 'update'
  163 + log_resource = 'category'
  164 + log_context = {}
  165 +
133 166 model = Category
134 167 form_class = CategoryForm
135 168 template_name = 'categories/update.html'
... ... @@ -139,6 +172,12 @@ class UpdateCategory(UpdateView):
139 172  
140 173  
141 174 def get_success_url(self):
  175 + self.log_context['category_id'] = self.object.id
  176 + self.log_context['category_name'] = self.object.name
  177 + self.log_context['category_slug'] = self.object.slug
  178 +
  179 + super(UpdateCategory, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  180 +
142 181 objeto = self.object.name
143 182 messages.success(self.request, _('Category "%s" updated successfully!')%(objeto))
144 183 return reverse_lazy('categories:index')
... ...