# HG changeset patch # User neko259 # Date 2016-09-30 14:06:35 # Node ID b924e5d9a41bddc5f8b839b9caedee2c7c7f0260 # Parent 3dfbcaebe1b3ea44f0886d6043e996a209b3d9e2 If the first thread is created with not section existing yet, default tag will be added if it is the only one specified diff --git a/boards/forms.py b/boards/forms.py --- a/boards/forms.py +++ b/boards/forms.py @@ -418,10 +418,19 @@ class ThreadForm(PostForm): raise forms.ValidationError( _('Inappropriate characters in tags.')) + default_tag_name = board_settings.get('Forms', 'DefaultTag')\ + .strip().lower() + required_tag_exists = False tag_set = set() for tag_string in tags.split(): - tag, created = Tag.objects.get_or_create(name=tag_string.strip().lower()) + if tag_string.strip().lower() == default_tag_name: + required = True + required_tag_exitst = True + else: + required = False + tag, created = Tag.objects.get_or_create( + name=tag_string.strip().lower(), required=required) tag_set.add(tag) # If this is a new tag, don't check for its parents because nobody @@ -434,9 +443,8 @@ class ThreadForm(PostForm): required_tag_exists = True break + # Use default tag if no section exists if not required_tag_exists: - default_tag_name = board_settings.get('Forms', 'DefaultTag')\ - .strip().lower() default_tag, created = Tag.objects.get_or_create( name=default_tag_name, required=True) tag_set.add(default_tag)