Commit 3f4869fc868922e49ab5906f65e999aad859aa27
1 parent
e4ae9d4b
Exists in
master
and in
5 other branches
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,9 +34,6 @@ class LogMixin(object): | ||
34 | else: | 34 | else: |
35 | action_resource = action_resource[0] | 35 | action_resource = action_resource[0] |
36 | 36 | ||
37 | - print(context) | ||
38 | - print(json.dumps(context)) | ||
39 | - | ||
40 | log = Log() | 37 | log = Log() |
41 | log.user = actor | 38 | log.user = actor |
42 | log.context = json.dumps(context) | 39 | log.context = json.dumps(context) |
courses/views.py
@@ -284,21 +284,12 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | @@ -284,21 +284,12 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | ||
284 | redirect_field_name = 'next' | 284 | redirect_field_name = 'next' |
285 | model = Course | 285 | model = Course |
286 | template_name = 'course/delete.html' | 286 | template_name = 'course/delete.html' |
287 | - success_url = reverse_lazy('course:manage') | ||
288 | 287 | ||
289 | def dispatch(self, *args, **kwargs): | 288 | def dispatch(self, *args, **kwargs): |
290 | course = get_object_or_404(Course, slug = self.kwargs.get('slug')) | 289 | course = get_object_or_404(Course, slug = self.kwargs.get('slug')) |
291 | if(not has_object_permission('delete_course', self.request.user, course)): | 290 | if(not has_object_permission('delete_course', self.request.user, course)): |
292 | return self.handle_no_permission() | 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 | return super(DeleteCourseView, self).dispatch(*args, **kwargs) | 293 | return super(DeleteCourseView, self).dispatch(*args, **kwargs) |
303 | 294 | ||
304 | def get_context_data(self, **kwargs): | 295 | def get_context_data(self, **kwargs): |
@@ -314,6 +305,17 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | @@ -314,6 +305,17 @@ class DeleteCourseView(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.Delet | ||
314 | 305 | ||
315 | return context | 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 | class CourseView(LogMixin, NotificationMixin, generic.DetailView): | 320 | class CourseView(LogMixin, NotificationMixin, generic.DetailView): |
319 | log_component = "courses" | 321 | log_component = "courses" |
@@ -741,7 +743,11 @@ class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notification | @@ -741,7 +743,11 @@ class CreateSubjectView(LoginRequiredMixin, HasRoleMixin, LogMixin, Notification | ||
741 | return super(CreateSubjectView, self).form_valid(form) | 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 | allowed_roles = ['professor', 'system_admin'] | 752 | allowed_roles = ['professor', 'system_admin'] |
747 | login_url = reverse_lazy("core:home") | 753 | login_url = reverse_lazy("core:home") |
@@ -755,6 +761,22 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | @@ -755,6 +761,22 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | ||
755 | return self.handle_no_permission() | 761 | return self.handle_no_permission() |
756 | return super(UpdateSubjectView, self).dispatch(*args, **kwargs) | 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 | def get_object(self, queryset=None): | 780 | def get_object(self, queryset=None): |
759 | context = get_object_or_404(Subject, slug = self.kwargs.get('slug')) | 781 | context = get_object_or_404(Subject, slug = self.kwargs.get('slug')) |
760 | return context | 782 | return context |
@@ -771,7 +793,11 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | @@ -771,7 +793,11 @@ class UpdateSubjectView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | ||
771 | context['subjects'] = self.object.course.subjects.all() | 793 | context['subjects'] = self.object.course.subjects.all() |
772 | return context | 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 | allowed_roles = ['professor', 'system_admin'] | 802 | allowed_roles = ['professor', 'system_admin'] |
777 | login_url = reverse_lazy("core:home") | 803 | login_url = reverse_lazy("core:home") |
@@ -785,7 +811,6 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | @@ -785,7 +811,6 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | ||
785 | return self.handle_no_permission() | 811 | return self.handle_no_permission() |
786 | return super(DeleteSubjectView, self).dispatch(*args, **kwargs) | 812 | return super(DeleteSubjectView, self).dispatch(*args, **kwargs) |
787 | 813 | ||
788 | - | ||
789 | def get_context_data(self, **kwargs): | 814 | def get_context_data(self, **kwargs): |
790 | context = super(DeleteSubjectView, self).get_context_data(**kwargs) | 815 | context = super(DeleteSubjectView, self).get_context_data(**kwargs) |
791 | context['course'] = self.object.course | 816 | context['course'] = self.object.course |
@@ -796,9 +821,21 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | @@ -796,9 +821,21 @@ class DeleteSubjectView(LoginRequiredMixin, HasRoleMixin, generic.DeleteView): | ||
796 | return context | 821 | return context |
797 | 822 | ||
798 | def get_success_url(self): | 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 | return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug}) | 835 | return reverse_lazy('course:view', kwargs={'slug' : self.object.course.slug}) |
800 | 836 | ||
801 | @login_required | 837 | @login_required |
838 | +@log_decorator("course", "subscribe", "subject") | ||
802 | def subscribe_subject(request, slug): | 839 | def subscribe_subject(request, slug): |
803 | subject = get_object_or_404(Subject, slug = slug) | 840 | subject = get_object_or_404(Subject, slug = slug) |
804 | 841 | ||
@@ -806,6 +843,19 @@ def subscribe_subject(request, slug): | @@ -806,6 +843,19 @@ def subscribe_subject(request, slug): | ||
806 | subject.students.add(request.user) | 843 | subject.students.add(request.user) |
807 | 844 | ||
808 | if request.user in subject.students.all(): | 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 | return JsonResponse({"status": "ok", "message": _("Successfully subscribed to the subject!")}) | 859 | return JsonResponse({"status": "ok", "message": _("Successfully subscribed to the subject!")}) |
810 | else: | 860 | else: |
811 | return JsonResponse({"status": "erro", "message": _("An error has occured. Could not subscribe to this subject, try again later")}) | 861 | return JsonResponse({"status": "erro", "message": _("An error has occured. Could not subscribe to this subject, try again later")}) |