def fetch_threads(request): cursor = request.GET.get('cursor') context = dict() paginator = ForumPaginator(Thread.objects.all().order_by('-date_created')) context = paginator.fetch_threads_context(cursor) return HttpResponse(json.dumps(context), content_type='application/json')
def index(request): context = dict() paginator = ForumPaginator(Thread.objects.all().order_by('-date_created')) context = paginator.fetch_threads_context() context['pages'] = paginator.pages() return render(request, 'index.html', context)
def fetch_user_replies(request): post_id = int(request.GET.get('id')) index = int(request.GET.get('index')) post = Post.objects.get(pk=post_id) context = ForumPaginator(index).fetch_replies_context(post) return HttpResponse(json.dumps(context), content_type='application/json')
def fetch_user_posts(request): thread_id = int(request.GET.get('id')) index = int(request.GET.get('index')) thread = Thread.objects.get(pk=thread_id) context = ForumPaginator(index).fetch_posts_context(thread) return HttpResponse(json.dumps(context), content_type='application/json')
def fetch_user_threads(request): index = int(request.GET.get('index')) user_id = request.GET.get('author_id') context = ForumPaginator(index).fetch_user_threads( MySiteUser.objects.get(pk=user_id)) return HttpResponse(json.dumps(context), content_type='application/json')
def fetch_posts(request): thread_id = int(request.GET.get('id')) cursor = request.GET.get('cursor') thread = Thread.objects.get(pk=thread_id) context = ForumPaginator( Post.objects.filter(thread=thread).order_by( '-date_created')).fetch_posts_context(cursor) return HttpResponse(json.dumps(context), content_type='application/json')
def fetch_user_replies(request): user_id = request.GET.get('id') cursor = request.GET.get('cursor') user = MySiteUser.objects.get(pk=user_id) replies = ForumPaginator(Reply.objects.filter(author=user).order_by('-date_created')).fetch_user_replies_context(cursor) return HttpResponse(json.dumps(replies), content_type='application/json')
def fetch_replies(request): post_id = int(request.GET.get('id')) cursor = request.GET.get('cursor') post = Post.objects.get(pk=post_id) context = ForumPaginator( Reply.objects.filter( post=post).order_by('-date_created')).fetch_replies_context(cursor) return HttpResponse(json.dumps(context), content_type='application/json')
def profile(request, uid): context = dict() user = MySiteUser.objects.get(pk=uid) threads_queryset = Thread.objects.filter(author=user).order_by('-date_created') posts_queryset = Post.objects.filter(author=user).order_by('-date_created') replies_queryset = Reply.objects.filter(author=user).order_by('-date_created') context['n_threads'] = threads_queryset.count() context['n_posts'] = posts_queryset.count() context['n_replies'] = replies_queryset.count() context['profile_user'] = user.name context['threads'] = json.dumps(ForumPaginator(threads_queryset).fetch_user_threads_context()) context['posts'] = json.dumps(ForumPaginator(posts_queryset).fetch_user_posts_context()) context['replies'] = json.dumps(ForumPaginator(replies_queryset).fetch_user_replies_context()) context['user_id'] = uid return render(request, 'profile.html', context)
def thread(request, thread_id): thread = Thread.objects.get(pk=thread_id) context = thread.thread_context() posts = ForumPaginator( Post.objects.filter( thread=thread).order_by('-date_created')).fetch_posts_context() context['thread_posts'] = json.dumps(posts) context['thread_id'] = thread_id return render(request, 'thread.html', context)