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
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")}) | ... | ... |