Commit 4fd89eaab96e32750396fe2a0a414e7f1a8c5a7c
1 parent
a9f9b294
Exists in
master
and in
5 other branches
Adding crud post_answer log functions [Issue: #243]
Showing
1 changed file
with
83 additions
and
5 deletions
Show diff stats
forum/views.py
@@ -470,7 +470,12 @@ class PostAnswerIndex(LoginRequiredMixin, generic.ListView): | @@ -470,7 +470,12 @@ class PostAnswerIndex(LoginRequiredMixin, generic.ListView): | ||
470 | 470 | ||
471 | return context | 471 | return context |
472 | 472 | ||
473 | -class CreatePostAnswerView(LoginRequiredMixin, generic.edit.CreateView): | 473 | +class CreatePostAnswerView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): |
474 | + log_component = "forum" | ||
475 | + log_action = "create" | ||
476 | + log_resource = "post_answer" | ||
477 | + log_context = {} | ||
478 | + | ||
474 | login_url = reverse_lazy("core:home") | 479 | login_url = reverse_lazy("core:home") |
475 | redirect_field_name = 'next' | 480 | redirect_field_name = 'next' |
476 | 481 | ||
@@ -483,6 +488,25 @@ class CreatePostAnswerView(LoginRequiredMixin, generic.edit.CreateView): | @@ -483,6 +488,25 @@ class CreatePostAnswerView(LoginRequiredMixin, generic.edit.CreateView): | ||
483 | 488 | ||
484 | self.object.save() | 489 | self.object.save() |
485 | 490 | ||
491 | + self.log_context['post_answer_id'] = self.object.id | ||
492 | + self.log_context['post_id'] = self.object.post.id | ||
493 | + self.log_context['post_user_id'] = self.object.post.user.id | ||
494 | + self.log_context['post_user_name'] = self.object.post.user.name | ||
495 | + self.log_context['forum_id'] = self.object.post.forum.id | ||
496 | + self.log_context['forum_name'] = self.object.post.forum.name | ||
497 | + self.log_context['topic_id'] = self.object.post.forum.topic.id | ||
498 | + self.log_context['topic_name'] = self.object.post.forum.topic.name | ||
499 | + self.log_context['topic_slug'] = self.object.post.forum.topic.slug | ||
500 | + self.log_context['subject_id'] = self.object.post.forum.topic.subject.id | ||
501 | + self.log_context['subject_name'] = self.object.post.forum.topic.subject.name | ||
502 | + self.log_context['subject_slug'] = self.object.post.forum.topic.subject.slug | ||
503 | + self.log_context['course_id'] = self.object.post.forum.topic.subject.course.id | ||
504 | + self.log_context['course_name'] = self.object.post.forum.topic.subject.course.name | ||
505 | + self.log_context['course_slug'] = self.object.post.forum.topic.subject.course.slug | ||
506 | + self.log_context['course_category_id'] = self.object.post.forum.topic.subject.course.category.id | ||
507 | + self.log_context['course_category_name'] = self.object.post.forum.topic.subject.course.category.name | ||
508 | + | ||
509 | + super(CreatePostAnswerView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | ||
486 | 510 | ||
487 | return super(CreatePostAnswerView, self).form_valid(form) | 511 | return super(CreatePostAnswerView, self).form_valid(form) |
488 | 512 | ||
@@ -501,7 +525,12 @@ def render_post_answer(request, answer): | @@ -501,7 +525,12 @@ def render_post_answer(request, answer): | ||
501 | 525 | ||
502 | return JsonResponse({'new_id': last_answer.id, 'html': html}) | 526 | return JsonResponse({'new_id': last_answer.id, 'html': html}) |
503 | 527 | ||
504 | -class PostAnswerUpdateView(LoginRequiredMixin, generic.UpdateView): | 528 | +class PostAnswerUpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): |
529 | + log_component = "forum" | ||
530 | + log_action = "update" | ||
531 | + log_resource = "post_answer" | ||
532 | + log_context = {} | ||
533 | + | ||
505 | login_url = reverse_lazy("core:home") | 534 | login_url = reverse_lazy("core:home") |
506 | redirect_field_name = 'next' | 535 | redirect_field_name = 'next' |
507 | 536 | ||
@@ -512,16 +541,65 @@ class PostAnswerUpdateView(LoginRequiredMixin, generic.UpdateView): | @@ -512,16 +541,65 @@ class PostAnswerUpdateView(LoginRequiredMixin, generic.UpdateView): | ||
512 | 541 | ||
513 | def get_success_url(self): | 542 | def get_success_url(self): |
514 | self.success_url = reverse('course:forum:render_post_answer', args = (self.object.id, )) | 543 | self.success_url = reverse('course:forum:render_post_answer', args = (self.object.id, )) |
544 | + | ||
545 | + self.log_context['post_answer_id'] = self.object.id | ||
546 | + self.log_context['post_id'] = self.object.post.id | ||
547 | + self.log_context['post_user_id'] = self.object.post.user.id | ||
548 | + self.log_context['post_user_name'] = self.object.post.user.name | ||
549 | + self.log_context['forum_id'] = self.object.post.forum.id | ||
550 | + self.log_context['forum_name'] = self.object.post.forum.name | ||
551 | + self.log_context['topic_id'] = self.object.post.forum.topic.id | ||
552 | + self.log_context['topic_name'] = self.object.post.forum.topic.name | ||
553 | + self.log_context['topic_slug'] = self.object.post.forum.topic.slug | ||
554 | + self.log_context['subject_id'] = self.object.post.forum.topic.subject.id | ||
555 | + self.log_context['subject_name'] = self.object.post.forum.topic.subject.name | ||
556 | + self.log_context['subject_slug'] = self.object.post.forum.topic.subject.slug | ||
557 | + self.log_context['course_id'] = self.object.post.forum.topic.subject.course.id | ||
558 | + self.log_context['course_name'] = self.object.post.forum.topic.subject.course.name | ||
559 | + self.log_context['course_slug'] = self.object.post.forum.topic.subject.course.slug | ||
560 | + self.log_context['course_category_id'] = self.object.post.forum.topic.subject.course.category.id | ||
561 | + self.log_context['course_category_name'] = self.object.post.forum.topic.subject.course.category.name | ||
562 | + | ||
563 | + super(PostAnswerUpdateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | ||
515 | 564 | ||
516 | return self.success_url | 565 | return self.success_url |
517 | 566 | ||
518 | -class PostAnswerDeleteView(LoginRequiredMixin, generic.DeleteView): | 567 | +class PostAnswerDeleteView(LoginRequiredMixin, LogMixin, generic.DeleteView): |
568 | + log_component = "forum" | ||
569 | + log_action = "delete" | ||
570 | + log_resource = "post_answer" | ||
571 | + log_context = {} | ||
572 | + | ||
519 | login_url = reverse_lazy("core:home") | 573 | login_url = reverse_lazy("core:home") |
520 | redirect_field_name = 'next' | 574 | redirect_field_name = 'next' |
521 | 575 | ||
522 | model = PostAnswer | 576 | model = PostAnswer |
523 | - pk_url_kwarg = 'pk' | ||
524 | - success_url = reverse_lazy('course:forum:deleted_answer') | 577 | + pk_url_kwarg = 'pk' |
578 | + | ||
579 | + def get_success_url(self): | ||
580 | + self.success_url = reverse_lazy('course:forum:deleted_answer') | ||
581 | + | ||
582 | + self.log_context['post_answer_id'] = self.object.id | ||
583 | + self.log_context['post_id'] = self.object.post.id | ||
584 | + self.log_context['post_user_id'] = self.object.post.user.id | ||
585 | + self.log_context['post_user_name'] = self.object.post.user.name | ||
586 | + self.log_context['forum_id'] = self.object.post.forum.id | ||
587 | + self.log_context['forum_name'] = self.object.post.forum.name | ||
588 | + self.log_context['topic_id'] = self.object.post.forum.topic.id | ||
589 | + self.log_context['topic_name'] = self.object.post.forum.topic.name | ||
590 | + self.log_context['topic_slug'] = self.object.post.forum.topic.slug | ||
591 | + self.log_context['subject_id'] = self.object.post.forum.topic.subject.id | ||
592 | + self.log_context['subject_name'] = self.object.post.forum.topic.subject.name | ||
593 | + self.log_context['subject_slug'] = self.object.post.forum.topic.subject.slug | ||
594 | + self.log_context['course_id'] = self.object.post.forum.topic.subject.course.id | ||
595 | + self.log_context['course_name'] = self.object.post.forum.topic.subject.course.name | ||
596 | + self.log_context['course_slug'] = self.object.post.forum.topic.subject.course.slug | ||
597 | + self.log_context['course_category_id'] = self.object.post.forum.topic.subject.course.category.id | ||
598 | + self.log_context['course_category_name'] = self.object.post.forum.topic.subject.course.category.name | ||
599 | + | ||
600 | + super(PostAnswerDeleteView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | ||
601 | + | ||
602 | + return self.success_url | ||
525 | 603 | ||
526 | def answer_deleted(request): | 604 | def answer_deleted(request): |
527 | return HttpResponse(_("Post answer deleted successfully.")) | 605 | return HttpResponse(_("Post answer deleted successfully.")) |
528 | \ No newline at end of file | 606 | \ No newline at end of file |