Commit 00085f47aa3b96d0cab70659db13ca9b1395102e
1 parent
e0d491e1
Exists in
master
and in
5 other branches
added file and exam creation notifications #207
Showing
2 changed files
with
15 additions
and
2 deletions
Show diff stats
exam/views.py
@@ -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 |