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 |