Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #10756 -- Error in the formats accepted by PLNIPField. Thanks r…

…emik for the report, michalm for the patch and claudep for the review.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17346 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit c3697a091b7ff0d19f13821b18516ec8eaa1b8f8 1 parent 56b37bf
Aymeric Augustin aaugustin authored
6 django/contrib/localflavor/pl/forms.py
View
@@ -122,18 +122,18 @@ def has_valid_checksum(self, number):
class PLNIPField(RegexField):
"""
A form field that validates as Polish Tax Number (NIP).
- Valid forms are: XXX-XXX-YY-YY or XX-XX-YYY-YYY.
+ Valid forms are: XXX-YYY-YY-YY, XXX-YY-YY-YYY or XXXYYYYYYY.
Checksum algorithm based on documentation at
http://wipos.p.lodz.pl/zylla/ut/nip-rego.html
"""
default_error_messages = {
- 'invalid': _(u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.'),
+ 'invalid': _(u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX, XXX-XX-XX-XXX or XXXXXXXXXX.'),
'checksum': _(u'Wrong checksum for the Tax Number (NIP).'),
}
def __init__(self, max_length=None, min_length=None, *args, **kwargs):
- super(PLNIPField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{2}-\d{2}-\d{3}-\d{3}$',
+ super(PLNIPField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{3}-\d{2}-\d{2}-\d{3}$|^\d{10}$',
max_length, min_length, *args, **kwargs)
def clean(self,value):
4 docs/ref/contrib/localflavor.txt
View
@@ -960,8 +960,8 @@ Poland (``pl``)
.. class:: pl.forms.PLNIPField
- A form field that validates input as a Polish Tax Number (NIP). Valid
- formats are XXX-XXX-XX-XX or XX-XX-XXX-XXX. The checksum algorithm used
+ A form field that validates input as a Polish Tax Number (NIP). Valid formats
+ are XXX-XXX-XX-XX, XXX-XX-XX-XXX or XXXXXXXXXX. The checksum algorithm used
for NIPs is documented at http://wipos.p.lodz.pl/zylla/ut/nip-rego.html.
.. class:: pl.forms.PLCountySelect
6 tests/regressiontests/localflavor/pl/tests.py
View
@@ -420,14 +420,16 @@ def test_PLPostalCodeField(self):
self.assertFieldOutput(PLPostalCodeField, valid, invalid)
def test_PLNIPField(self):
- error_format = [u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.']
+ error_format = [u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX, XXX-XX-XX-XXX or XXXXXXXXXX.']
error_checksum = [u'Wrong checksum for the Tax Number (NIP).']
valid = {
- '64-62-414-124': '6462414124',
'646-241-41-24': '6462414124',
+ '646-24-14-124': '6462414124',
+ '6462414124': '6462414124',
}
invalid = {
'43-343-234-323': error_format,
+ '64-62-414-124': error_format,
'646-241-41-23': error_checksum,
}
self.assertFieldOutput(PLNIPField, valid, invalid)
Please sign in to comment.
Something went wrong with that request. Please try again.