Commit a80746e7920a858d80f56f8a47f930287620558f
1 parent
8a84e6f7
Exists in
master
and in
5 other branches
added support for topicsview and createtopic #248
Showing
1 changed file
with
32 additions
and
2 deletions
Show diff stats
courses/views.py
... | ... | @@ -586,7 +586,12 @@ class UploadMaterialView(LoginRequiredMixin, generic.edit.CreateView): |
586 | 586 | |
587 | 587 | return self.success_url |
588 | 588 | |
589 | -class TopicsView(LoginRequiredMixin, generic.ListView): | |
589 | +class TopicsView(LoginRequiredMixin, LogMixin, generic.ListView): | |
590 | + | |
591 | + log_component = "subject" | |
592 | + log_resource = "topic" | |
593 | + log_action = "viewed" | |
594 | + log_context = {} | |
590 | 595 | |
591 | 596 | login_url = reverse_lazy("core:home") |
592 | 597 | redirect_field_name = 'next' |
... | ... | @@ -623,10 +628,24 @@ class TopicsView(LoginRequiredMixin, generic.ListView): |
623 | 628 | context['materials'] = materials |
624 | 629 | context['form'] = ActivityForm |
625 | 630 | |
631 | + self.log_context['subject_id'] = topic.subject.id | |
632 | + self.log_context['subject_name'] = topic.subject.name | |
633 | + self.log_context['subject_slug'] = topic.subject.slug | |
634 | + self.log_context['topic_id'] = topic.id | |
635 | + self.log_context['topic_name'] = topic.name | |
636 | + self.log_context['topic_slug'] = topic.slug | |
637 | + | |
638 | + super(TopicsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | |
639 | + | |
640 | + | |
626 | 641 | return context |
627 | 642 | |
628 | 643 | |
629 | -class CreateTopicView(LoginRequiredMixin, HasRoleMixin, NotificationMixin, generic.edit.CreateView): | |
644 | +class CreateTopicView(LoginRequiredMixin, LogMixin, HasRoleMixin, NotificationMixin, generic.edit.CreateView): | |
645 | + log_component = "subject" | |
646 | + log_resource = "topic" | |
647 | + log_action = "created" | |
648 | + log_context = {} | |
630 | 649 | |
631 | 650 | allowed_roles = ['professor', 'system_admin'] |
632 | 651 | login_url = reverse_lazy("core:home") |
... | ... | @@ -643,6 +662,8 @@ class CreateTopicView(LoginRequiredMixin, HasRoleMixin, NotificationMixin, gener |
643 | 662 | context['course'] = subject.course |
644 | 663 | context['subject'] = subject |
645 | 664 | context['subjects'] = subject.course.subjects.all() |
665 | + | |
666 | + | |
646 | 667 | return context |
647 | 668 | |
648 | 669 | def form_valid(self, form): |
... | ... | @@ -656,7 +677,16 @@ class CreateTopicView(LoginRequiredMixin, HasRoleMixin, NotificationMixin, gener |
656 | 677 | super(CreateTopicView, self).createNotification("Topic "+ self.object.name + " was created", |
657 | 678 | resource_name=self.object.name, resource_link= reverse('course:view_topic',args=[self.object.slug]), |
658 | 679 | actor=self.request.user, users = self.object.subject.course.students.all() ) |
680 | + | |
659 | 681 | |
682 | + self.log_context['subject_id'] = subject.id | |
683 | + self.log_context['subject_name'] = subject.name | |
684 | + self.log_context['subject_slug'] = subject.slug | |
685 | + self.log_context['topic_id'] = self.object.id | |
686 | + | |
687 | + super(CreateTopicView, self).createLog(self.request.user, self.log_component, | |
688 | + self.log_action, self.log_resource, self.log_context) | |
689 | + | |
660 | 690 | return super(CreateTopicView, self).form_valid(form) |
661 | 691 | |
662 | 692 | class UpdateTopicView(LoginRequiredMixin, HasRoleMixin, generic.UpdateView): | ... | ... |