]> git.openstreetmap.org Git - osqa.git/commitdiff
Fixes OSQA 337, We show too many tags on the /questions/ url, by adding a couple...
authorhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Wed, 16 Jun 2010 12:19:51 +0000 (12:19 +0000)
committerhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Wed, 16 Jun 2010 12:19:51 +0000 (12:19 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@430 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/settings/__init__.py
forum/settings/form.py
forum/settings/view.py [new file with mode: 0644]
forum/skins/default/templates/osqaadmin/djstyle_base.html
forum/templatetags/general_sidebar_tags.py
forum/templatetags/question_list_tags.py
forum/views/admin.py

index 9880c5f72ce1767bebda429be25acbde7314dd03..b7b4aac4ebf9aa9d19a8144e0d3ea03e21e87f32 100644 (file)
@@ -32,6 +32,7 @@ from upload import *
 from about import *
 from faq import *
 from form import *
 from about import *
 from faq import *
 from form import *
+from view import *
 from moderation import *
 from users import *
 from static import *
 from moderation import *
 from users import *
 from static import *
index ec213764d4a7a677c043393e9e264f6042d3a263..5f770b309ded2f75ea4f49ea2233ec9cfbbef460 100644 (file)
@@ -81,4 +81,7 @@ required=False))
 FORM_GRAVATAR_IN_COMMENTS = Setting('FORM_GRAVATAR_IN_COMMENTS', False, FORUM_SET, dict(
 label = _("Show author gravatar in comments"),
 help_text = _("Show the gravatar image of a comment author."),
 FORM_GRAVATAR_IN_COMMENTS = Setting('FORM_GRAVATAR_IN_COMMENTS', False, FORUM_SET, dict(
 label = _("Show author gravatar in comments"),
 help_text = _("Show the gravatar image of a comment author."),
-required=False))
\ No newline at end of file
+required=False))
+
+
+
diff --git a/forum/settings/view.py b/forum/settings/view.py
new file mode 100644 (file)
index 0000000..1eb44b0
--- /dev/null
@@ -0,0 +1,17 @@
+from base import Setting, SettingSet
+from django.utils.translation import ugettext_lazy as _
+
+""" view settings """
+VIEW_SET = SettingSet('view', _('View settings'), _("Set up how certain parts of the site are displayed."), 20)
+
+RECENT_TAGS_SIZE = Setting('RECENT_TAGS_SIZE', 25, VIEW_SET, dict(
+label = _("Recent tags block size"),
+help_text = _("The number of tags to display in the recent tags block in the front page.")))
+
+RECENT_AWARD_SIZE = Setting('RECENT_AWARD_SIZE', 15, VIEW_SET, dict(
+label = _("Recent awards block size"),
+help_text = _("The number of awards to display in the recent awards block in the front page.")))
+
+LIMIT_RELATED_TAGS = Setting('LIMIT_RELATED_TAGS', 0, VIEW_SET, dict(
+label = _("Limit related tags block"),
+help_text = _("Limit related tags block size in questions list pages. Set to 0 to display all all tags.")))
\ No newline at end of file
index 0cf3ee115af00ebf306f6e6b1ac81c5fdd41bf4f..02443a7458ac7b38668ec3e24ffac2cb4c4a1196 100644 (file)
@@ -84,6 +84,7 @@
                     <h2>{% trans "Forum settings" %}</h2>
                     <ul>
                         <li><a href="{% url admin_set allsets.form.name %}">{{ allsets.form.title }}</a></li>
                     <h2>{% trans "Forum settings" %}</h2>
                     <ul>
                         <li><a href="{% url admin_set allsets.form.name %}">{{ allsets.form.title }}</a></li>
+                        <li><a href="{% url admin_set allsets.view.name %}">{{ allsets.view.title }}</a></li>
                         <li><a href="{% url admin_set allsets.moderation.name %}">{{ allsets.moderation.title }}</a></li>
                     </ul>
                 </div>
                         <li><a href="{% url admin_set allsets.moderation.name %}">{{ allsets.moderation.title }}</a></li>
                     </ul>
                 </div>
