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 | 470 | |
471 | 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 | 479 | login_url = reverse_lazy("core:home") |
475 | 480 | redirect_field_name = 'next' |
476 | 481 | |
... | ... | @@ -483,6 +488,25 @@ class CreatePostAnswerView(LoginRequiredMixin, generic.edit.CreateView): |
483 | 488 | |
484 | 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 | 511 | return super(CreatePostAnswerView, self).form_valid(form) |
488 | 512 | |
... | ... | @@ -501,7 +525,12 @@ def render_post_answer(request, answer): |
501 | 525 | |
502 | 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 | 534 | login_url = reverse_lazy("core:home") |
506 | 535 | redirect_field_name = 'next' |
507 | 536 | |
... | ... | @@ -512,16 +541,65 @@ class PostAnswerUpdateView(LoginRequiredMixin, generic.UpdateView): |
512 | 541 | |
513 | 542 | def get_success_url(self): |
514 | 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 | 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 | 573 | login_url = reverse_lazy("core:home") |
520 | 574 | redirect_field_name = 'next' |
521 | 575 | |
522 | 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 | 604 | def answer_deleted(request): |
527 | 605 | return HttpResponse(_("Post answer deleted successfully.")) |
528 | 606 | \ No newline at end of file | ... | ... |