From b25b1df19ea98a93e2c175b265e15d625ad1bc65 Mon Sep 17 00:00:00 2001 From: qw3rty Date: Mon, 14 Jun 2010 14:37:29 +0000 Subject: [PATCH] issue - 316 repeating tags are not considered when we test for the minimum and maximum number of tags. git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@418 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- forum/forms/qanda.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/forum/forms/qanda.py b/forum/forms/qanda.py index b4b55ce..f38a382 100644 --- a/forum/forms/qanda.py +++ b/forum/forms/qanda.py @@ -78,14 +78,16 @@ class TagNamesField(forms.CharField): data = value.strip().lower() split_re = re.compile(r'[ ,]+') - list = split_re.split(data) + list = {} + for tag in split_re.split(data): + list[tag] = tag if len(list) > settings.FORM_MAX_NUMBER_OF_TAGS or len(list) < settings.FORM_MIN_NUMBER_OF_TAGS: raise forms.ValidationError(_('please use between %(min)s and %(max)s tags') % { 'min': settings.FORM_MIN_NUMBER_OF_TAGS, 'max': settings.FORM_MAX_NUMBER_OF_TAGS}) list_temp = [] tagname_re = re.compile(r'^[\w+\.-]+$', re.UNICODE) - for tag in list: + for key,tag in list: if len(tag) > settings.FORM_MAX_LENGTH_OF_TAG or len(tag) < settings.FORM_MIN_LENGTH_OF_TAG: raise forms.ValidationError(_('please use between %(min)s and %(max)s characters in you tags') % { 'min': settings.FORM_MIN_LENGTH_OF_TAG, 'max': settings.FORM_MAX_LENGTH_OF_TAG}) if not tagname_re.match(tag): -- 2.39.5