Fixed #14860 -- PLPESELField, PLNIPField, and PLREGONField didn't handle all EMPTY_VALUES correctly. Also converted teh Polish localflavor doctests into unittests. We have always been at war with doctests. Thanks to Idan Gazit.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14949 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2010-12-18 20:32:31 +00:00
parent 187a11e1f1
commit f9e6ca1026
4 changed files with 467 additions and 89 deletions

View File

@ -7,6 +7,7 @@ import re
from django.forms import ValidationError from django.forms import ValidationError
from django.forms.fields import Select, RegexField from django.forms.fields import Select, RegexField
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.core.validators import EMPTY_VALUES
class PLProvinceSelect(Select): class PLProvinceSelect(Select):
""" """
@ -45,6 +46,8 @@ class PLPESELField(RegexField):
def clean(self,value): def clean(self,value):
super(PLPESELField, self).clean(value) super(PLPESELField, self).clean(value)
if value in EMPTY_VALUES:
return u''
if not self.has_valid_checksum(value): if not self.has_valid_checksum(value):
raise ValidationError(self.error_messages['checksum']) raise ValidationError(self.error_messages['checksum'])
return u'%s' % value return u'%s' % value
@ -78,6 +81,8 @@ class PLNIPField(RegexField):
def clean(self,value): def clean(self,value):
super(PLNIPField, self).clean(value) super(PLNIPField, self).clean(value)
if value in EMPTY_VALUES:
return u''
value = re.sub("[-]", "", value) value = re.sub("[-]", "", value)
if not self.has_valid_checksum(value): if not self.has_valid_checksum(value):
raise ValidationError(self.error_messages['checksum']) raise ValidationError(self.error_messages['checksum'])
@ -116,6 +121,8 @@ class PLREGONField(RegexField):
def clean(self,value): def clean(self,value):
super(PLREGONField, self).clean(value) super(PLREGONField, self).clean(value)
if value in EMPTY_VALUES:
return u''
if not self.has_valid_checksum(value): if not self.has_valid_checksum(value):
raise ValidationError(self.error_messages['checksum']) raise ValidationError(self.error_messages['checksum'])
return u'%s' % value return u'%s' % value

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from localflavor.cz import tests as localflavor_cz_tests from localflavor.cz import tests as localflavor_cz_tests
from localflavor.pl import tests as localflavor_pl_tests
from localflavor.pt import tests as localflavor_pt_tests from localflavor.pt import tests as localflavor_pt_tests
from localflavor.ro import tests as localflavor_ro_tests from localflavor.ro import tests as localflavor_ro_tests
from localflavor.se import tests as localflavor_se_tests from localflavor.se import tests as localflavor_se_tests
@ -31,12 +30,12 @@ from localflavor.it import ITLocalFlavorTests
from localflavor.jp import JPLocalFlavorTests from localflavor.jp import JPLocalFlavorTests
from localflavor.kw import KWLocalFlavorTests from localflavor.kw import KWLocalFlavorTests
from localflavor.nl import NLLocalFlavorTests from localflavor.nl import NLLocalFlavorTests
from localflavor.pl import PLLocalFlavorTests
from localflavor.tr import TRLocalFlavorTests from localflavor.tr import TRLocalFlavorTests
__test__ = { __test__ = {
'localflavor_cz_tests': localflavor_cz_tests, 'localflavor_cz_tests': localflavor_cz_tests,
'localflavor_pl_tests': localflavor_pl_tests,
'localflavor_pt_tests': localflavor_pt_tests, 'localflavor_pt_tests': localflavor_pt_tests,
'localflavor_ro_tests': localflavor_ro_tests, 'localflavor_ro_tests': localflavor_ro_tests,
'localflavor_se_tests': localflavor_se_tests, 'localflavor_se_tests': localflavor_se_tests,

View File

@ -34,5 +34,6 @@ from regressiontests.forms.localflavortests import (
JPLocalFlavorTests, JPLocalFlavorTests,
KWLocalFlavorTests, KWLocalFlavorTests,
NLLocalFlavorTests, NLLocalFlavorTests,
PLLocalFlavorTests,
TRLocalFlavorTests, TRLocalFlavorTests,
) )