views.py
1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from django.shortcuts import render, get_object_or_404
from django.core.urlresolvers import reverse_lazy
from django.utils.translation import ugettext_lazy as _
from django.views import generic
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import Forum, Post, PostAnswer
from courses.models import Topic
from .forms import ForumForm
class ForumIndex(LoginRequiredMixin, generic.ListView):
login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = "forum/forum_list.html"
context_object_name = 'forum'
def get_queryset(self):
forum_id = self.request.GET.get('forum_id', 0)
context = Forum.objects.get(id = forum_id)
return context
class CreateForumView(LoginRequiredMixin, generic.edit.CreateView):
template_name = 'forum/forum_form.html'
form_class = ForumForm
success_url = reverse_lazy('forum:index')
class PostIndex(LoginRequiredMixin, generic.ListView):
login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = "post/post_list.html"
context_object_name = 'posts'
def get_queryset(self):
forum = get_object_or_404(Forum, slug = self.request.GET.get('forum', ''))
context = Post.objects.filter(forum = forum)
return context
class PostAnswerIndex(LoginRequiredMixin, generic.ListView):
login_url = reverse_lazy("core:home")
redirect_field_name = 'next'
template_name = "post_answers/post_answer_list.html"
context_object_name = 'answers'
def get_queryset(self):
post = get_object_or_404(Post, id = self.request.GET.get('post', ''))
context = PostAnswer.objects.filter(post = post)
return context