Commit 3f4869fc868922e49ab5906f65e999aad859aa27

Authored by Zambom
1 parent e4ae9d4b

Adding other crud functions log [Issue: #247]

Showing 2 changed files with 62 additions and 15 deletions   Show diff stats
core/mixins.py
... ... @@ -34,9 +34,6 @@ class LogMixin(object):
34 34 else:
35 35 action_resource = action_resource[0]
36 36  
37   - print(context)
38   - print(json.dumps(context))
39   -
40 37 log = Log()
41 38 log.user = actor
42 39 log.context = json.dumps(context)
... ...
courses/views.py
... ... @@ -284,21 +284,12 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet
284 284 redirect_field_name = 'next'
285 285 model = Course
286 286 template_name = 'course/delete.html'
287   - success_url = reverse_lazy('course:manage')
288 287  
289 288 def dispatch(self, *args, **kwargs):
290 289 course = get_object_or_404(Course, slug = self.kwargs.get('slug'))
291 290 if(not has_object_permission('delete_course', self.request.user, course)):
292 291 return self.handle_no_permission()
293 292  
294   - self.log_context['course_id'] = course.id
295   - self.log_context['course_name'] = course.name
296   - self.log_context['course_slug'] = course.slug
297   - self.log_context['course_category_id'] = course.category.id
298   - self.log_context['course_category_name'] = course.category.name
299   -
300   - super(DeleteCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
301   -
302 293 return super(DeleteCourseView, self).dispatch(*args, **kwargs)
303 294  
304 295 def get_context_data(self, **kwargs):
... ... @@ -314,6 +305,17 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet
314 305  
315 306 return context
316 307  
  308 + def get_success_url(self):
  309 + self.log_context['course_id'] = self.object.id
  310 + self.log_context['course_name'] = self.object.name
  311 + self.log_context['course_slug'] = self.object.slug
  312 + self.log_context['course_category_id'] = self.object.category.id
  313 + self.log_context['course_category_name'] = self.object.category.name
  314 +
  315 + super(DeleteCourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  316 +
  317 + return reverse_lazy('course:manage')
  318 +
317 319  
318 320 class CourseView(LogMixin, NotificationMixin, generic.DetailView):
319 321 log_component = "courses"
... ... @@ -741,7 +743,11 @@ class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notification
741 743 return super(CreateSubjectView, self).form_valid(form)
742 744  
743 745  
744   -class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
  746 +class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.UpdateView):
  747 + log_component = "course"
  748 + log_resource = "subject"
  749 + log_action = "update"
  750 + log_context = {}
745 751  
746 752 allowed_roles = ['professor', 'system_admin']
747 753 login_url = reverse_lazy("core:home")
... ... @@ -755,6 +761,22 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
755 761 return self.handle_no_permission()
756 762 return super(UpdateSubjectView, self).dispatch(*args, **kwargs)
757 763  
  764 + def form_valid(self, form):
  765 + self.object = form.save()
  766 +
  767 + self.log_context['subject_id'] = self.object.id
  768 + self.log_context['subject_name'] = self.object.name
  769 + self.log_context['subject_slug'] = self.object.slug
  770 + self.log_context['course_id'] = self.object.course.id
  771 + self.log_context['course_name'] = self.object.course.name
  772 + self.log_context['course_slug'] = self.object.course.slug
  773 + self.log_context['course_category_id'] = self.object.course.category.id
  774 + self.log_context['course_category_name'] = self.object.course.category.name
  775 +
  776 + super(UpdateSubjectView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  777 +
  778 + return super(UpdateSubjectView, self).form_valid(form)
  779 +
758 780 def get_object(self, queryset=None):
759 781 context = get_object_or_404(Subject, slug = self.kwargs.get('slug'))
760 782 return context
... ... @@ -771,7 +793,11 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView):
771 793 context['subjects'] = self.object.course.subjects.all()
772 794 return context
773 795  
774   -class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
  796 +class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DeleteView):
  797 + log_component = "course"
  798 + log_resource = "subject"
  799 + log_action = "delete"
  800 + log_context = {}
775 801  
776 802 allowed_roles = ['professor', 'system_admin']
777 803 login_url = reverse_lazy("core:home")
... ... @@ -785,7 +811,6 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
785 811 return self.handle_no_permission()
786 812 return super(DeleteSubjectView, self).dispatch(*args, **kwargs)
787 813  
788   -
789 814 def get_context_data(self, **kwargs):
790 815 context = super(DeleteSubjectView, self).get_context_data(**kwargs)
791 816 context['course'] = self.object.course
... ... @@ -796,9 +821,21 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView):
796 821 return context
797 822  
798 823 def get_success_url(self):
  824 + self.log_context['subject_id'] = self.object.id
  825 + self.log_context['subject_name'] = self.object.name
  826 + self.log_context['subject_slug'] = self.object.slug
  827 + self.log_context['course_id'] = self.object.course.id
  828 + self.log_context['course_name'] = self.object.course.name
  829 + self.log_context['course_slug'] = self.object.course.slug
  830 + self.log_context['course_category_id'] = self.object.course.category.id
  831 + self.log_context['course_category_name'] = self.object.course.category.name
  832 +
  833 + super(DeleteSubjectView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
  834 +
799 835 return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug})
800 836  
801 837 @login_required
  838 +@log_decorator("course", "subscribe", "subject")
802 839 def subscribe_subject(request, slug):
803 840 subject = get_object_or_404(Subject, slug = slug)
804 841  
... ... @@ -806,6 +843,19 @@ def subscribe_subject(request, slug):
806 843 subject.students.add(request.user)
807 844  
808 845 if request.user in subject.students.all():
  846 + log_context = {}
  847 + log_context['subject_id'] = subject.id
  848 + log_context['subject_name'] = subject.name
  849 + log_context['subject_slug'] = subject.slug
  850 + log_context['course_id'] = subject.course.id
  851 + log_context['course_name'] = subject.course.name
  852 + log_context['course_slug'] = subject.course.slug
  853 + log_context['course_category_id'] = subject.course.category.id
  854 + log_context['course_category_name'] = subject.course.category.name
  855 +
  856 + request.log_context = log_context
  857 +
  858 +
809 859 return JsonResponse({"status": "ok", "message": _("Successfully subscribed to the subject!")})
810 860 else:
811 861 return JsonResponse({"status": "erro", "message": _("An error has occured. Could not subscribe to this subject, try again later")})
... ...