Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Fixed #5200 -- Added Polish localflavor. Thanks, Slawek Mikula.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5936 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 90c177f18e9fa57b3239cc3c3e4a0fa10f6a087a 1 parent a901af5
Malcolm Tredinnick authored August 19, 2007
1  AUTHORS
@@ -196,6 +196,7 @@ answer newbie questions, and generally made Django that much better:
196 196
     mccutchen@gmail.com
197 197
     michael.mcewan@gmail.com
198 198
     mikko@sorl.net
  199
+    Slawek Mikula <slawek dot mikula at gmail dot com>
199 200
     mitakummaa@gmail.com
200 201
     mmarshall
201 202
     Andreas Mock <andreas.mock@web.de>
84  django/contrib/localflavor/pl/forms.py
... ...
@@ -0,0 +1,84 @@
  1
+"""
  2
+Polish-specific form helpers
  3
+"""
  4
+
  5
+from django.newforms import ValidationError
  6
+from django.newforms.fields import Select, RegexField
  7
+from django.utils.translation import ugettext as _
  8
+
  9
+class PLVoivodeshipSelect(Select):
  10
+    """
  11
+    A select widget with list of Polish voivodeships (administrative provinces)
  12
+    as choices.
  13
+    """
  14
+    def __init__(self, attrs=None):
  15
+        from pl_voivodeships import VOIVODESHIP_CHOICES
  16
+        super(PLVoivodeshipSelect, self).__init__(attrs, choices=VOIVODESHIP_CHOICES)
  17
+
  18
+class PLAdministrativeUnitSelect(Select):
  19
+    """
  20
+    A select widget with list of Polish administrative units as choices.
  21
+    """
  22
+    def __init__(self, attrs=None):
  23
+        from pl_administrativeunits import ADMINISTRATIVE_UNIT_CHOICES
  24
+        super(PLAdministrativeUnitSelect, self).__init__(attrs, choices=ADMINISTRATIVE_UNIT_CHOICES)
  25
+
  26
+class PLNationalIdentificationNumberField(RegexField):
  27
+    """
  28
+    A form field that validates as Polish Identification Number (PESEL).
  29
+
  30
+    Checks the following rules:
  31
+        * the length consist of 11 digits
  32
+        * has a valid checksum
  33
+
  34
+    The algorithm is documented at http://en.wikipedia.org/wiki/PESEL.
  35
+    """
  36
+
  37
+    def has_valid_checksum(self, number):
  38
+        """
  39
+        Calculates a checksum with the provided algorithm.
  40
+        """
  41
+        multiple_table = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1)
  42
+        result = 0
  43
+        for i in range(len(number)):
  44
+            result += int(number[i])*multiple_table[i]
  45
+
  46
+        if result % 10 == 0:
  47
+            return True
  48
+        else:
  49
+            return False
  50
+
  51
+    def __init__(self, *args, **kwargs):
  52
+        super(PLNationalIdentificationNumberField, self).__init__(r'^\d{11}$',
  53
+            max_length=None, min_length=None, error_message=_(u'National Identification Number consists of 11 digits.'),
  54
+            *args, **kwargs)
  55
+
  56
+    def clean(self,value):
  57
+        super(PLNationalIdentificationNumberField, self).clean(value)
  58
+        if not self.has_valid_checksum(value):
  59
+            raise ValidationError(_(u'Wrong checksum for the National Identification Number.'))
  60
+        return u'%s' % value
  61
+
  62
+
  63
+class PLTaxNumberField(RegexField):
  64
+    """
  65
+    A form field that validates as Polish Tax Number (NIP).
  66
+    Valid forms are: XXX-XXX-YY-YY or XX-XX-YYY-YYY.
  67
+    """
  68
+    def __init__(self, *args, **kwargs):
  69
