Commit 00085f47aa3b96d0cab70659db13ca9b1395102e

Authored by fbormann
1 parent e0d491e1

added file and exam creation notifications #207

Showing 2 changed files with 15 additions and 2 deletions   Show diff stats
@@ -44,7 +44,7 @@ class ViewExam(LoginRequiredMixin,generic.DetailView): @@ -44,7 +44,7 @@ class ViewExam(LoginRequiredMixin,generic.DetailView):
44 44
45 45
46 46
47 -class CreateExam(LoginRequiredMixin,HasRoleMixin,generic.CreateView): 47 +class CreateExam(LoginRequiredMixin,HasRoleMixin, NotificationMixin,generic.CreateView):
48 48
49 allowed_roles = ['professor', 'system_admin'] 49 allowed_roles = ['professor', 'system_admin']
50 login_url = reverse_lazy("core:home") 50 login_url = reverse_lazy("core:home")
@@ -72,8 +72,12 @@ class CreateExam(LoginRequiredMixin,HasRoleMixin,generic.CreateView): @@ -72,8 +72,12 @@ class CreateExam(LoginRequiredMixin,HasRoleMixin,generic.CreateView):
72 self.object = form.save(commit = False) 72 self.object = form.save(commit = False)
73 topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) 73 topic = get_object_or_404(Topic, slug = self.kwargs.get('slug'))
74 self.object.topic = topic 74 self.object.topic = topic
  75 + self.object.name = str(self.object)
75 self.object.save() 76 self.object.save()
76 77
  78 + super(CreateExam, self).createNotification(message="created an Exam "+ self.object.name, actor=self.request.user,
  79 + resource_name=self.object.name, resource_link= reverse('course:exam:view_exam', args=[self.object.slug]),
  80 + users=self.object.topic.subject.students.all())
77 for key in self.request.POST: 81 for key in self.request.POST:
78 if(key != 'csrfmiddlewaretoken' and key != 'name' and key != 'begin_date' and key != 'limit_date' and key != 'all_students' and key != 'students'): 82 if(key != 'csrfmiddlewaretoken' and key != 'name' and key != 'begin_date' and key != 'limit_date' and key != 'all_students' and key != 'students'):
79 answer = Answer(answer=self.request.POST[key],order=key,exam=self.object) 83 answer = Answer(answer=self.request.POST[key],order=key,exam=self.object)
files/views.py
@@ -11,9 +11,10 @@ from .models import TopicFile @@ -11,9 +11,10 @@ from .models import TopicFile
11 from .utils import mime_type_to_material_icons 11 from .utils import mime_type_to_material_icons
12 from courses.models import Topic 12 from courses.models import Topic
13 from core.models import MimeType 13 from core.models import MimeType
  14 +from core.mixins import NotificationMixin
14 15
15 # Create your views here. 16 # Create your views here.
16 -class CreateFile(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): 17 +class CreateFile(LoginRequiredMixin, HasRoleMixin, NotificationMixin, generic.edit.CreateView):
17 allowed_roles = ['professor', 'system_admin'] 18 allowed_roles = ['professor', 'system_admin']
18 login_url = reverse_lazy("core:home") 19 login_url = reverse_lazy("core:home")
19 redirect_field_name = 'next' 20 redirect_field_name = 'next'
@@ -32,6 +33,10 @@ class CreateFile(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): @@ -32,6 +33,10 @@ class CreateFile(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
32 self.object = form.save(commit = False) 33 self.object = form.save(commit = False)
33 topic = get_object_or_404(Topic, slug = self.kwargs.get('slug')) 34 topic = get_object_or_404(Topic, slug = self.kwargs.get('slug'))
34 self.object.topic = topic 35 self.object.topic = topic
  36 +
  37 + self.object.name = str(self.object)
  38 +
  39 +
35 # Set MimeType 40 # Set MimeType
36 file = self.request.FILES['file_url'] 41 file = self.request.FILES['file_url']
37 try: 42 try:
@@ -54,6 +59,10 @@ class CreateFile(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): @@ -54,6 +59,10 @@ class CreateFile(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
54 # self.object.file_type = MimeType.objects.get(id = 1) 59 # self.object.file_type = MimeType.objects.get(id = 1)
55 60
56 self.object.save() 61 self.object.save()
  62 + #CREATE NOTIFICATION
  63 + super(CreateFile, self).createNotification(message="uploaded a File "+ self.object.name, actor=self.request.user,
  64 + resource_name=self.object.name, resource_link= reverse('course:file:create_file', args=[self.object.slug]),
  65 + users=self.object.topic.subject.students.all())
57 66
58 return self.get_success_url() 67 return self.get_success_url()
59 68