From 4bd4160765b3188e8775a79434cbded5cc634273 Mon Sep 17 00:00:00 2001 From: cdman Date: Thu, 15 Mar 2012 18:28:24 +0200 Subject: [PATCH] Added option to display tag pages even for nonexisting tags & prepopulate tags field for questions --- forum/forms/qanda.py | 8 ++++---- forum/settings/view.py | 8 ++++++++ forum/skins/default/templates/header.html | 2 +- forum/views/readers.py | 20 ++++++++++++++------ forum/views/writers.py | 7 +++++-- 5 files changed, 32 insertions(+), 13 deletions(-) diff --git a/forum/forms/qanda.py b/forum/forms/qanda.py index e356f074..e43be3a5 100644 --- a/forum/forms/qanda.py +++ b/forum/forms/qanda.py @@ -71,7 +71,7 @@ def clean(self, value): class TagNamesField(forms.CharField): - def __init__(self, user=None, *args, **kwargs): + def __init__(self, user=None, initial='', *args, **kwargs): super(TagNamesField, self).__init__(*args, **kwargs) self.required = True @@ -82,7 +82,7 @@ def __init__(self, user=None, *args, **kwargs): self.help_text = _('Tags are short keywords, with no spaces within. At least %(min)s and up to %(max)s tags can be used.') % { 'min': settings.FORM_MIN_NUMBER_OF_TAGS, 'max': settings.FORM_MAX_NUMBER_OF_TAGS } - self.initial = '' + self.initial = initial self.user = user def clean(self, value): @@ -175,10 +175,10 @@ class AskForm(forms.Form): title = TitleField() text = QuestionEditorField() - def __init__(self, data=None, user=None, *args, **kwargs): + def __init__(self, data=None, user=None, default_tag='', *args, **kwargs): super(AskForm, self).__init__(data, *args, **kwargs) - self.fields['tags'] = TagNamesField(user) + self.fields['tags'] = TagNamesField(user, initial=default_tag) if int(user.reputation) < settings.CAPTCHA_IF_REP_LESS_THAN and not (user.is_superuser or user.is_staff): spam_fields = call_all_handlers('create_anti_spam_field') diff --git a/forum/settings/view.py b/forum/settings/view.py index b87c33c5..377809f8 100644 --- a/forum/settings/view.py +++ b/forum/settings/view.py @@ -57,3 +57,11 @@ label = _("Limit related tags block"), help_text = _("Limit related tags block size in questions list pages. Set to 0 to display all all tags."))) +DISPLAY_EMPTY_LIST_FOR_NONEXISTENT_TAGS = Setting('DISPLAY_EMPTY_LIST_FOR_NONEXISTENT_TAGS', False, VIEW_SET, dict( +label = _("Display empty question list for nonexistent tags"), required=False, +help_text = _("Display an empty question list (instead of an error page) for nonexistent tags"))) + +AUTO_SET_TAG_ON_QUESTION = Setting('AUTO_SET_TAG_ON_QUESTION', False, VIEW_SET, dict( +label = _("Automatically set tag on questions asked from tag page"), required=False, +help_text = _("Automatically set the tag on new questions asked from the tag page"))) + diff --git a/forum/skins/default/templates/header.html b/forum/skins/default/templates/header.html index e6da4328..2f5ccad7 100644 --- a/forum/skins/default/templates/header.html +++ b/forum/skins/default/templates/header.html @@ -16,7 +16,7 @@ {% loopregistry page_top_tabs %}{% spaceless %} {{ tab_title }} {% endspaceless %}{% endloopregistry %} - {% trans "ask a question" %} + {% trans "ask a question" %}