Commit ae0d1c79d4e305b68bbe5816721ef5360583d258

Authored by Zambom
1 parent 048c9d41

Adding log to other crud functions [Issue: #203]

Showing 1 changed file with 60 additions and 4 deletions   Show diff stats
courses/views.py
... ... @@ -141,7 +141,11 @@ class AllCoursesView(LoginRequiredMixin, NotificationMixin, generic.ListView):
141 141  
142 142 return context
143 143  
144   -class CreateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,generic.edit.CreateView):
  144 +class CreateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin, generic.edit.CreateView):
  145 + log_component = "course"
  146 + log_resource = "course"
  147 + log_action = "create"
  148 + log_context = {}
145 149  
146 150 allowed_roles = ['professor', 'system_admin']
147 151 login_url = reverse_lazy("core:home")
... ... @@ -153,6 +157,15 @@ class CreateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,gener
153 157 def form_valid(self, form):
154 158 self.object = form.save()
155 159 self.object.professors.add(self.request.user)
  160 +
  161 + self.log_context['course_id'] = self.object.id
  162 + self.log_context['course_name'] = self.object.name
  163 + self.log_context['course_slug'] = self.object.slug
  164 + self.log_context['course_category_id'] = self.object.category.id
  165 + self.log_context['course_category_name'] = self.object.category.name
  166 +
  167 + super(CreateCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  168 +
156 169 return super(CreateCourseView, self).form_valid(form)
157 170  
158 171 def get_context_data(self, **kwargs):
... ... @@ -166,7 +179,11 @@ class CreateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,gener
166 179 context['now'] = date.today()
167 180 return context
168 181  
169   -class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,generic.edit.CreateView):
  182 +class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, NotificationMixin,generic.edit.CreateView):
  183 + log_component = "courses"
  184 + log_action = "replicate"
  185 + log_resource = "course"
  186 + log_context = {}
170 187  
171 188 allowed_roles = ['professor', 'system_admin']
172 189 login_url = reverse_lazy("core:home")
... ... @@ -188,6 +205,15 @@ class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,ge
188 205 elif has_role(self.request.user,'professor'):
189 206 courses = self.request.user.courses_professors.all()
190 207 categorys_courses = CourseCategory.objects.all()
  208 +
  209 + self.log_context['course_id'] = course.id
  210 + self.log_context['course_name'] = course.name
  211 + self.log_context['course_slug'] = course.slug
  212 + self.log_context['course_category_id'] = course.category.id
  213 + self.log_context['course_category_name'] = course.category.name
  214 +
  215 + super(ReplicateCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  216 +
191 217 context['courses'] = courses
192 218 context['course'] = course
193 219 context['categorys_courses'] = categorys_courses
... ... @@ -198,7 +224,11 @@ class ReplicateCourseView(LoginRequiredMixin, HasRoleMixin, NotificationMixin,ge
198 224 def get_success_url(self):
199 225 return reverse_lazy('course:view', kwargs={'slug' : self.object.slug})
200 226  
201   -class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
  227 +class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.UpdateView):
  228 + log_component = "courses"
  229 + log_action = "update"
  230 + log_resource = "course"
  231 + log_context = {}
202 232  
203 233 allowed_roles = ['professor', 'system_admin']
204 234 login_url = reverse_lazy("core:home")
... ... @@ -213,6 +243,19 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
213 243 return self.handle_no_permission()
214 244 return super(UpdateCourseView, self).dispatch(*args, **kwargs)
215 245  
  246 + def form_valid(self, form):
  247 + self.object = form.save()
  248 +
  249 + self.log_context['course_id'] = self.object.id
  250 + self.log_context['course_name'] = self.object.name
  251 + self.log_context['course_slug'] = self.object.slug
  252 + self.log_context['course_category_id'] = self.object.category.id
  253 + self.log_context['course_category_name'] = self.object.category.name
  254 +
  255 + super(UpdateCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  256 +
  257 + return super(UpdateCourseView, self).form_valid(form)
  258 +
216 259 def get_context_data(self, **kwargs):
217 260 context = super(UpdateCourseView, self).get_context_data(**kwargs)
218 261 course = get_object_or_404(Course, slug = self.kwargs.get('slug'))
... ... @@ -229,7 +272,11 @@ class UpdateCourseView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
229 272 def get_success_url(self):
230 273 return reverse_lazy('course:view', kwargs={'slug' : self.object.slug})
231 274  
232   -class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
  275 +class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DeleteView):
  276 + log_component = "courses"
  277 + log_action = "delete"
  278 + log_resource = "course"
  279 + log_context = {}
233 280  
234 281 allowed_roles = ['professor', 'system_admin']
235 282 login_url = reverse_lazy("core:home")
... ... @@ -242,6 +289,15 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
242 289 course = get_object_or_404(Course, slug = self.kwargs.get('slug'))
243 290 if(not has_object_permission('delete_course', self.request.user, course)):
244 291 return self.handle_no_permission()
  292 +
  293 + self.log_context['course_id'] = course.id
  294 + self.log_context['course_name'] = course.name
  295 + self.log_context['course_slug'] = course.slug
  296 + self.log_context['course_category_id'] = course.category.id
  297 + self.log_context['course_category_name'] = course.category.name
  298 +
  299 + super(DeleteCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  300 +
245 301 return super(DeleteCourseView, self).dispatch(*args, **kwargs)
246 302  
247 303 def get_context_data(self, **kwargs):
... ...