diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-08-19 07:38:39 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-08-19 07:38:39 +0000 |
| commit | 90c177f18e9fa57b3239cc3c3e4a0fa10f6a087a (patch) | |
| tree | 39ae35f35ff0e4a1b3b2d9beda94839aab1d83b3 | |
| parent | a901af5f580617a4ddce66ef249e90749de9acd0 (diff) | |
Fixed #5200 -- Added Polish localflavor. Thanks, Slawek Mikula.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5936 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | AUTHORS | 1 | ||||
| -rw-r--r-- | django/contrib/localflavor/pl/__init__.py | 0 | ||||
| -rw-r--r-- | django/contrib/localflavor/pl/forms.py | 84 | ||||
| -rw-r--r-- | django/contrib/localflavor/pl/pl_administrativeunits.py | 385 | ||||
| -rw-r--r-- | django/contrib/localflavor/pl/pl_voivodeships.py | 24 | ||||
| -rw-r--r-- | tests/regressiontests/forms/localflavor.py | 57 |
6 files changed, 550 insertions, 1 deletions
@@ -196,6 +196,7 @@ answer newbie questions, and generally made Django that much better: mccutchen@gmail.com michael.mcewan@gmail.com mikko@sorl.net + Slawek Mikula <slawek dot mikula at gmail dot com> mitakummaa@gmail.com mmarshall Andreas Mock <andreas.mock@web.de> diff --git a/django/contrib/localflavor/pl/__init__.py b/django/contrib/localflavor/pl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/django/contrib/localflavor/pl/__init__.py diff --git a/django/contrib/localflavor/pl/forms.py b/django/contrib/localflavor/pl/forms.py new file mode 100644 index 0000000000..62806362dc --- /dev/null +++ b/django/contrib/localflavor/pl/forms.py @@ -0,0 +1,84 @@ +""" +Polish-specific form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Select, RegexField +from django.utils.translation import ugettext as _ + +class PLVoivodeshipSelect(Select): + """ + A select widget with list of Polish voivodeships (administrative provinces) + as choices. + """ + def __init__(self, attrs=None): + from pl_voivodeships import VOIVODESHIP_CHOICES + super(PLVoivodeshipSelect, self).__init__(attrs, choices=VOIVODESHIP_CHOICES) + +class PLAdministrativeUnitSelect(Select): + """ + A select widget with list of Polish administrative units as choices. + """ + def __init__(self, attrs=None): + from pl_administrativeunits import ADMINISTRATIVE_UNIT_CHOICES + super(PLAdministrativeUnitSelect, self).__init__(attrs, choices=ADMINISTRATIVE_UNIT_CHOICES) + +class PLNationalIdentificationNumberField(RegexField): + """ + A form field that validates as Polish Identification Number (PESEL). + + Checks the following rules: + * the length consist of 11 digits + * has a valid checksum + + The algorithm is documented at http://en.wikipedia.org/wiki/PESEL. + """ + + def has_valid_checksum(self, number): + """ + Calculates a checksum with the provided algorithm. + """ + multiple_table = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1) + result = 0 + for i in range(len(number)): + result += int(number[i])*multiple_table[i] + + if result % 10 == 0: + return True + else: + return False + + def __init__(self, *args, **kwargs): + super(PLNationalIdentificationNumberField, self).__init__(r'^\d{11}$', + max_length=None, min_length=None, error_message=_(u'National Identification Number consists of 11 digits.'), + *args, **kwargs) + + def clean(self,value): + super(PLNationalIdentificationNumberField, self).clean(value) + if not self.has_valid_checksum(value): + raise ValidationError(_(u'Wrong checksum for the National Identification Number.')) + return u'%s' % value + + +class PLTaxNumberField(RegexField): + """ + A form field that validates as Polish Tax Number (NIP). + Valid forms are: XXX-XXX-YY-YY or XX-XX-YYY-YYY. + """ + def __init__(self, *args, **kwargs): + super(PLTaxNumberField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{2}-\d{2}-\d{3}-\d{3}$', + max_length=None, min_length=None, + error_message=_(u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.'), *args, **kwargs) + + +class PLPostalCodeField(RegexField): + """ + A form field that validates as Polish postal code. + Valid code is XX-XXX where X is digit. + """ + def __init__(self, *args, **kwargs): + super(PLPostalCodeField, self).__init__(r'^\d{2}-\d{3}$', + max_length=None, min_length=None, + error_message=_(u'Enter a postal code in the format XX-XXX.'), + *args, **kwargs) + diff --git a/django/contrib/localflavor/pl/pl_administrativeunits.py b/django/contrib/localflavor/pl/pl_administrativeunits.py new file mode 100644 index 0000000000..9777ea2b61 --- /dev/null +++ b/django/contrib/localflavor/pl/pl_administrativeunits.py @@ -0,0 +1,385 @@ +# -*- coding: utf-8 -*- +""" +Polish administrative units as in http://pl.wikipedia.org/wiki/Podzia%C5%82_administracyjny_Polski +""" + + +ADMINISTRATIVE_UNIT_CHOICES = ( + ('wroclaw', u'Wrocław'), + ('jeleniagora', u'Jelenia Góra'), + ('legnica', u'Legnica'), + ('boleslawiecki', u'bolesławiecki'), + ('dzierzoniowski', u'dzierżoniowski'), + ('glogowski', u'głogowski'), + ('gorowski', u'górowski'), + ('jaworski', u'jaworski'), + ('jeleniogorski', u'jeleniogórski'), + ('kamiennogorski', u'kamiennogórski'), + ('klodzki', u'kłodzki'), + ('legnicki', u'legnicki'), + ('lubanski', u'lubański'), + ('lubinski', u'lubiński'), + ('lwowecki', u'lwówecki'), + ('milicki', u'milicki'), + ('olesnicki', u'oleśnicki'), + ('olawski', u'oławski'), + ('polkowicki', u'polkowicki'), + ('strzelinski', u'strzeliński'), + ('sredzki', u'średzki'), + ('swidnicki', u'świdnicki'), + ('trzebnicki', u'trzebnicki'), + ('walbrzyski', u'wałbrzyski'), + ('wolowski', u'wołowski'), + ('wroclawski', u'wrocławski'), + ('zabkowicki', u'ząbkowicki'), + ('zgorzelecki', u'zgorzelecki'), + ('zlotoryjski', u'złotoryjski'), + ('bydgoszcz', u'Bydgoszcz'), + ('torun', u'Toruń'), + ('wloclawek', u'Włocławek'), + ('grudziadz', u'Grudziądz'), + ('aleksandrowski', u'aleksandrowski'), + ('brodnicki', u'brodnicki'), + ('bydgoski', u'bydgoski'), + ('chelminski', u'chełmiński'), + ('golubsko-dobrzynski', u'golubsko-dobrzyński'), + ('grudziadzki', u'grudziądzki'), + ('inowroclawski', u'inowrocławski'), + ('lipnowski', u'lipnowski'), + ('mogilenski', u'mogileński'), + ('nakielski', u'nakielski'), + ('radziejowski', u'radziejowski'), + ('rypinski', u'rypiński'), + ('sepolenski', u'sępoleński'), + ('swiecki', u'świecki'), + ('torunski', u'toruński'), + ('tucholski', u'tucholski'), + ('wabrzeski', u'wąbrzeski'), + ('wloclawski', u'wrocławski'), + ('zninski', u'źniński'), + ('lublin', u'Lublin'), + ('biala-podlaska', u'Biała Podlaska'), + ('chelm', u'Chełm'), + ('zamosc', u'Zamość'), + ('bialski', u'bialski'), + ('bilgorajski', u'biłgorajski'), + ('chelmski', u'chełmski'), + ('hrubieszowski', u'hrubieszowski'), + ('janowski', u'janowski'), + ('krasnostawski', u'krasnostawski'), + ('krasnicki', u'kraśnicki'), + ('lubartowski', u'lubartowski'), + ('lubelski', u'lubelski'), + ('leczynski', u'łęczyński'), + ('lukowski', u'łukowski'), + ('opolski', u'opolski'), + ('parczewski', u'parczewski'), + ('pulawski', u'puławski'), + ('radzynski', u'radzyński'), + ('rycki', u'rycki'), + ('swidnicki', u'świdnicki'), + ('tomaszowski', u'tomaszowski'), + ('wlodawski', u'włodawski'), + ('zamojski', u'zamojski'), + ('gorzow-wielkopolski', u'Gorzów Wielkopolski'), + ('zielona-gora', u'Zielona Góra'), + ('gorzowski', u'gorzowski'), + ('krosnienski', u'krośnieński'), + ('miedzyrzecki', u'międzyrzecki'), + ('nowosolski', u'nowosolski'), + ('slubicki', u'słubicki'), + ('strzelecko-drezdenecki', u'strzelecko-drezdenecki'), + ('sulecinski', u'suleńciński'), + ('swiebodzinski', u'świebodziński'), + ('wschowski', u'wschowski'), + ('zielonogorski', u'zielonogórski'), + ('zaganski', u'żagański'), + ('zarski', u'żarski'), + ('lodz', u'Łódź'), + ('piotrkow-trybunalski', u'Piotrków Trybunalski'), + ('skierniewice', u'Skierniewice'), + ('belchatowski', u'bełchatowski'), + ('brzezinski', u'brzeziński'), + ('kutnowski', u'kutnowski'), + ('laski', u'łaski'), + ('leczycki', u'łęczycki'), + ('lowicki', u'łowicki'), + ('lodzki wschodni', u'łódzki wschodni'), + ('opoczynski', u'opoczyński'), + ('pabianicki', u'pabianicki'), + ('pajeczanski', u'pajęczański'), + ('piotrkowski', u'piotrkowski'), + ('poddebicki', u'poddębicki'), + ('radomszczanski', u'radomszczański'), + ('rawski', u'rawski'), + ('sieradzki', u'sieradzki'), + ('skierniewicki', u'skierniewicki'), + ('tomaszowski', u'tomaszowski'), + ('wielunski', u'wieluński'), + ('wieruszowski', u'wieruszowski'), + ('zdunskowolski', u'zduńskowolski'), + ('zgierski', u'zgierski'), + ('krakow', u'Kraków'), + ('tarnow', u'Tarnów'), + ('nowy-sacz', u'Nowy Sącz'), + ('bochenski', u'bocheński'), + ('brzeski', u'brzeski'), + ('chrzanowski', u'chrzanowski'), + ('dabrowski', u'dąbrowski'), + ('gorlicki', u'gorlicki'), + ('krakowski', u'krakowski'), + ('limanowski', u'limanowski'), + ('miechowski', u'miechowski'), + ('myslenicki', u'myślenicki'), + ('nowosadecki', u'nowosądecki'), + ('nowotarski', u'nowotarski'), + ('olkuski', u'olkuski'), + ('oswiecimski', u'oświęcimski'), + ('proszowicki', u'proszowicki'), + ('suski', u'suski'), + ('tarnowski', u'tarnowski'), + ('tatrzanski', u'tatrzański'), + ('wadowicki', u'wadowicki'), + ('wielicki', u'wielicki'), + ('warszawa', u'Warszawa'), + ('ostroleka', u'Ostrołęka'), + ('plock', u'Płock'), + ('radom', u'Radom'), + ('siedlce', u'Siedlce'), + ('bialobrzeski', u'białobrzeski'), + ('ciechanowski', u'ciechanowski'), + ('garwolinski', u'garwoliński'), + ('gostyninski', u'gostyniński'), + ('grodziski', u'grodziski'), + ('grojecki', u'grójecki'), + ('kozienicki', u'kozenicki'), + ('legionowski', u'legionowski'), + ('lipski', u'lipski'), + ('losicki', u'łosicki'), + ('makowski', u'makowski'), + ('minski', u'miński'), + ('mlawski', u'mławski'), + ('nowodworski', u'nowodworski'), + ('ostrolecki', u'ostrołęcki'), + ('ostrowski', u'ostrowski'), + ('otwocki', u'otwocki'), + ('piaseczynski', u'piaseczyński'), + ('plocki', u'płocki'), + ('plonski', u'płoński'), + ('pruszkowski', u'pruszkowski'), + ('przasnyski', u'przasnyski'), + ('przysuski', u'przysuski'), + ('pultuski', u'pułtuski'), + ('radomski', u'radomski'), + ('siedlecki', u'siedlecki'), + ('sierpecki', u'sierpecki'), + ('sochaczewski', u'sochaczewski'), + ('sokolowski', u'sokołowski'), + ('szydlowiecki', u'szydłowiecki'), + ('warszawski-zachodni', u'warszawski zachodni'), + ('wegrowski', u'węgrowski'), + ('wolominski', u'wołomiński'), + ('wyszkowski', u'wyszkowski'), + ('zwolenski', u'zwoleński'), + ('zurominski', u'żuromiński'), + ('zyrardowski', u'żyrardowski'), + ('opole', u'Opole'), + ('brzeski', u'brzeski'), + ('glubczycki', u'głubczyski'), + ('kedzierzynsko-kozielski', u'kędzierzyński-kozielski'), + ('kluczborski', u'kluczborski'), + ('krapkowicki', u'krapkowicki'), + ('namyslowski', u'namysłowski'), + ('nyski', u'nyski'), + ('oleski', u'oleski'), + ('opolski', u'opolski'), + ('prudnicki', u'prudnicki'), + ('strzelecki', u'strzelecki'), + ('rzeszow', u'Rzeszów'), + ('krosno', u'Krosno'), + ('przemysl', u'Przemyśl'), + ('tarnobrzeg', u'Tarnobrzeg'), + ('bieszczadzki', u'bieszczadzki'), + ('brzozowski', u'brzozowski'), + ('debicki', u'dębicki'), + ('jaroslawski', u'jarosławski'), + ('jasielski', u'jasielski'), + ('kolbuszowski', u'kolbuszowski'), + ('krosnienski', u'krośnieński'), + ('leski', u'leski'), + ('lezajski', u'leżajski'), + ('lubaczowski', u'lubaczowski'), + ('lancucki', u'łańcucki'), + ('mielecki', u'mielecki'), + ('nizanski', u'niżański'), + ('przemyski', u'przemyski'), + ('przeworski', u'przeworski'), + ('ropczycko-sedziszowski', u'ropczycko-sędziszowski'), + ('rzeszowski', u'rzeszowski'), + ('sanocki', u'sanocki'), + ('stalowowolski', u'stalowowolski'), + ('strzyzowski', u'strzyżowski'), + ('tarnobrzeski', u'tarnobrzeski'), + ('bialystok', u'Białystok'), + ('lomza', u'Łomża'), + ('suwalki', u'Suwałki'), + ('augustowski', u'augustowski'), + ('bialostocki', u'białostocki'), + ('bielski', u'bielski'), + ('grajewski', u'grajewski'), + ('hajnowski', u'hajnowski'), + ('kolnenski', u'kolneński'), + ('łomzynski', u'łomżyński'), + ('moniecki', u'moniecki'), + ('sejnenski', u'sejneński'), + ('siemiatycki', u'siematycki'), + ('sokolski', u'sokólski'), + ('suwalski', u'suwalski'), + ('wysokomazowiecki', u'wysokomazowiecki'), + ('zambrowski', u'zambrowski'), + ('gdansk', u'Gdańsk'), + ('gdynia', u'Gdynia'), + ('slupsk', u'Słupsk'), + ('sopot', u'Sopot'), + ('bytowski', u'bytowski'), + ('chojnicki', u'chojnicki'), + ('czluchowski', u'człuchowski'), + ('kartuski', u'kartuski'), + ('koscierski', u'kościerski'), + ('kwidzynski', u'kwidzyński'), + ('leborski', u'lęborski'), + ('malborski', u'malborski'), + ('nowodworski', u'nowodworski'), + ('gdanski', u'gdański'), + ('pucki', u'pucki'), + ('slupski', u'słupski'), + ('starogardzki', u'starogardzki'), + ('sztumski', u'sztumski'), + ('tczewski', u'tczewski'), + ('wejherowski', u'wejcherowski'), + ('katowice', u'Katowice'), + ('bielsko-biala', u'Bielsko-Biała'), + ('bytom', u'Bytom'), + ('chorzow', u'Chorzów'), + ('czestochowa', u'Częstochowa'), + ('dabrowa-gornicza', u'Dąbrowa Górnicza'), + ('gliwice', u'Gliwice'), + ('jastrzebie-zdroj', u'Jastrzębie Zdrój'), + ('jaworzno', u'Jaworzno'), + ('myslowice', u'Mysłowice'), + ('piekary-slaskie', u'Piekary Śląskie'), + ('ruda-slaska', u'Ruda Śląska'), + ('rybnik', u'Rybnik'), + ('siemianowice-slaskie', u'Siemianowice Śląskie'), + ('sosnowiec', u'Sosnowiec'), + ('swietochlowice', u'Świętochłowice'), + ('tychy', u'Tychy'), + ('zabrze', u'Zabrze'), + ('zory', u'Żory'), + ('bedzinski', u'będziński'), + ('bielski', u'bielski'), + ('bierunsko-ledzinski', u'bieruńsko-lędziński'), + ('cieszynski', u'cieszyński'), + ('czestochowski', u'częstochowski'), + ('gliwicki', u'gliwicki'), + ('klobucki', u'kłobucki'), + ('lubliniecki', u'lubliniecki'), + ('mikolowski', u'mikołowski'), + ('myszkowski', u'myszkowski'), + ('pszczynski', u'pszczyński'), + ('raciborski', u'raciborski'), + ('rybnicki', u'rybnicki'), + ('tarnogorski', u'tarnogórski'), + ('wodzislawski', u'wodzisławski'), + ('zawiercianski', u'zawierciański'), + ('zywiecki', u'żywiecki'), + ('kielce', u'Kielce'), + ('buski', u'buski'), + ('jedrzejowski', u'jędrzejowski'), + ('kazimierski', u'kazimierski'), + ('kielecki', u'kielecki'), + ('konecki', u'konecki'), + ('opatowski', u'opatowski'), + ('ostrowiecki', u'ostrowiecki'), + ('pinczowski', u'pińczowski'), + ('sandomierski', u'sandomierski'), + ('skarzyski', u'skarżyski'), + ('starachowicki', u'starachowicki'), + ('staszowski', u'staszowski'), + ('wloszczowski', u'włoszczowski'), + ('olsztyn', u'Olsztyn'), + ('elblag', u'Elbląg'), + ('bartoszycki', u'bartoszycki'), + ('braniewski', u'braniewski'), + ('dzialdowski', u'działdowski'), + ('elblaski', u'elbląski'), + ('elcki', u'ełcki'), + ('gizycki', u'giżycki'), + ('goldapski', u'gołdapski'), + ('ilawski', u'iławski'), + ('ketrzynski', u'kętrzyński'), + ('lidzbarski', u'lidzbarski'), + ('mragowski', u'mrągowski'), + ('nidzicki', u'nidzicki'), + ('nowomiejski', u'nowomiejski'), + ('olecki', u'olecki'), + ('olsztynski', u'olsztyński'), + ('ostrodzki', u'ostródzki'), + ('piski', u'piski'), + ('szczycienski', u'szczycieński'), + ('wegorzewski', u'węgorzewski'), + ('poznan', u'Poznań'), + ('kalisz', u'Kalisz'), + ('konin', u'Konin'), + ('leszno', u'Leszno'), + ('chodzieski', u'chodziejski'), + ('czarnkowsko-trzcianecki', u'czarnkowsko-trzcianecki'), + ('gnieznienski', u'gnieźnieński'), + ('gostynski', u'gostyński'), + ('grodziski', u'grodziski'), + ('jarocinski', u'jarociński'), + ('kaliski', u'kaliski'), + ('kepinski', u'kępiński'), + ('kolski', u'kolski'), + ('koninski', u'koniński'), + ('koscianski', u'kościański'), + ('krotoszynski', u'krotoszyński'), + ('leszczynski', u'leszczyński'), + ('miedzychodzki', u'międzychodzki'), + ('nowotomyski', u'nowotomyski'), + ('obornicki', u'obornicki'), + ('ostrowski', u'ostrowski'), + ('ostrzeszowski', u'ostrzeszowski'), + ('pilski', u'pilski'), + ('pleszewski', u'pleszewski'), + ('poznanski', u'poznański'), + ('rawicki', u'rawicki'), + ('slupecki', u'słupecki'), + ('szamotulski', u'szamotulski'), + ('sredzki', u'średzki'), + ('sremski', u'śremski'), + ('turecki', u'turecki'), + ('wagrowiecki', u'wągrowiecki'), + ('wolsztynski', u'wolsztyński'), + ('wrzesinski', u'wrzesiński'), + ('zlotowski', u'złotowski'), + ('bialogardzki', u'białogardzki'), + ('choszczenski', u'choszczeński'), + ('drawski', u'drawski'), + ('goleniowski', u'goleniowski'), + ('gryficki', u'gryficki'), + ('gryfinski', u'gryfiński'), + ('kamienski', u'kamieński'), + ('kolobrzeski', u'kołobrzeski'), + ('koszalinski', u'koszaliński'), + ('lobeski', u'łobeski'), + ('mysliborski', u'myśliborski'), + ('policki', u'policki'), + ('pyrzycki', u'pyrzycki'), + ('slawienski', u'sławieński'), + ('stargardzki', u'stargardzki'), + ('szczecinecki', u'szczecinecki'), + ('swidwinski', u'świdwiński'), + ('walecki', u'wałecki'), +) + diff --git a/django/contrib/localflavor/pl/pl_voivodeships.py b/django/contrib/localflavor/pl/pl_voivodeships.py new file mode 100644 index 0000000000..d8caede3c8 --- /dev/null +++ b/django/contrib/localflavor/pl/pl_voivodeships.py @@ -0,0 +1,24 @@ +""" +Polish voivodeship as in http://en.wikipedia.org/wiki/Poland#Administrative_division +""" + +from django.utils.translation import ugettext_lazy as _ + +VOIVODESHIP_CHOICES = ( + ('lower_silesia', _('Lower Silesia')), + ('kuyavia-pomerania', _('Kuyavia-Pomerania')), + ('lublin', _('Lublin')), + ('lubusz', _('Lubusz')), + ('lodz', _('Lodz')), + ('lesser_poland', _('Lesser Poland')), + ('masovia', _('Masovia')), + ('opole', _('Opole')), + ('subcarpatia', _('Subcarpatia')), + ('podlasie', _('Podlasie')), + ('pomerania', _('Pomerania')), + ('silesia', _('Silesia')), + ('swietokrzyskie', _('Swietokrzyskie')), + ('warmia-masuria', _('Warmia-Masuria')), + ('greater_poland', _('Greater Poland')), + ('west_pomerania', _('West Pomerania')), +) diff --git a/tests/regressiontests/forms/localflavor.py b/tests/regressiontests/forms/localflavor.py index 132a61c30d..a896013b0d 100644 --- a/tests/regressiontests/forms/localflavor.py +++ b/tests/regressiontests/forms/localflavor.py @@ -1390,5 +1390,60 @@ u'<select name="regions">\n<option value="BB">Banska Bystrica region</option>\n< >>> w.render('Districts', 'RK') u'<select name="Districts">\n<option value="BB">Banska Bystrica</option>\n<option value="BS">Banska Stiavnica</option>\n<option value="BJ">Bardejov</option>\n<option value="BN">Banovce nad Bebravou</option>\n<option value="BR">Brezno</option>\n<option value="BA1">Bratislava I</option>\n<option value="BA2">Bratislava II</option>\n<option value="BA3">Bratislava III</option>\n<option value="BA4">Bratislava IV</option>\n<option value="BA5">Bratislava V</option>\n<option value="BY">Bytca</option>\n<option value="CA">Cadca</option>\n<option value="DT">Detva</option>\n<option value="DK">Dolny Kubin</option>\n<option value="DS">Dunajska Streda</option>\n<option value="GA">Galanta</option>\n<option value="GL">Gelnica</option>\n<option value="HC">Hlohovec</option>\n<option value="HE">Humenne</option>\n<option value="IL">Ilava</option>\n<option value="KK">Kezmarok</option>\n<option value="KN">Komarno</option>\n<option value="KE1">Kosice I</option>\n<option value="KE2">Kosice II</option>\n<option value="KE3">Kosice III</option>\n<option value="KE4">Kosice IV</option>\n<option value="KEO">Kosice - okolie</option>\n<option value="KA">Krupina</option>\n<option value="KM">Kysucke Nove Mesto</option>\n<option value="LV">Levice</option>\n<option value="LE">Levoca</option>\n<option value="LM">Liptovsky Mikulas</option>\n<option value="LC">Lucenec</option>\n<option value="MA">Malacky</option>\n<option value="MT">Martin</option>\n<option value="ML">Medzilaborce</option>\n<option value="MI">Michalovce</option>\n<option value="MY">Myjava</option>\n<option value="NO">Namestovo</option>\n<option value="NR">Nitra</option>\n<option value="NM">Nove Mesto nad Vahom</option>\n<option value="NZ">Nove Zamky</option>\n<option value="PE">Partizanske</option>\n<option value="PK">Pezinok</option>\n<option value="PN">Piestany</option>\n<option value="PT">Poltar</option>\n<option value="PP">Poprad</option>\n<option value="PB">Povazska Bystrica</option>\n<option value="PO">Presov</option>\n<option value="PD">Prievidza</option>\n<option value="PU">Puchov</option>\n<option value="RA">Revuca</option>\n<option value="RS">Rimavska Sobota</option>\n<option value="RV">Roznava</option>\n<option value="RK" selected="selected">Ruzomberok</option>\n<option value="SB">Sabinov</option>\n<option value="SC">Senec</option>\n<option value="SE">Senica</option>\n<option value="SI">Skalica</option>\n<option value="SV">Snina</option>\n<option value="SO">Sobrance</option>\n<option value="SN">Spisska Nova Ves</option>\n<option value="SL">Stara Lubovna</option>\n<option value="SP">Stropkov</option>\n<option value="SK">Svidnik</option>\n<option value="SA">Sala</option>\n<option value="TO">Topolcany</option>\n<option value="TV">Trebisov</option>\n<option value="TN">Trencin</option>\n<option value="TT">Trnava</option>\n<option value="TR">Turcianske Teplice</option>\n<option value="TS">Tvrdosin</option>\n<option value="VK">Velky Krtis</option>\n<option value="VT">Vranov nad Toplou</option>\n<option value="ZM">Zlate Moravce</option>\n<option value="ZV">Zvolen</option>\n<option value="ZC">Zarnovica</option>\n<option value="ZH">Ziar nad Hronom</option>\n<option value="ZA">Zilina</option>\n</select>' -""" +# PLVoivodeshipSelect ########################################################## + +>>> from django.contrib.localflavor.pl.forms import PLVoivodeshipSelect +>>> f = PLVoivodeshipSelect() +>>> f.render('voivodeships','pomerania') +u'<select name="voivodeships">\n<option value="lower_silesia">Lower Silesia</option>\n<option value="kuyavia-pomerania">Kuyavia-Pomerania</option>\n<option value="lublin">Lublin</option>\n<option value="lubusz">Lubusz</option>\n<option value="lodz">Lodz</option>\n<option value="lesser_poland">Lesser Poland</option>\n<option value="masovia">Masovia</option>\n<option value="opole">Opole</option>\n<option value="subcarpatia">Subcarpatia</option>\n<option value="podlasie">Podlasie</option>\n<option value="pomerania" selected="selected">Pomerania</option>\n<option value="silesia">Silesia</option>\n<option value="swietokrzyskie">Swietokrzyskie</option>\n<option value="warmia-masuria">Warmia-Masuria</option>\n<option value="greater_poland">Greater Poland</option>\n<option value="west_pomerania">West Pomerania</option>\n</select>' + +# PLAdministrativeUnitSelect ########################################################## + +>>> from django.contrib.localflavor.pl.forms import PLAdministrativeUnitSelect +>>> f = PLAdministrativeUnitSelect() +>>> f.render('administrativeunit','katowice') +u'<select name="administrativeunit">\n<option value="wroclaw">Wroc\u0142aw</option>\n<option value="jeleniagora">Jelenia G\xf3ra</option>\n<option value="legnica">Legnica</option>\n<option value="boleslawiecki">boles\u0142awiecki</option>\n<option value="dzierzoniowski">dzier\u017coniowski</option>\n<option value="glogowski">g\u0142ogowski</option>\n<option value="gorowski">g\xf3rowski</option>\n<option value="jaworski">jaworski</option>\n<option value="jeleniogorski">jeleniog\xf3rski</option>\n<option value="kamiennogorski">kamiennog\xf3rski</option>\n<option value="klodzki">k\u0142odzki</option>\n<option value="legnicki">legnicki</option>\n<option value="lubanski">luba\u0144ski</option>\n<option value="lubinski">lubi\u0144ski</option>\n<option value="lwowecki">lw\xf3wecki</option>\n<option value="milicki">milicki</option>\n<option value="olesnicki">ole\u015bnicki</option>\n<option value="olawski">o\u0142awski</option>\n<option value="polkowicki">polkowicki</option>\n<option value="strzelinski">strzeli\u0144ski</option>\n<option value="sredzki">\u015bredzki</option>\n<option value="swidnicki">\u015bwidnicki</option>\n<option value="trzebnicki">trzebnicki</option>\n<option value="walbrzyski">wa\u0142brzyski</option>\n<option value="wolowski">wo\u0142owski</option>\n<option value="wroclawski">wroc\u0142awski</option>\n<option value="zabkowicki">z\u0105bkowicki</option>\n<option value="zgorzelecki">zgorzelecki</option>\n<option value="zlotoryjski">z\u0142otoryjski</option>\n<option value="bydgoszcz">Bydgoszcz</option>\n<option value="torun">Toru\u0144</option>\n<option value="wloclawek">W\u0142oc\u0142awek</option>\n<option value="grudziadz">Grudzi\u0105dz</option>\n<option value="aleksandrowski">aleksandrowski</option>\n<option value="brodnicki">brodnicki</option>\n<option value="bydgoski">bydgoski</option>\n<option value="chelminski">che\u0142mi\u0144ski</option>\n<option value="golubsko-dobrzynski">golubsko-dobrzy\u0144ski</option>\n<option value="grudziadzki">grudzi\u0105dzki</option>\n<option value="inowroclawski">inowroc\u0142awski</option>\n<option value="lipnowski">lipnowski</option>\n<option value="mogilenski">mogile\u0144ski</option>\n<option value="nakielski">nakielski</option>\n<option value="radziejowski">radziejowski</option>\n<option value="rypinski">rypi\u0144ski</option>\n<option value="sepolenski">s\u0119pole\u0144ski</option>\n<option value="swiecki">\u015bwiecki</option>\n<option value="torunski">toru\u0144ski</option>\n<option value="tucholski">tucholski</option>\n<option value="wabrzeski">w\u0105brzeski</option>\n<option value="wloclawski">wroc\u0142awski</option>\n<option value="zninski">\u017ani\u0144ski</option>\n<option value="lublin">Lublin</option>\n<option value="biala-podlaska">Bia\u0142a Podlaska</option>\n<option value="chelm">Che\u0142m</option>\n<option value="zamosc">Zamo\u015b\u0107</option>\n<option value="bialski">bialski</option>\n<option value="bilgorajski">bi\u0142gorajski</option>\n<option value="chelmski">che\u0142mski</option>\n<option value="hrubieszowski">hrubieszowski</option>\n<option value="janowski">janowski</option>\n<option value="krasnostawski">krasnostawski</option>\n<option value="krasnicki">kra\u015bnicki</option>\n<option value="lubartowski">lubartowski</option>\n<option value="lubelski">lubelski</option>\n<option value="leczynski">\u0142\u0119czy\u0144ski</option>\n<option value="lukowski">\u0142ukowski</option>\n<option value="opolski">opolski</option>\n<option value="parczewski">parczewski</option>\n<option value="pulawski">pu\u0142awski</option>\n<option value="radzynski">radzy\u0144ski</option>\n<option value="rycki">rycki</option>\n<option value="swidnicki">\u015bwidnicki</option>\n<option value="tomaszowski">tomaszowski</option>\n<option value="wlodawski">w\u0142odawski</option>\n<option value="zamojski">zamojski</option>\n<option value="gorzow-wielkopolski">Gorz\xf3w Wielkopolski</option>\n<option value="zielona-gora">Zielona G\xf3ra</option>\n<option value="gorzowski">gorzowski</option>\n<option value="krosnienski">kro\u015bnie\u0144ski</option>\n<option value="miedzyrzecki">mi\u0119dzyrzecki</option>\n<option value="nowosolski">nowosolski</option>\n<option value="slubicki">s\u0142ubicki</option>\n<option value="strzelecko-drezdenecki">strzelecko-drezdenecki</option>\n<option value="sulecinski">sule\u0144ci\u0144ski</option>\n<option value="swiebodzinski">\u015bwiebodzi\u0144ski</option>\n<option value="wschowski">wschowski</option>\n<option value="zielonogorski">zielonog\xf3rski</option>\n<option value="zaganski">\u017caga\u0144ski</option>\n<option value="zarski">\u017carski</option>\n<option value="lodz">\u0141\xf3d\u017a</option>\n<option value="piotrkow-trybunalski">Piotrk\xf3w Trybunalski</option>\n<option value="skierniewice">Skierniewice</option>\n<option value="belchatowski">be\u0142chatowski</option>\n<option value="brzezinski">brzezi\u0144ski</option>\n<option value="kutnowski">kutnowski</option>\n<option value="laski">\u0142aski</option>\n<option value="leczycki">\u0142\u0119czycki</option>\n<option value="lowicki">\u0142owicki</option>\n<option value="lodzki wschodni">\u0142\xf3dzki wschodni</option>\n<option value="opoczynski">opoczy\u0144ski</option>\n<option value="pabianicki">pabianicki</option>\n<option value="pajeczanski">paj\u0119cza\u0144ski</option>\n<option value="piotrkowski">piotrkowski</option>\n<option value="poddebicki">podd\u0119bicki</option>\n<option value="radomszczanski">radomszcza\u0144ski</option>\n<option value="rawski">rawski</option>\n<option value="sieradzki">sieradzki</option>\n<option value="skierniewicki">skierniewicki</option>\n<option value="tomaszowski">tomaszowski</option>\n<option value="wielunski">wielu\u0144ski</option>\n<option value="wieruszowski">wieruszowski</option>\n<option value="zdunskowolski">zdu\u0144skowolski</option>\n<option value="zgierski">zgierski</option>\n<option value="krakow">Krak\xf3w</option>\n<option value="tarnow">Tarn\xf3w</option>\n<option value="nowy-sacz">Nowy S\u0105cz</option>\n<option value="bochenski">boche\u0144ski</option>\n<option value="brzeski">brzeski</option>\n<option value="chrzanowski">chrzanowski</option>\n<option value="dabrowski">d\u0105browski</option>\n<option value="gorlicki">gorlicki</option>\n<option value="krakowski">krakowski</option>\n<option value="limanowski">limanowski</option>\n<option value="miechowski">miechowski</option>\n<option value="myslenicki">my\u015blenicki</option>\n<option value="nowosadecki">nowos\u0105decki</option>\n<option value="nowotarski">nowotarski</option>\n<option value="olkuski">olkuski</option>\n<option value="oswiecimski">o\u015bwi\u0119cimski</option>\n<option value="proszowicki">proszowicki</option>\n<option value="suski">suski</option>\n<option value="tarnowski">tarnowski</option>\n<option value="tatrzanski">tatrza\u0144ski</option>\n<option value="wadowicki">wadowicki</option>\n<option value="wielicki">wielicki</option>\n<option value="warszawa">Warszawa</option>\n<option value="ostroleka">Ostro\u0142\u0119ka</option>\n<option value="plock">P\u0142ock</option>\n<option value="radom">Radom</option>\n<option value="siedlce">Siedlce</option>\n<option value="bialobrzeski">bia\u0142obrzeski</option>\n<option value="ciechanowski">ciechanowski</option>\n<option value="garwolinski">garwoli\u0144ski</option>\n<option value="gostyninski">gostyni\u0144ski</option>\n<option value="grodziski">grodziski</option>\n<option value="grojecki">gr\xf3jecki</option>\n<option value="kozienicki">kozenicki</option>\n<option value="legionowski">legionowski</option>\n<option value="lipski">lipski</option>\n<option value="losicki">\u0142osicki</option>\n<option value="makowski">makowski</option>\n<option value="minski">mi\u0144ski</option>\n<option value="mlawski">m\u0142awski</option>\n<option value="nowodworski">nowodworski</option>\n<option value="ostrolecki">ostro\u0142\u0119cki</option>\n<option value="ostrowski">ostrowski</option>\n<option value="otwocki">otwocki</option>\n<option value="piaseczynski">piaseczy\u0144ski</option>\n<option value="plocki">p\u0142ocki</option>\n<option value="plonski">p\u0142o\u0144ski</option>\n<option value="pruszkowski">pruszkowski</option>\n<option value="przasnyski">przasnyski</option>\n<option value="przysuski">przysuski</option>\n<option value="pultuski">pu\u0142tuski</option>\n<option value="radomski">radomski</option>\n<option value="siedlecki">siedlecki</option>\n<option value="sierpecki">sierpecki</option>\n<option value="sochaczewski">sochaczewski</option>\n<option value="sokolowski">soko\u0142owski</option>\n<option value="szydlowiecki">szyd\u0142owiecki</option>\n<option value="warszawski-zachodni">warszawski zachodni</option>\n<option value="wegrowski">w\u0119growski</option>\n<option value="wolominski">wo\u0142omi\u0144ski</option>\n<option value="wyszkowski">wyszkowski</option>\n<option value="zwolenski">zwole\u0144ski</option>\n<option value="zurominski">\u017curomi\u0144ski</option>\n<option value="zyrardowski">\u017cyrardowski</option>\n<option value="opole">Opole</option>\n<option value="brzeski">brzeski</option>\n<option value="glubczycki">g\u0142ubczyski</option>\n<option value="kedzierzynsko-kozielski">k\u0119dzierzy\u0144ski-kozielski</option>\n<option value="kluczborski">kluczborski</option>\n<option value="krapkowicki">krapkowicki</option>\n<option value="namyslowski">namys\u0142owski</option>\n<option value="nyski">nyski</option>\n<option value="oleski">oleski</option>\n<option value="opolski">opolski</option>\n<option value="prudnicki">prudnicki</option>\n<option value="strzelecki">strzelecki</option>\n<option value="rzeszow">Rzesz\xf3w</option>\n<option value="krosno">Krosno</option>\n<option value="przemysl">Przemy\u015bl</option>\n<option value="tarnobrzeg">Tarnobrzeg</option>\n<option value="bieszczadzki">bieszczadzki</option>\n<option value="brzozowski">brzozowski</option>\n<option value="debicki">d\u0119bicki</option>\n<option value="jaroslawski">jaros\u0142awski</option>\n<option value="jasielski">jasielski</option>\n<option value="kolbuszowski">kolbuszowski</option>\n<option value="krosnienski">kro\u015bnie\u0144ski</option>\n<option value="leski">leski</option>\n<option value="lezajski">le\u017cajski</option>\n<option value="lubaczowski">lubaczowski</option>\n<option value="lancucki">\u0142a\u0144cucki</option>\n<option value="mielecki">mielecki</option>\n<option value="nizanski">ni\u017ca\u0144ski</option>\n<option value="przemyski">przemyski</option>\n<option value="przeworski">przeworski</option>\n<option value="ropczycko-sedziszowski">ropczycko-s\u0119dziszowski</option>\n<option value="rzeszowski">rzeszowski</option>\n<option value="sanocki">sanocki</option>\n<option value="stalowowolski">stalowowolski</option>\n<option value="strzyzowski">strzy\u017cowski</option>\n<option value="tarnobrzeski">tarnobrzeski</option>\n<option value="bialystok">Bia\u0142ystok</option>\n<option value="lomza">\u0141om\u017ca</option>\n<option value="suwalki">Suwa\u0142ki</option>\n<option value="augustowski">augustowski</option>\n<option value="bialostocki">bia\u0142ostocki</option>\n<option value="bielski">bielski</option>\n<option value="grajewski">grajewski</option>\n<option value="hajnowski">hajnowski</option>\n<option value="kolnenski">kolne\u0144ski</option>\n<option value="\u0142omzynski">\u0142om\u017cy\u0144ski</option>\n<option value="moniecki">moniecki</option>\n<option value="sejnenski">sejne\u0144ski</option>\n<option value="siemiatycki">siematycki</option>\n<option value="sokolski">sok\xf3lski</option>\n<option value="suwalski">suwalski</option>\n<option value="wysokomazowiecki">wysokomazowiecki</option>\n<option value="zambrowski">zambrowski</option>\n<option value="gdansk">Gda\u0144sk</option>\n<option value="gdynia">Gdynia</option>\n<option value="slupsk">S\u0142upsk</option>\n<option value="sopot">Sopot</option>\n<option value="bytowski">bytowski</option>\n<option value="chojnicki">chojnicki</option>\n<option value="czluchowski">cz\u0142uchowski</option>\n<option value="kartuski">kartuski</option>\n<option value="koscierski">ko\u015bcierski</option>\n<option value="kwidzynski">kwidzy\u0144ski</option>\n<option value="leborski">l\u0119borski</option>\n<option value="malborski">malborski</option>\n<option value="nowodworski">nowodworski</option>\n<option value="gdanski">gda\u0144ski</option>\n<option value="pucki">pucki</option>\n<option value="slupski">s\u0142upski</option>\n<option value="starogardzki">starogardzki</option>\n<option value="sztumski">sztumski</option>\n<option value="tczewski">tczewski</option>\n<option value="wejherowski">wejcherowski</option>\n<option value="katowice" selected="selected">Katowice</option>\n<option value="bielsko-biala">Bielsko-Bia\u0142a</option>\n<option value="bytom">Bytom</option>\n<option value="chorzow">Chorz\xf3w</option>\n<option value="czestochowa">Cz\u0119stochowa</option>\n<option value="dabrowa-gornicza">D\u0105browa G\xf3rnicza</option>\n<option value="gliwice">Gliwice</option>\n<option value="jastrzebie-zdroj">Jastrz\u0119bie Zdr\xf3j</option>\n<option value="jaworzno">Jaworzno</option>\n<option value="myslowice">Mys\u0142owice</option>\n<option value="piekary-slaskie">Piekary \u015al\u0105skie</option>\n<option value="ruda-slaska">Ruda \u015al\u0105ska</option>\n<option value="rybnik">Rybnik</option>\n<option value="siemianowice-slaskie">Siemianowice \u015al\u0105skie</option>\n<option value="sosnowiec">Sosnowiec</option>\n<option value="swietochlowice">\u015awi\u0119toch\u0142owice</option>\n<option value="tychy">Tychy</option>\n<option value="zabrze">Zabrze</option>\n<option value="zory">\u017bory</option>\n<option value="bedzinski">b\u0119dzi\u0144ski</option>\n<option value="bielski">bielski</option>\n<option value="bierunsko-ledzinski">bieru\u0144sko-l\u0119dzi\u0144ski</option>\n<option value="cieszynski">cieszy\u0144ski</option>\n<option value="czestochowski">cz\u0119stochowski</option>\n<option value="gliwicki">gliwicki</option>\n<option value="klobucki">k\u0142obucki</option>\n<option value="lubliniecki">lubliniecki</option>\n<option value="mikolowski">miko\u0142owski</option>\n<option value="myszkowski">myszkowski</option>\n<option value="pszczynski">pszczy\u0144ski</option>\n<option value="raciborski">raciborski</option>\n<option value="rybnicki">rybnicki</option>\n<option value="tarnogorski">tarnog\xf3rski</option>\n<option value="wodzislawski">wodzis\u0142awski</option>\n<option value="zawiercianski">zawiercia\u0144ski</option>\n<option value="zywiecki">\u017cywiecki</option>\n<option value="kielce">Kielce</option>\n<option value="buski">buski</option>\n<option value="jedrzejowski">j\u0119drzejowski</option>\n<option value="kazimierski">kazimierski</option>\n<option value="kielecki">kielecki</option>\n<option value="konecki">konecki</option>\n<option value="opatowski">opatowski</option>\n<option value="ostrowiecki">ostrowiecki</option>\n<option value="pinczowski">pi\u0144czowski</option>\n<option value="sandomierski">sandomierski</option>\n<option value="skarzyski">skar\u017cyski</option>\n<option value="starachowicki">starachowicki</option>\n<option value="staszowski">staszowski</option>\n<option value="wloszczowski">w\u0142oszczowski</option>\n<option value="olsztyn">Olsztyn</option>\n<option value="elblag">Elbl\u0105g</option>\n<option value="bartoszycki">bartoszycki</option>\n<option value="braniewski">braniewski</option>\n<option value="dzialdowski">dzia\u0142dowski</option>\n<option value="elblaski">elbl\u0105ski</option>\n<option value="elcki">e\u0142cki</option>\n<option value="gizycki">gi\u017cycki</option>\n<option value="goldapski">go\u0142dapski</option>\n<option value="ilawski">i\u0142awski</option>\n<option value="ketrzynski">k\u0119trzy\u0144ski</option>\n<option value="lidzbarski">lidzbarski</option>\n<option value="mragowski">mr\u0105gowski</option>\n<option value="nidzicki">nidzicki</option>\n<option value="nowomiejski">nowomiejski</option>\n<option value="olecki">olecki</option>\n<option value="olsztynski">olszty\u0144ski</option>\n<option value="ostrodzki">ostr\xf3dzki</option>\n<option value="piski">piski</option>\n<option value="szczycienski">szczycie\u0144ski</option>\n<option value="wegorzewski">w\u0119gorzewski</option>\n<option value="poznan">Pozna\u0144</option>\n<option value="kalisz">Kalisz</option>\n<option value="konin">Konin</option>\n<option value="leszno">Leszno</option>\n<option value="chodzieski">chodziejski</option>\n<option value="czarnkowsko-trzcianecki">czarnkowsko-trzcianecki</option>\n<option value="gnieznienski">gnie\u017anie\u0144ski</option>\n<option value="gostynski">gosty\u0144ski</option>\n<option value="grodziski">grodziski</option>\n<option value="jarocinski">jaroci\u0144ski</option>\n<option value="kaliski">kaliski</option>\n<option value="kepinski">k\u0119pi\u0144ski</option>\n<option value="kolski">kolski</option>\n<option value="koninski">koni\u0144ski</option>\n<option value="koscianski">ko\u015bcia\u0144ski</option>\n<option value="krotoszynski">krotoszy\u0144ski</option>\n<option value="leszczynski">leszczy\u0144ski</option>\n<option value="miedzychodzki">mi\u0119dzychodzki</option>\n<option value="nowotomyski">nowotomyski</option>\n<option value="obornicki">obornicki</option>\n<option value="ostrowski">ostrowski</option>\n<option value="ostrzeszowski">ostrzeszowski</option>\n<option value="pilski">pilski</option>\n<option value="pleszewski">pleszewski</option>\n<option value="poznanski">pozna\u0144ski</option>\n<option value="rawicki">rawicki</option>\n<option value="slupecki">s\u0142upecki</option>\n<option value="szamotulski">szamotulski</option>\n<option value="sredzki">\u015bredzki</option>\n<option value="sremski">\u015bremski</option>\n<option value="turecki">turecki</option>\n<option value="wagrowiecki">w\u0105growiecki</option>\n<option value="wolsztynski">wolszty\u0144ski</option>\n<option value="wrzesinski">wrzesi\u0144ski</option>\n<option value="zlotowski">z\u0142otowski</option>\n<option value="bialogardzki">bia\u0142ogardzki</option>\n<option value="choszczenski">choszcze\u0144ski</option>\n<option value="drawski">drawski</option>\n<option value="goleniowski">goleniowski</option>\n<option value="gryficki">gryficki</option>\n<option value="gryfinski">gryfi\u0144ski</option>\n<option value="kamienski">kamie\u0144ski</option>\n<option value="kolobrzeski">ko\u0142obrzeski</option>\n<option value="koszalinski">koszali\u0144ski</option>\n<option value="lobeski">\u0142obeski</option>\n<option value="mysliborski">my\u015bliborski</option>\n<option value="policki">policki</option>\n<option value="pyrzycki">pyrzycki</option>\n<option value="slawienski">s\u0142awie\u0144ski</option>\n<option value="stargardzki">stargardzki</option>\n<option value="szczecinecki">szczecinecki</option>\n<option value="swidwinski">\u015bwidwi\u0144ski</option>\n<option value="walecki">wa\u0142ecki</option>\n</select>' + +# PLPostalCodeField ############################################################## + +>>> from django.contrib.localflavor.pl.forms import PLPostalCodeField +>>> f = PLPostalCodeField() +>>> f.clean('43--434') +Traceback (most recent call last): +... +ValidationError: [u'Enter a postal code in the format XX-XXX.'] +>>> f.clean('41-403') +u'41-403' + +# PLTaxNumberField ############################################################### + +>>> from django.contrib.localflavor.pl.forms import PLTaxNumberField +>>> f = PLTaxNumberField() +>>> f.clean('43-343-234-323') +Traceback (most recent call last): +... +ValidationError: [u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.'] +>>> f.clean('43-34-234-323') +u'43-34-234-323' +>>> f.clean('433-344-24-23') +u'433-344-24-23' + +# PLNationalIdentificationNumberField ############################################ +>>> from django.contrib.localflavor.pl.forms import PLNationalIdentificationNumberField +>>> f = PLNationalIdentificationNumberField() +>>> f.clean('80071610614') +u'80071610614' +>>> f.clean('80071610610') +Traceback (most recent call last): +... +ValidationError: [u'Wrong checksum for the National Identification Number.'] +>>> f.clean('80') +Traceback (most recent call last): +... +ValidationError: [u'National Identification Number consists of 11 digits.'] +>>> f.clean('800716106AA') +Traceback (most recent call last): +... +ValidationError: [u'National Identification Number consists of 11 digits.'] +""" |
