]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/templatetags/node_tags.py
adding a setting that allows the users to choose the comments order
[osqa.git] / forum / templatetags / node_tags.py
index 4eebaf7fadba8064ffde7a60d46faac4934f3cc7..69260c4a8e2f4bcaa7876747a6e9251686179dcb 100644 (file)
@@ -7,6 +7,7 @@ from django.utils.translation import ungettext, ugettext as _
 from django.utils.html import strip_tags\r
 from django.utils.encoding import smart_unicode\r
 from django.utils.safestring import mark_safe\r
+from django.conf import settings as django_settings\r
 from django.core.urlresolvers import reverse\r
 from django import template\r
 from forum.actions import *\r
@@ -81,7 +82,13 @@ def post_control(text, url, command=False, withprompt=False, confirm=False, titl
         (copy and " copy" or " ")\r
     return {'text': text, 'url': url, 'classes': classes, 'title': title}\r
 \r
-@register.inclusion_tag('node/post_controls.html')\r
+\r
+moderation_enabled = False\r
+for m in django_settings.MODULE_LIST:\r
+    if m.__name__.endswith('moderation'):\r
+        moderation_enabled = True\r
+\r
+@register.inclusion_tag('node/post_controls.html' if not moderation_enabled else "modules/moderation/node/post_controls.html")\r
 def post_controls(post, user):\r
     controls = []\r
     menu = []\r
@@ -175,7 +182,8 @@ def post_controls(post, user):
 \r
 @register.inclusion_tag('node/comments.html')\r
 def comments(post, user):\r
-    all_comments = post.comments.filter_state(deleted=False).order_by('added_at')\r
+    all_comments = post.comments.filter_state(deleted=False)\\r
+                                .order_by('-added_at' if settings.SHOW_LATEST_COMMENTS_FIRST else 'added_at')\r
 \r
     if len(all_comments) <= 5:\r
         top_scorers = all_comments\r
@@ -214,6 +222,7 @@ def comments(post, user):
         })\r
         canned_comments.append(t.render(c))\r
 \r
+    total = len(all_comments)\r
     return {\r
         'comments': comments,\r
         'canned_comments': canned_comments,\r
@@ -223,7 +232,9 @@ def comments(post, user):
         'min_length': settings.FORM_MIN_COMMENT_BODY,\r
         'show_gravatar': settings.FORM_GRAVATAR_IN_COMMENTS,\r
         'showing': showing,\r
-        'total': len(all_comments),\r
+        'total': total,\r
+        'more_comments_count' : int(total - showing),\r
+        'show_latest_comments_first' : settings.SHOW_LATEST_COMMENTS_FIRST,\r
         'user': user,\r
     }\r
 \r