# HG changeset patch # User neko259 # Date 2016-12-28 14:46:01 # Node ID 49bdf576c573b002401b0ddfea64819aba39961e # Parent bd311fa9b5dd13986cfc86489bfe44b39c54be5f Show only active (by status) threads on the landing page diff --git a/boards/locale/ru/LC_MESSAGES/django.mo b/boards/locale/ru/LC_MESSAGES/django.mo index 260475828d23dc5902e931395cfa1cd6a6c0412b..0d28c0882964720772da76f1c0137e3ae3544526 GIT binary patch literal 10512 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 diff --git a/boards/locale/ru/LC_MESSAGES/django.po b/boards/locale/ru/LC_MESSAGES/django.po --- a/boards/locale/ru/LC_MESSAGES/django.po +++ b/boards/locale/ru/LC_MESSAGES/django.po @@ -553,4 +553,11 @@ msgid "Messages per day/week/month:" msgstr "Сообщений за день/неделю/месяц:" msgid "Subscribe to thread" -msgstr "Подписаться на тему" \ No newline at end of file +msgstr "Подписаться на тему" + +msgid "Active threads:" +msgstr "Активные темы:" + +msgid "No active threads today." +msgstr "Сегодня нет активных тем." + diff --git a/boards/templates/boards/landing.html b/boards/templates/boards/landing.html --- a/boards/templates/boards/landing.html +++ b/boards/templates/boards/landing.html @@ -25,9 +25,14 @@
+ {% if latest_threads %} + {% trans "Active threads:" %}
{% for op in latest_threads %} {{ op.get_link_view|safe }} {{ op.get_title_or_text }} ({{ op.thread.get_sections_str|safe }}) +{{ op.today_post_count }}
{% endfor %} + {% else %} + {% trans "No active threads today." %} + {% endif %}
{% endblock %} diff --git a/boards/views/landing.py b/boards/views/landing.py --- a/boards/views/landing.py +++ b/boards/views/landing.py @@ -8,7 +8,7 @@ from django.views.decorators.csrf import from boards import settings from boards.models import Post -from boards.models import Tag, Attachment +from boards.models import Tag, Attachment, STATUS_ACTIVE from boards.views.base import BaseBoardView PARAM_SECTION_STR = 'section_str' @@ -30,7 +30,7 @@ class LandingView(BaseBoardView): today = datetime.now() - timedelta(1) max_landing_threads = settings.get_int('View', 'MaxFavoriteThreads') - ops = Post.objects.filter(thread__replies__pub_time__gt=today, opening=True)\ + ops = Post.objects.filter(thread__replies__pub_time__gt=today, opening=True, thread__status=STATUS_ACTIVE)\ .annotate(today_post_count=Count('thread__replies'))\ .order_by('-pub_time')[:max_landing_threads] params[PARAM_LATEST_THREADS] = ops