index 09f30cccf215d8923c741f42c25c3ee23f9bf768..d17f74bb675bad2f340a1416931cd5eb766bb5e2 100644 (file)
@@ -2,19 +2,15 @@ from django import template
 from forum.models import Tag, Award\r
 from forum import settings\r
 \r
 from forum.models import Tag, Award\r
 from forum import settings\r
 \r
-#todo: move to settings\r
-RECENT_TAGS_SIZE = 25\r
-RECENT_AWARD_SIZE = 15\r
-\r
 register = template.Library()\r
 \r
 @register.inclusion_tag('sidebar/recent_tags.html')\r
 def recent_tags():\r
 register = template.Library()\r
 \r
 @register.inclusion_tag('sidebar/recent_tags.html')\r
 def recent_tags():\r
-    return {'tags': Tag.active.order_by('-id')[:RECENT_TAGS_SIZE]}\r
+    return {'tags': Tag.active.order_by('-id')[:settings.RECENT_TAGS_SIZE]}\r
 \r
 @register.inclusion_tag('sidebar/recent_awards.html')\r
 def recent_awards():\r
 \r
 @register.inclusion_tag('sidebar/recent_awards.html')\r
 def recent_awards():\r
-    return {'awards': Award.objects.order_by('-awarded_at')[:RECENT_AWARD_SIZE]}\r
+    return {'awards': Award.objects.order_by('-awarded_at')[:settings.RECENT_AWARD_SIZE]}\r
 \r
 @register.inclusion_tag('sidebar/user_blocks.html')\r
 def sidebar_upper():\r
 \r
 @register.inclusion_tag('sidebar/user_blocks.html')\r
 def sidebar_upper():\r
index e9b80322eb180240af555098e6e97113d081a07b..dc735f3c508c47633f952bdc7b57ae829946954d 100644 (file)
@@ -3,6 +3,7 @@ from django.utils.translation import ugettext as _
 from django.utils.safestring import mark_safe\r
 from forum.models import Tag, MarkedTag\r
 from forum.templatetags import argument_parser\r
 from django.utils.safestring import mark_safe\r
 from forum.models import Tag, MarkedTag\r
 from forum.templatetags import argument_parser\r
+from forum import settings\r
 \r
 register = template.Library()\r
 \r
 \r
 register = template.Library()\r
 \r
@@ -33,7 +34,12 @@ def question_sort_tabs(sort_context):
 @register.inclusion_tag('question_list/related_tags.html')\r
 def question_list_related_tags(questions):\r
     if len(questions):\r
 @register.inclusion_tag('question_list/related_tags.html')\r
 def question_list_related_tags(questions):\r
     if len(questions):\r
-        return {'tags': Tag.objects.filter(nodes__id__in=[q.id for q in questions]).distinct()}\r
+        tags = Tag.objects.filter(nodes__id__in=[q.id for q in questions]).distinct()\r
+\r
+        if settings.LIMIT_RELATED_TAGS:\r
+            tags = tags[:settings.LIMIT_RELATED_TAGS]\r
+\r
+        return {'tags': tags}\r
     else:\r
         return {'tags': False}\r
 \r
     else:\r
         return {'tags': False}\r
 \r
index 7297c1f9fb8649fb8d9cf94e2d35cd530dd398db..ad4f9b933c01137372d92360ae8022931691e34a 100644 (file)
@@ -37,7 +37,7 @@ def admin_page(fn):
             context['othersets'] = sorted(
                     [s for s in Setting.sets.values() if not s.name in
                     ('basic', 'users', 'email', 'paths', 'extkeys', 'repgain', 'minrep', 'voting', 'badges', 'about', 'faq', 'sidebar',
             context['othersets'] = sorted(
                     [s for s in Setting.sets.values() if not s.name in
                     ('basic', 'users', 'email', 'paths', 'extkeys', 'repgain', 'minrep', 'voting', 'badges', 'about', 'faq', 'sidebar',
-                    'form', 'moderation', 'css', 'headandfoot', 'head')]
+                    'form', 'moderation', 'css', 'headandfoot', 'head', 'view')]
                     , lambda s1, s2: s1.weight - s2.weight)
 
             unsaved = request.session.get('previewing_settings', {})
                     , lambda s1, s2: s1.weight - s2.weight)
 
             unsaved = request.session.get('previewing_settings', {})