+        super(PLTaxNumberField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{2}-\d{2}-\d{3}-\d{3}$',
  70
+            max_length=None, min_length=None,
  71
+            error_message=_(u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.'),  *args, **kwargs)
  72
+
  73
+
  74
+class PLPostalCodeField(RegexField):
  75
+    """
  76
+    A form field that validates as Polish postal code.
  77
+    Valid code is XX-XXX where X is digit.
  78
+    """
  79
+    def __init__(self, *args, **kwargs):
  80
+        super(PLPostalCodeField, self).__init__(r'^\d{2}-\d{3}$',
  81
+            max_length=None, min_length=None,
  82
+            error_message=_(u'Enter a postal code in the format XX-XXX.'),
  83
+            *args, **kwargs)
  84
+
385  django/contrib/localflavor/pl/pl_administrativeunits.py
... ...
@@ -0,0 +1,385 @@
  1
+# -*- coding: utf-8 -*-
  2
+"""
  3
+Polish administrative units as in http://pl.wikipedia.org/wiki/Podzia%C5%82_administracyjny_Polski
  4
+"""
  5
+
  6
+
  7
+ADMINISTRATIVE_UNIT_CHOICES = (
  8
+    ('wroclaw', u'Wrocław'),
  9
+    ('jeleniagora', u'Jelenia Góra'),
  10
+    ('legnica', u'Legnica'),
  11
+    ('boleslawiecki', u'bolesławiecki'),
  12
+    ('dzierzoniowski', u'dzierżoniowski'),
  13
+    ('glogowski', u'głogowski'),
  14
+    ('gorowski', u'górowski'),
  15
+    ('jaworski', u'jaworski'),
  16
+    ('jeleniogorski', u'jeleniogórski'),
  17
+    ('kamiennogorski', u'kamiennogórski'),
  18
+    ('klodzki', u'kłodzki'),
  19
+    ('legnicki', u'legnicki'),
  20
+    ('lubanski', u'lubański'),
  21
+    ('lubinski', u'lubiński'),
  22
+    ('lwowecki', u'lwówecki'),
  23
+    ('milicki', u'milicki'),
  24
+    ('olesnicki', u'oleśnicki'),
  25
+    ('olawski', u'oławski'),
  26
+    ('polkowicki', u'polkowicki'),
  27
+    ('strzelinski', u'strzeliński'),
  28
+    ('sredzki', u'średzki'),
  29
+    ('swidnicki', u'świdnicki'),
  30
+    ('trzebnicki', u'trzebnicki'),
  31
+    ('walbrzyski', u'wałbrzyski'),
  32
+    ('wolowski', u'wołowski'),
  33
+    ('wroclawski', u'wrocławski'),
  34
+    ('zabkowicki', u'ząbkowicki'),
  35
+    ('zgorzelecki', u'zgorzelecki'),
  36
+    ('zlotoryjski', u'złotoryjski'),
  37
+    ('bydgoszcz', u'Bydgoszcz'),
  38
+    ('torun', u'Toruń'),
  39
+    ('wloclawek', u'Włocławek'),
  40
+    ('grudziadz', u'Grudziądz'),
  41
+    ('aleksandrowski', u'aleksandrowski'),
  42
+    ('brodnicki', u'brodnicki'),
  43
+    ('bydgoski', u'bydgoski'),
  44
+    ('chelminski', u'chełmiński'),
  45
+    ('golubsko-dobrzynski', u'golubsko-dobrzyński'),
  46
+    ('grudziadzki', u'grudziądzki'),
  47
+    ('inowroclawski', u'inowrocławski'),
  48
+    ('lipnowski', u'lipnowski'),
  49
+    ('mogilenski', u'mogileński'),
  50
+    ('nakielski', u'nakielski'),
  51
+    ('radziejowski', u'radziejowski'),
  52
+    ('rypinski', u'rypiński'),
  53
+    ('sepolenski', u'sępoleński'),
  54
+    ('swiecki', u'świecki'),
  55
+    ('torunski', u'toruński'),
  56
+    ('tucholski', u'tucholski'),
  57
+    ('wabrzeski', u'wąbrzeski'),
  58
+    ('wloclawski', u'wrocławski'),
  59
+    ('zninski', u'źniński'),
  60
+    ('lublin', u'Lublin'),
  61
+    ('biala-podlaska', u'Biała Podlaska'),
  62
+    ('chelm', u'Chełm'),
  63
+    ('zamosc', u'Zamość'),
  64
+    ('bialski', u'bialski'),
  65
+    ('bilgorajski', u'biłgorajski'),
  66
+    ('chelmski', u'chełmski'),
  67
+    ('hrubieszowski', u'hrubieszowski'),
  68
+    ('janowski', u'janowski'),
  69
+    ('krasnostawski', u'krasnostawski'),
  70
+    ('krasnicki', u'kraśnicki'),
  71
+    ('lubartowski', u'lubartowski'),
  72
+    ('lubelski', u'lubelski'),
  73
+    ('leczynski', u'łęczyński'),
  74
+    ('lukowski', u'łukowski'),
  75
+    ('opolski', u'opolski'),
  76
+    ('parczewski', u'parczewski'),
  77
+    ('pulawski', u'puławski'),
  78
+    ('radzynski', u'radzyński'),
  79
+    ('rycki', u'rycki'),
  80
+    ('swidnicki', u'świdnicki'),
  81
+    ('tomaszowski', u'tomaszowski'),
  82
+    ('wlodawski', u'włodawski'),
  83
+    ('zamojski', u'zamojski'),
  84
+    ('gorzow-wielkopolski', u'Gorzów Wielkopolski'),
  85
+    ('zielona-gora', u'Zielona Góra'),
  86
+    ('gorzowski', u'gorzowski'),
  87
+    ('krosnienski', u'krośnieński'),
  88
+    ('miedzyrzecki', u'międzyrzecki'),
  89
+    ('nowosolski', u'nowosolski'),
  90
+    ('slubicki', u'słubicki'),
  91
+    ('strzelecko-drezdenecki', u'strzelecko-drezdenecki'),
  92
+    ('sulecinski', u'suleńciński'),
  93
+    ('swiebodzinski', u'świebodziński'),
  94
+    ('wschowski', u'wschowski'),
  95
+    ('zielonogorski', u'zielonogórski'),
  96
+    ('zaganski', u'żagański'),
  97
+    ('zarski', u'żarski'),
  98
+    ('lodz', u'Łódź'),
  99
+    ('piotrkow-trybunalski', u'Piotrków Trybunalski'),
  100
+    ('skierniewice', u'Skierniewice'),
  101
+    ('belchatowski', u'bełchatowski'),
  102
+    ('brzezinski', u'brzeziński'),
  103
+    ('kutnowski', u'kutnowski'),
  104
+    ('laski', u'łaski'),
  105
+    ('leczycki', u'łęczycki'),
  106
+    ('lowicki', u'łowicki'),
  107
+    ('lodzki wschodni', u'łódzki wschodni'),
  108
+    ('opoczynski', u'opoczyński'),
  109
+    ('pabianicki', u'pabianicki'),
  110
+    ('pajeczanski', u'pajęczański'),
  111
+    ('piotrkowski', u'piotrkowski'),
  112
+    ('poddebicki', u'poddębicki'),
  113
+    ('radomszczanski', u'radomszczański'),
  114
+    ('rawski', u'rawski'),
  115
+    ('sieradzki', u'sieradzki'),
  116
+    ('skierniewicki', u'skierniewicki'),
  117
+    ('tomaszowski', u'tomaszowski'),
  118
+    ('wielunski', u'wieluński'),
  119
+    ('wieruszowski', u'wieruszowski'),
  120
+    ('zdunskowolski', u'zduńskowolski'),
  121
+    ('zgierski', u'zgierski'),
  122
+    ('krakow', u'Kraków'),
  123
+    ('tarnow', u'Tarnów'),
  124
+    ('nowy-sacz', u'Nowy Sącz'),
  125
+    ('bochenski', u'bocheński'),
  126
+    ('brzeski', u'brzeski'),
  127
+    ('chrzanowski', u'chrzanowski'),
  128
+    ('dabrowski', u'dąbrowski'),
  129
+    ('gorlicki', u'gorlicki'),
  130
+    ('krakowski', u'krakowski'),
  131
+    ('limanowski', u'limanowski'),
  132
+    ('miechowski', u'miechowski'),
  133
+    ('myslenicki', u'myślenicki'),
  134
+    ('nowosadecki', u'nowosądecki'),
  135
+    ('nowotarski', u'nowotarski'),
  136
+    ('olkuski', u'olkuski'),
  137
+    ('oswiecimski', u'oświęcimski'),
  138
+    ('proszowicki', u'proszowicki'),
  139
+    ('suski', u'suski'),
  140
+    ('tarnowski', u'tarnowski'),
  141
+    ('tatrzanski', u'tatrzański'),
  142
+    ('wadowicki', u'wadowicki'),
  143
+    ('wielicki', u'wielicki'),
  144
+    ('warszawa', u'Warszawa'),
  145
+    ('ostroleka', u'Ostrołęka'),
  146
+    ('plock', u'Płock'),
  147
+    ('radom', u'Radom'),
  148
+    ('siedlce', u'Siedlce'),
  149
+    ('bialobrzeski', u'białobrzeski'),
  150
+    ('ciechanowski', u'ciechanowski'),
  151
+    ('garwolinski', u'garwoliński'),
  152
+    ('gostyninski', u'gostyniński'),
  153
+    ('grodziski', u'grodziski'),
  154
+    ('grojecki', u'grójecki'),
  155
+    ('kozienicki', u'kozenicki'),
  156
+    ('legionowski', u'legionowski'),
  157
+    ('lipski', u'lipski'),
  158
+    ('losicki', u'łosicki'),
  159
+    ('makowski', u'makowski'),
  160
+    ('minski', u'miński'),
  161
+    ('mlawski', u'mławski'),
  162
+    ('nowodworski', u'nowodworski'),
  163
+    ('ostrolecki', u'ostrołęcki'),
  164
+    ('ostrowski', u'ostrowski'),
  165
+    ('otwocki', u'otwocki'),
  166
+    ('piaseczynski', u'piaseczyński'),
  167
+    ('plocki', u'płocki'),
  168
+    ('plonski', u'płoński'),
  169
+    ('pruszkowski', u'pruszkowski'),
  170
+    ('przasnyski', u'przasnyski'),
  171
+    ('przysuski', u'przysuski'),
  172
+    ('pultuski', u'pułtuski'),
  173
+    ('radomski', u'radomski'),
  174
+    ('siedlecki', u'siedlecki'),
  175
+    ('sierpecki', u'sierpecki'),
  176
+    ('sochaczewski', u'sochaczewski'),
  177
+    ('sokolowski', u'sokołowski'),
  178
+    ('szydlowiecki', u'szydłowiecki'),
  179
+    ('warszawski-zachodni', u'warszawski zachodni'),
  180
+    ('wegrowski', u'węgrowski'),
  181
+    ('wolominski', u'wołomiński'),
  182
+    ('wyszkowski', u'wyszkowski'),
  183
+    ('zwolenski', u'zwoleński'),
  184
+    ('zurominski', u'żuromiński'),
  185
+    ('zyrardowski', u'żyrardowski'),
  186
+    ('opole', u'Opole'),
  187
+    ('brzeski', u'brzeski'),
  188
+    ('glubczycki', u'głubczyski'),
  189
+    ('kedzierzynsko-kozielski', u'kędzierzyński-kozielski'),
  190
+    ('kluczborski', u'kluczborski'),
  191
+    ('krapkowicki', u'krapkowicki'),
  192
+    ('namyslowski', u'namysłowski'),
  193
+    ('nyski', u'nyski'),
  194
+    ('oleski', u'oleski'),
  195
+    ('opolski', u'opolski'),
  196
+    ('prudnicki', u'prudnicki'),
  197
+    ('strzelecki', u'strzelecki'),
  198
+    ('rzeszow', u'Rzeszów'),
  199
+    ('krosno', u'Krosno'),
  200
+    ('przemysl', u'Przemyśl'),
  201
+    ('tarnobrzeg', u'Tarnobrzeg'),
  202
+    ('bieszczadzki', u'bieszczadzki'),
  203
+    ('brzozowski', u'brzozowski'),
  204
+    ('debicki', u'dębicki'),
  205
+    ('jaroslawski', u'jarosławski'),
  206
+    ('jasielski', u'jasielski'),
  207
+    ('kolbuszowski', u'kolbuszowski'),
  208
+    ('krosnienski', u'krośnieński'),
  209
+    ('leski', u'leski'),
  210
+    ('lezajski', u'leżajski'),
  211
+    ('lubaczowski', u'lubaczowski'),
  212
+    ('lancucki', u'łańcucki'),
  213
+    ('mielecki', u'mielecki'),
  214
+    ('nizanski', u'niżański'),
  215
+    ('przemyski', u'przemyski'),
  216
+    ('przeworski', u'przeworski'),
  217
+    ('ropczycko-sedziszowski', u'ropczycko-sędziszowski'),
  218
+    ('rzeszowski', u'rzeszowski'),
  219
+    ('sanocki', u'sanocki'),
  220
+    ('stalowowolski', u'stalowowolski'),
  221
+    ('strzyzowski', u'strzyżowski'),
  222
+    ('tarnobrzeski', u'tarnobrzeski'),
  223
+    ('bialystok', u'Białystok'),
  224
+    ('lomza', u'Łomża'),
  225
+    ('suwalki', u'Suwałki'),
  226
+    ('augustowski', u'augustowski'),
  227
+    ('bialostocki', u'białostocki'),
  228
+    ('bielski', u'bielski'),
  229
+    ('grajewski', u'grajewski'),
  230
+    ('hajnowski', u'hajnowski'),
  231
+    ('kolnenski', u'kolneński'),
  232
+    ('łomzynski', u'łomżyński'),
  233
+    ('moniecki', u'moniecki'),
  234
+    ('sejnenski', u'sejneński'),
  235
+    ('siemiatycki', u'siematycki'),
  236
+    ('sokolski', u'sokólski'),
  237
+    ('suwalski', u'suwalski'),
  238
+    ('wysokomazowiecki', u'wysokomazowiecki'),
  239
+    ('zambrowski', u'zambrowski'),
  240
+    ('gdansk', u'Gdańsk'),
  241
+    ('gdynia', u'Gdynia'),
  242
+    ('slupsk', u'Słupsk'),
  243
+    ('sopot', u'Sopot'),
  244
+    ('bytowski', u'bytowski'),
  245
+    ('chojnicki', u'chojnicki'),
  246
+    ('czluchowski', u'człuchowski'),
  247
+    ('kartuski', u'kartuski'),
  248
+    ('koscierski', u'kościerski'),
  249
+    ('kwidzynski', u'kwidzyński'),
  250
+    ('leborski', u'lęborski'),
  251
+    ('malborski', u'malborski'),
  252
+    ('nowodworski', u'nowodworski'),
  253
+    ('gdanski', u'gdański'),
  254
+    ('pucki', u'pucki'),
  255
+    ('slupski', u'słupski'),
  256
+    ('starogardzki', u'starogardzki'),
  257
+    ('sztumski', u'sztumski'),
  258
+    ('tczewski', u'tczewski'),
  259
+    ('wejherowski', u'wejcherowski'),
  260
+    ('katowice', u'Katowice'),
  261
+    ('bielsko-biala', u'Bielsko-Biała'),
  262
+    ('bytom', u'Bytom'),
  263
+    ('chorzow', u'Chorzów'),
  264
+    ('czestochowa', u'Częstochowa'),
  265
+    ('dabrowa-gornicza', u'Dąbrowa Górnicza'),
  266
+    ('gliwice', u'Gliwice'),
  267
+    ('jastrzebie-zdroj', u'Jastrzębie Zdrój'),
  268
+    ('jaworzno', u'Jaworzno'),
  269
+    ('myslowice', u'Mysłowice'),
  270
+    ('piekary-slaskie', u'Piekary Śląskie'),
  271
+    ('ruda-slaska', u'Ruda Śląska'),
  272
+    ('rybnik', u'Rybnik'),
  273
+    ('siemianowice-slaskie', u'Siemianowice Śląskie'),
  274
+    ('sosnowiec', u'Sosnowiec'),
  275
+    ('swietochlowice', u'Świętochłowice'),
  276
+    ('tychy', u'Tychy'),
  277
+    ('zabrze', u'Zabrze'),
  278
+    ('zory', u'Żory'),
  279
+    ('bedzinski', u'będziński'),
  280
+    ('bielski', u'bielski'),
  281
+    ('bierunsko-ledzinski', u'bieruńsko-lędziński'),
  282
+    ('cieszynski', u'cieszyński'),
  283
+    ('czestochowski', u'częstochowski'),
  284
+    ('gliwicki', u'gliwicki'),
  285
+    ('klobucki', u'kłobucki'),
  286
+    ('lubliniecki', u'lubliniecki'),
  287
+    ('mikolowski', u'mikołowski'),
  288
+    ('myszkowski', u'myszkowski'),
  289
+    ('pszczynski', u'pszczyński'),
  290
+    ('raciborski', u'raciborski'),
  291
+    ('rybnicki', u'rybnicki'),
  292
+    ('tarnogorski', u'tarnogórski'),
  293
+    ('wodzislawski', u'wodzisławski'),
  294
+    ('zawiercianski', u'zawierciański'),
  295
+    ('zywiecki', u'żywiecki'),
  296
+    ('kielce', u'Kielce'),
  297
+    ('buski', u'buski'),
  298
+    ('jedrzejowski', u'jędrzejowski'),
  299
+    ('kazimierski', u'kazimierski'),
  300
+    ('kielecki', u'kielecki'),
  301
+    ('konecki', u'konecki'),
  302
+    ('opatowski', u'opatowski'),
  303
+    ('ostrowiecki', u'ostrowiecki'),
  304
+    ('pinczowski', u'pińczowski'),
  305
+    ('sandomierski', u'sandomierski'),
  306
+    ('skarzyski', u'skarżyski'),
  307
+    ('starachowicki', u'starachowicki'),
  308
+    ('staszowski', u'staszowski'),
  309
+    ('wloszczowski', u'włoszczowski'),
  310
+    ('olsztyn', u'Olsztyn'),
  311
+    ('elblag', u'Elbląg'),
  312
+    ('bartoszycki', u'bartoszycki'),
  313
+    ('braniewski', u'braniewski'),
  314
+    ('dzialdowski', u'działdowski'),
  315
+    ('elblaski', u'elbląski'),
  316
+    ('elcki', u'ełcki'),
  317
+    ('gizycki', u'giżycki'),
  318
+    ('goldapski', u'gołdapski'),
  319
+    ('ilawski', u'iławski'),
  320
+    ('ketrzynski', u'kętrzyński'),
  321
+    ('lidzbarski', u'lidzbarski'),
  322
+    ('mragowski', u'mrągowski'),
  323
+    ('nidzicki', u'nidzicki'),
  324
+    ('nowomiejski', u'nowomiejski'),
  325
+    ('olecki', u'olecki'),
  326
+    ('olsztynski', u'olsztyński'),
  327
+    ('ostrodzki', u'ostródzki'),
  328
+    ('piski', u'piski'),
  329
+    ('szczycienski', u'szczycieński'),
  330
+    ('wegorzewski', u'węgorzewski'),
  331
+    ('poznan', u'Poznań'),
  332
+    ('kalisz', u'Kalisz'),
  333
+    ('konin', u'Konin'),
  334
+    ('leszno', u'Leszno'),
  335
+    ('chodzieski', u'chodziejski'),
  336
+    ('czarnkowsko-trzcianecki', u'czarnkowsko-trzcianecki'),
  337
+    ('gnieznienski', u'gnieźnieński'),
  338
+    ('gostynski', u'gostyński'),
  339
+    ('grodziski', u'grodziski'),
  340
+    ('jarocinski', u'jarociński'),
  341
+    ('kaliski', u'kaliski'),
  342
+    ('kepinski', u'kępiński'),
  343
+    ('kolski', u'kolski'),
  344
+    ('koninski', u'koniński'),
  345
+    ('koscianski', u'kościański'),
  346
+    ('krotoszynski', u'krotoszyński'),
  347
+    ('leszczynski', u'leszczyński'),
  348
+    ('miedzychodzki', u'międzychodzki'),
  349
+    ('nowotomyski', u'nowotomyski'),
  350
+    ('obornicki', u'obornicki'),
  351
+    ('ostrowski', u'ostrowski'),
  352
+    ('ostrzeszowski', u'ostrzeszowski'),
  353
+    ('pilski', u'pilski'),
  354
+    ('pleszewski', u'pleszewski'),
  355
+    ('poznanski', u'poznański'),
  356
+    ('rawicki', u'rawicki'),
  357
+    ('slupecki', u'słupecki'),
  358
+    ('szamotulski', u'szamotulski'),
  359
+    ('sredzki', u'średzki'),
  360
+    ('sremski', u'śremski'),
  361
+    ('turecki', u'turecki'),
  362
+    ('wagrowiecki', u'wągrowiecki'),
  363
+    ('wolsztynski', u'wolsztyński'),
  364
+    ('wrzesinski', u'wrzesiński'),
  365
+    ('zlotowski', u'złotowski'),
  366
+    ('bialogardzki', u'białogardzki'),
  367
+    ('choszczenski', u'choszczeński'),
  368
+    ('drawski', u'drawski'),
  369
+    ('goleniowski', u'goleniowski'),
  370
+    ('gryficki', u'gryficki'),
  371
+    ('gryfinski', u'gryfiński'),
  372
+    ('kamienski', u'kamieński'),
  373
+    ('kolobrzeski', u'kołobrzeski'),
  374
+    ('koszalinski', u'koszaliński'),
  375
+    ('lobeski', u'łobeski'),
  376
+    ('mysliborski', u'myśliborski'),
  377
+    ('policki', u'policki'),
  378
+    ('pyrzycki', u'pyrzycki'),
  379
+    ('slawienski', u'sławieński'),
  380
+    ('stargardzki', u'stargardzki'),
  381
+    ('szczecinecki', u'szczecinecki'),
  382
+    ('swidwinski', u'świdwiński'),
  383
+    ('walecki', u'wałecki'),
  384
+)
  385
+
24  django/contrib/localflavor/pl/pl_voivodeships.py
... ...
@@ -0,0 +1,24 @@
  1
+"""
  2
+Polish voivodeship as in http://en.wikipedia.org/wiki/Poland#Administrative_division
  3
+"""
  4
+
  5
+from django.utils.translation import ugettext_lazy as _
  6
+
  7
+VOIVODESHIP_CHOICES = (
  8
+    ('lower_silesia', _('Lower Silesia')),
  9
+    ('kuyavia-pomerania', _('Kuyavia-Pomerania')),
  10
+    ('lublin', _('Lublin')),
  11
+    ('lubusz', _('Lubusz')),
  12
+    ('lodz', _('Lodz')),
  13
+    ('lesser_poland', _('Lesser Poland')),
  14
+    ('masovia', _('Masovia')),
  15
+    ('opole', _('Opole')),
  16
+    ('subcarpatia', _('Subcarpatia')),
  17
+    ('podlasie', _('Podlasie')),
  18
+    ('pomerania', _('Pomerania')),
  19
+    ('silesia', _('Silesia')),
  20
+    ('swietokrzyskie', _('Swietokrzyskie')),
  21
+    ('warmia-masuria', _('Warmia-Masuria')),
  22
+    ('greater_poland', _('Greater Poland')),
  23
+    ('west_pomerania', _('West Pomerania')),
  24
+)
0  localflavor/pl/__init__.py b/django/contrib/localflavor/pl/__init__.py
No changes.
57  tests/regressiontests/forms/localflavor.py
@@ -1390,5 +1390,60 @@
1390 1390
 >>> w.render('Districts', 'RK')
1391 1391
 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>'
1392 1392
 
1393  
-"""
  1393
+# PLVoivodeshipSelect ##########################################################
  1394
+
  1395
+>>> from django.contrib.localflavor.pl.forms import PLVoivodeshipSelect
  1396
+>>> f = PLVoivodeshipSelect()
  1397
+>>> f.render('voivodeships','pomerania')
  1398
+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>'
  1399
+
  1400
+# PLAdministrativeUnitSelect ##########################################################
  1401
+
  1402
+>>> from django.contrib.localflavor.pl.forms import PLAdministrativeUnitSelect
  1403
+>>> f = PLAdministrativeUnitSelect()
  1404
+>>> f.render('administrativeunit','katowice')
  1405
+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>'
  1406
+
  1407
+# PLPostalCodeField ##############################################################
  1408
+
  1409
+>>> from django.contrib.localflavor.pl.forms import PLPostalCodeField
  1410
+>>> f = PLPostalCodeField()
  1411
+>>> f.clean('43--434')
  1412
+Traceback (most recent call last):
  1413
+...
  1414
+ValidationError: [u'Enter a postal code in the format XX-XXX.']
  1415
+>>> f.clean('41-403')
  1416
+u'41-403'
  1417
+
  1418
+# PLTaxNumberField ###############################################################
  1419
+
  1420
+>>> from django.contrib.localflavor.pl.forms import PLTaxNumberField
  1421
+>>> f = PLTaxNumberField()
  1422
+>>> f.clean('43-343-234-323')
  1423
+Traceback (most recent call last):
  1424
+...
  1425
+ValidationError: [u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.']
  1426
+>>> f.clean('43-34-234-323')
  1427
+u'43-34-234-323'
  1428
+>>> f.clean('433-344-24-23')
  1429
+u'433-344-24-23'
  1430
+
  1431
+# PLNationalIdentificationNumberField ############################################
1394 1432
 
  1433
+>>> from django.contrib.localflavor.pl.forms import PLNationalIdentificationNumberField
  1434
+>>> f =  PLNationalIdentificationNumberField()
  1435
+>>> f.clean('80071610614')
  1436
+u'80071610614'
  1437
+>>> f.clean('80071610610')
  1438
+Traceback (most recent call last):
  1439
+...
  1440
+ValidationError: [u'Wrong checksum for the National Identification Number.']
  1441
+>>> f.clean('80')
  1442
+Traceback (most recent call last):
  1443
+...
  1444
+ValidationError: [u'National Identification Number consists of 11 digits.']
  1445
+>>> f.clean('800716106AA')
  1446
+Traceback (most recent call last):
  1447
+...
  1448
+ValidationError: [u'National Identification Number consists of 11 digits.']
  1449
+"""

0 notes on commit 90c177f

Please sign in to comment.
Something went wrong with that request. Please try again.