Commit a80746e7920a858d80f56f8a47f930287620558f

Authored by fbormann
1 parent 8a84e6f7

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):
... ...