Fixed #3925 -- Added Slovak localflavor items. Thanks, Martin Kosír.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5724 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9ff1060391
commit
f5ef3bec68
|
@ -0,0 +1,41 @@
|
||||||
|
"""
|
||||||
|
Slovak-specific form helpers
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.newforms.fields import Select, RegexField
|
||||||
|
from django.utils.translation import ugettext
|
||||||
|
|
||||||
|
class SKRegionSelect(Select):
|
||||||
|
"""
|
||||||
|
A select widget widget with list of Slovak regions as choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from sk_regions import REGION_CHOICES
|
||||||
|
super(SKRegionSelect, self).__init__(attrs, choices=REGION_CHOICES)
|
||||||
|
|
||||||
|
class SKDistrictSelect(Select):
|
||||||
|
"""
|
||||||
|
A select widget with list of Slovak districts as choices.
|
||||||
|
"""
|
||||||
|
def __init__(self, attrs=None):
|
||||||
|
from sk_districts import DISTRICT_CHOICES
|
||||||
|
super(SKDistrictSelect, self).__init__(attrs, choices=DISTRICT_CHOICES)
|
||||||
|
|
||||||
|
class SKPostalCodeField(RegexField):
|
||||||
|
"""
|
||||||
|
A form field that validates its input as Slovak postal code.
|
||||||
|
Valid form is XXXXX or XXX XX, where X represents integer.
|
||||||
|
"""
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(SKPostalCodeField, self).__init__(r'^\d{5}$|^\d{3} \d{2}$',
|
||||||
|
max_length=None, min_length=None,
|
||||||
|
error_message=ugettext(u'Enter a postal code in the format XXXXX or XXX XX.'),
|
||||||
|
*args, **kwargs)
|
||||||
|
|
||||||
|
def clean(self, value):
|
||||||
|
"""
|
||||||
|
Validates the input and returns a string that contains only numbers.
|
||||||
|
Returns an empty string for empty values.
|
||||||
|
"""
|
||||||
|
v = super(SKPostalCodeField, self).clean(value)
|
||||||
|
return v.replace(' ', '')
|
|
@ -0,0 +1,87 @@
|
||||||
|
"""
|
||||||
|
Slovak districts according to http://sk.wikipedia.org/wiki/Administrat%C3%ADvne_%C4%8Dlenenie_Slovenska
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
DISTRICT_CHOICES = (
|
||||||
|
('BB', _('Banska Bystrica')),
|
||||||
|
('BS', _('Banska Stiavnica')),
|
||||||
|
('BJ', _('Bardejov')),
|
||||||
|
('BN', _('Banovce nad Bebravou')),
|
||||||
|
('BR', _('Brezno')),
|
||||||
|
('BA1', _('Bratislava I')),
|
||||||
|
('BA2', _('Bratislava II')),
|
||||||
|
('BA3', _('Bratislava III')),
|
||||||
|
('BA4', _('Bratislava IV')),
|
||||||
|
('BA5', _('Bratislava V')),
|
||||||
|
('BY', _('Bytca')),
|
||||||
|
('CA', _('Cadca')),
|
||||||
|
('DT', _('Detva')),
|
||||||
|
('DK', _('Dolny Kubin')),
|
||||||
|
('DS', _('Dunajska Streda')),
|
||||||
|
('GA', _('Galanta')),
|
||||||
|
('GL', _('Gelnica')),
|
||||||
|
('HC', _('Hlohovec')),
|
||||||
|
('HE', _('Humenne')),
|
||||||
|
('IL', _('Ilava')),
|
||||||
|
('KK', _('Kezmarok')),
|
||||||
|
('KN', _('Komarno')),
|
||||||
|
('KE1', _('Kosice I')),
|
||||||
|
('KE2', _('Kosice II')),
|
||||||
|
('KE3', _('Kosice III')),
|
||||||
|
('KE4', _('Kosice IV')),
|
||||||
|
('KEO', _('Kosice - okolie')),
|
||||||
|
('KA', _('Krupina')),
|
||||||
|
('KM', _('Kysucke Nove Mesto')),
|
||||||
|
('LV', _('Levice')),
|
||||||
|
('LE', _('Levoca')),
|
||||||
|
('LM', _('Liptovsky Mikulas')),
|
||||||
|
('LC', _('Lucenec')),
|
||||||
|
('MA', _('Malacky')),
|
||||||
|
('MT', _('Martin')),
|
||||||
|
('ML', _('Medzilaborce')),
|
||||||
|
('MI', _('Michalovce')),
|
||||||
|
('MY', _('Myjava')),
|
||||||
|
('NO', _('Namestovo')),
|
||||||
|
('NR', _('Nitra')),
|
||||||
|
('NM', _('Nove Mesto nad Vahom')),
|
||||||
|
('NZ', _('Nove Zamky')),
|
||||||
|
('PE', _('Partizanske')),
|
||||||
|
('PK', _('Pezinok')),
|
||||||
|
('PN', _('Piestany')),
|
||||||
|
('PT', _('Poltar')),
|
||||||
|
('PP', _('Poprad')),
|
||||||
|
('PB', _('Povazska Bystrica')),
|
||||||
|
('PO', _('Presov')),
|
||||||
|
('PD', _('Prievidza')),
|
||||||
|
('PU', _('Puchov')),
|
||||||
|
('RA', _('Revuca')),
|
||||||
|
('RS', _('Rimavska Sobota')),
|
||||||
|
('RV', _('Roznava')),
|
||||||
|
('RK', _('Ruzomberok')),
|
||||||
|
('SB', _('Sabinov')),
|
||||||
|
('SC', _('Senec')),
|
||||||
|
('SE', _('Senica')),
|
||||||
|
('SI', _('Skalica')),
|
||||||
|
('SV', _('Snina')),
|
||||||
|
('SO', _('Sobrance')),
|
||||||
|
('SN', _('Spisska Nova Ves')),
|
||||||
|
('SL', _('Stara Lubovna')),
|
||||||
|
('SP', _('Stropkov')),
|
||||||
|
('SK', _('Svidnik')),
|
||||||
|
('SA', _('Sala')),
|
||||||
|
('TO', _('Topolcany')),
|
||||||
|
('TV', _('Trebisov')),
|
||||||
|
('TN', _('Trencin')),
|
||||||
|
('TT', _('Trnava')),
|
||||||
|
('TR', _('Turcianske Teplice')),
|
||||||
|
('TS', _('Tvrdosin')),
|
||||||
|
('VK', _('Velky Krtis')),
|
||||||
|
('VT', _('Vranov nad Toplou')),
|
||||||
|
('ZM', _('Zlate Moravce')),
|
||||||
|
('ZV', _('Zvolen')),
|
||||||
|
('ZC', _('Zarnovica')),
|
||||||
|
('ZH', _('Ziar nad Hronom')),
|
||||||
|
('ZA', _('Zilina')),
|
||||||
|
)
|
|
@ -0,0 +1,16 @@
|
||||||
|
"""
|
||||||
|
Slovak regions according to http://sk.wikipedia.org/wiki/Administrat%C3%ADvne_%C4%8Dlenenie_Slovenska
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
REGION_CHOICES = (
|
||||||
|
('BB', _('Banska Bystrica region')),
|
||||||
|
('BA', _('Bratislava region')),
|
||||||
|
('KE', _('Kosice region')),
|
||||||
|
('NR', _('Nitra region')),
|
||||||
|
('PO', _('Presov region')),
|
||||||
|
('TN', _('Trencin region')),
|
||||||
|
('TT', _('Trnava region')),
|
||||||
|
('ZA', _('Zilina region')),
|
||||||
|
)
|
|
@ -1363,5 +1363,32 @@ ValidationError: [u'Enter valid a Chilean RUT. The format is XX.XXX.XXX-X.']
|
||||||
>>> f.render('foo', 'bar')
|
>>> f.render('foo', 'bar')
|
||||||
u'<select name="foo">\n<option value="RM">Regi\xf3n Metropolitana de Santiago</option>\n<option value="I">Regi\xf3n de Tarapac\xe1</option>\n<option value="II">Regi\xf3n de Antofagasta</option>\n<option value="III">Regi\xf3n de Atacama</option>\n<option value="IV">Regi\xf3n de Coquimbo</option>\n<option value="V">Regi\xf3n de Valpara\xedso</option>\n<option value="VI">Regi\xf3n del Libertador Bernardo O'Higgins</option>\n<option value="VII">Regi\xf3n del Maule</option>\n<option value="VIII">Regi\xf3n del B\xedo B\xedo</option>\n<option value="IX">Regi\xf3n de la Araucan\xeda</option>\n<option value="X">Regi\xf3n de los Lagos</option>\n<option value="XI">Regi\xf3n de Ays\xe9n del General Carlos Ib\xe1\xf1ez del Campo</option>\n<option value="XII">Regi\xf3n de Magallanes y la Ant\xe1rtica Chilena</option>\n<option value="XIV">Regi\xf3n de Los R\xedos</option>\n<option value="XV">Regi\xf3n de Arica-Parinacota</option>\n</select>'
|
u'<select name="foo">\n<option value="RM">Regi\xf3n Metropolitana de Santiago</option>\n<option value="I">Regi\xf3n de Tarapac\xe1</option>\n<option value="II">Regi\xf3n de Antofagasta</option>\n<option value="III">Regi\xf3n de Atacama</option>\n<option value="IV">Regi\xf3n de Coquimbo</option>\n<option value="V">Regi\xf3n de Valpara\xedso</option>\n<option value="VI">Regi\xf3n del Libertador Bernardo O'Higgins</option>\n<option value="VII">Regi\xf3n del Maule</option>\n<option value="VIII">Regi\xf3n del B\xedo B\xedo</option>\n<option value="IX">Regi\xf3n de la Araucan\xeda</option>\n<option value="X">Regi\xf3n de los Lagos</option>\n<option value="XI">Regi\xf3n de Ays\xe9n del General Carlos Ib\xe1\xf1ez del Campo</option>\n<option value="XII">Regi\xf3n de Magallanes y la Ant\xe1rtica Chilena</option>\n<option value="XIV">Regi\xf3n de Los R\xedos</option>\n<option value="XV">Regi\xf3n de Arica-Parinacota</option>\n</select>'
|
||||||
|
|
||||||
|
# SKPostalCodeField #########################################################
|
||||||
|
|
||||||
|
>>> from django.contrib.localflavor.sk.forms import SKPostalCodeField
|
||||||
|
>>> f = SKPostalCodeField()
|
||||||
|
>>> f.clean('84545x')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||||
|
>>> f.clean('91909')
|
||||||
|
u'91909'
|
||||||
|
>>> f.clean('917 01')
|
||||||
|
u'91701'
|
||||||
|
|
||||||
|
# SKRegionSelect ############################################################
|
||||||
|
|
||||||
|
>>> from django.contrib.localflavor.sk.forms import SKRegionSelect
|
||||||
|
>>> w = SKRegionSelect()
|
||||||
|
>>> w.render('regions', 'TT')
|
||||||
|
u'<select name="regions">\n<option value="BB">Banska Bystrica region</option>\n<option value="BA">Bratislava region</option>\n<option value="KE">Kosice region</option>\n<option value="NR">Nitra region</option>\n<option value="PO">Presov region</option>\n<option value="TN">Trencin region</option>\n<option value="TT" selected="selected">Trnava region</option>\n<option value="ZA">Zilina region</option>\n</select>'
|
||||||
|
|
||||||
|
# SKDistrictSelect ##########################################################
|
||||||
|
|
||||||
|
>>> from django.contrib.localflavor.sk.forms import SKDistrictSelect
|
||||||
|
>>> w = SKDistrictSelect()
|
||||||
|
>>> 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>'
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue