##// END OF EJS Templates
Show thread OPs in the landing page instead of link and title list
Show thread OPs in the landing page instead of link and title list

File last commit:

r1745:49bdf576 default
r1793:9acfb664 default
Show More
landing.py
42 lines | 1.3 KiB | text/x-python | PythonLexer
neko259
Show new and active threads for today (-24 hrs from now) at the landing page
r1740 from datetime import datetime
from datetime import timedelta
from django.db.models import Count
neko259
Added landing page which will be the default on /
r1732 from django.shortcuts import render
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_protect
neko259
Show new and active threads for today (-24 hrs from now) at the landing page
r1740 from boards import settings
from boards.models import Post
neko259
Show only active (by status) threads on the landing page
r1745 from boards.models import Tag, Attachment, STATUS_ACTIVE
neko259
Added landing page which will be the default on /
r1732 from boards.views.base import BaseBoardView
PARAM_SECTION_STR = 'section_str'
PARAM_LATEST_THREADS = 'latest_threads'
PARAM_IMAGES = 'images'
TEMPLATE = 'boards/landing.html'
RANDOM_IMAGE_COUNT = 3
class LandingView(BaseBoardView):
@method_decorator(csrf_protect)
def get(self, request):
params = dict()
params[PARAM_SECTION_STR] = Tag.objects.get_tag_url_list(
Tag.objects.filter(required=True))
neko259
Show new and active threads for today (-24 hrs from now) at the landing page
r1740
today = datetime.now() - timedelta(1)
max_landing_threads = settings.get_int('View', 'MaxFavoriteThreads')
neko259
Show only active (by status) threads on the landing page
r1745 ops = Post.objects.filter(thread__replies__pub_time__gt=today, opening=True, thread__status=STATUS_ACTIVE)\
neko259
Show new and active threads for today (-24 hrs from now) at the landing page
r1740 .annotate(today_post_count=Count('thread__replies'))\
.order_by('-pub_time')[:max_landing_threads]
params[PARAM_LATEST_THREADS] = ops
neko259
Added landing page which will be the default on /
r1732 params[PARAM_IMAGES] = Attachment.objects.get_random_images(
RANDOM_IMAGE_COUNT)
return render(request, TEMPLATE, params)